コード例 #1
0
ファイル: malignosis.py プロジェクト: dmoggles/modules
    def __init__(self, realm, afftracker):

        self.ready = True
        self.realm = realm
        self.afftracker = afftracker
        self.priority = AfflictionPriority('daegger', realm.name, realm)
        self.priority.load_priorities('default')
        self.toxin = ''
コード例 #2
0
ファイル: evileye.py プロジェクト: dmoggles/modules
class EvileyePriorityList(EvileyeCombo):
    def __init__(self, realm, affliction_tracker):
        EvileyeCombo.__init__(self,realm, affliction_tracker)
        self.priority_manager = AfflictionPriority('evileye',realm.factory.name, realm)
        self.priority_manager.load_priorities('default')
        self.tracker.apply_priorities(self.priority_manager.get_priorities())
        
        
     
    
    
    @property
    def aliases(self):
        #return [self.load_priorities]
        return [self.load_priorities]+EvileyeCombo.aliases.fget(self)
    @binding_alias('^ee priority (\w+)$')
    def load_priorities(self,match,realm):
        group=match.group(1)
        realm.cwrite('Loading evileye priority group %s'%group)
        realm.send_to_mud=False
        self.priority_manager.load_priorities(group)
        self.tracker.apply_priorities(self.priority_manager.get_priorities())   
        
    def get_combo(self, target):
        if self.breacher.get_warded(target):
            affs=self.priority_manager.get_afflictions(self.tracker.tracker(target), 1)
            return 'deadeyes %s breach %s'%(target, affs[0])
        else:
            affs=self.priority_manager.get_afflictions(self.tracker.tracker(target), 2)
            if len(affs)==2:
                return 'deadeyes %s %s %s'%(target, affs[0],affs[1])
            elif len(affs)==1:
                return 'stare %s %s'%(target, affs[0])
            else:
                return ''
コード例 #3
0
ファイル: malignosis.py プロジェクト: dmoggles/modules
 def __init__(self, realm, afftracker):
     
     self.ready=True
     self.realm=realm
     self.afftracker=afftracker
     self.priority=AfflictionPriority('daegger',realm.name,realm)
     self.priority.load_priorities('default')
     self.toxin=''
コード例 #4
0
ファイル: evileye.py プロジェクト: dmoggles/modules
 def __init__(self, realm, affliction_tracker):
     EvileyeCombo.__init__(self,realm, affliction_tracker)
     self.priority_manager = AfflictionPriority('evileye',realm.factory.name, realm)
     self.priority_manager.load_priorities('default')
     self.tracker.apply_priorities(self.priority_manager.get_priorities())
コード例 #5
0
ファイル: malignosis.py プロジェクト: dmoggles/modules
class Daegger(EarlyInitialisingModule):
    def __init__(self, realm, afftracker):

        self.ready = True
        self.realm = realm
        self.afftracker = afftracker
        self.priority = AfflictionPriority('daegger', realm.name, realm)
        self.priority.load_priorities('default')
        self.toxin = ''

    @property
    def triggers(self):
        return [self.daegger_hunt, self.daegger_ready, self.hunt_hit]

    @property
    def aliases(self):
        return [self.summon_daegger, self.hunt, self.shadow_strikes]

    @binding_trigger(
        "^(\w+) winces as a toxin from the daegger seeps into (?:his|her) body\.$"
    )
    def hunt_hit(self, match, realm):
        person = match.group(1).lower()
        target = realm.root.get_state('target').lower()
        if person == target:
            self.afftracker.tracker(target).add_aff(self.toxin)
            self.toxin = ''

    def next_toxin_physical(self):
        self.toxin = ''
        target = self.realm.get_state('target')
        tracker = self.afftracker.tracker(target)
        if not tracker['hemotoxin'].on and tracker.time_to_next_purge() < 8:
            self.toxin = 'hemotoxin'
            return self.toxin
        if not tracker['slickness'].on and (
                tracker['asthma'].on and tracker['anorexia'].on and
            (tracker['hemotoxin'].on or tracker.pboc)):
            self.toxin = 'iodine'
            return self.toxin
        if not tracker['metrazol'].on:
            self.toxin = 'metrazol'
            return self.toxin
        if not tracker['sunallergy'].on:
            self.toxin = 'xeroderma'
            return self.toxin
        if not (tracker['paralysis'].on or tracker['numbness'].on):
            self.toxin = 'ciguatoxin'
            return self.toxin
        #if not tracker['recklessness'].on:

        if not tracker['weariness'].on:
            self.toxin = 'arsenic'
            return self.toxin
        if not tracker['clumsiness'].on:
            self.toxin = 'ether'
            return self.toxin

        if not tracker['vomiting'].on:
            self.toxin = 'botulinum'
            return self.toxin
        if not tracker['slow balance'].on:
            self.toxin = 'noctec'
            return self.toxin
        if not tracker['slow herbs'].on:
            self.toxin = 'maznor'
            return self.toxin
        if not tracker['calotropis'].on:
            self.toxin = 'calotropis'
            return self.toxin
        if not tracker['butisol'].on:
            self.toxin = 'butisol'
            return self.toxin
        if not tracker['slow elixirs'].on:
            self.toxin = 'luminal'
            return self.toxin
        if not tracker['sunallergy'].on:
            self.toxin = 'xeroderma'
            return self.toxin

        self.toxin = 'benzene'
        return self.toxin

    def next_toxin(self):
        self.toxin = ''
        target = self.realm.get_state('target')
        tracker = self.afftracker.tracker(target)
        if not tracker['hemotoxin'].on and tracker.time_to_next_purge() < 5:
            self.toxin = 'hemotoxin'
        else:
            toxins = self.priority.get_afflictions(tracker, 1)
            if len(toxins) == 1:
                self.toxin = toxins[0]
        return self.toxin

    @binding_alias('^daeg$')
    def summon_daegger(self, match, realm):
        realm.send_to_mud = False
        realm.send('queue eqbal summon daegger|attach wriststrap to daegger')

    @binding_alias('^dh$')
    def hunt(self, match, realm):
        realm.send_to_mud = False
        target = realm.root.state['target']
        toxin = self.next_toxin()
        realm.send('daegger hunt %s %s' % (target, toxin))

    @binding_alias('^dss$')
    def shadow_strikes(self, match, realm):
        realm.send_to_mud = False
        target = realm.root.state['target']
        realm.send('daegger shadowstrike %s' % target)

    @binding_trigger('^"Hunt!" you order your daegger\.$')
    def daegger_hunt(self, match, realm):
        realm.display_line = False
        realm.cwrite('<black:cyan>---- DAEGGER HUNT ----')
        self.ready = False
        self.timed_ready = realm.root.set_timer(12, self._daegger_ready)

    @binding_trigger('^The daegger is again ready to hunt its prey\.$')
    def daegger_ready(self, match, realm):
        realm.display_group = False
        realm.cwrite('<white*:cyan>++++ DAEGGER READY ++++')
        self._daegger_ready(realm.root)

    def _daegger_ready(self, realm):
        if not self.ready:
            self.ready = True
            realm.cwrite('<white*:cyan>+++++ DAEGGER READY +++++')
コード例 #6
0
ファイル: malignosis.py プロジェクト: dmoggles/modules
class Daegger(EarlyInitialisingModule):
    
    def __init__(self, realm, afftracker):
        
        self.ready=True
        self.realm=realm
        self.afftracker=afftracker
        self.priority=AfflictionPriority('daegger',realm.name,realm)
        self.priority.load_priorities('default')
        self.toxin=''
        
    @property
    def triggers(self):
        return [self.daegger_hunt, self.daegger_ready,self.hunt_hit]
    @property
    def aliases(self):
        return [self.summon_daegger, self.hunt,
                self.shadow_strikes]
    
    @binding_trigger("^(\w+) winces as a toxin from the daegger seeps into (?:his|her) body\.$")
    def hunt_hit(self,match,realm):
        person=match.group(1).lower()
        target=realm.root.get_state('target').lower()
        if person==target:
            self.afftracker.tracker(target).add_aff(self.toxin)
            self.toxin=''
    
    def next_toxin_physical(self):
        self.toxin = ''
        target=self.realm.get_state('target')
        tracker=self.afftracker.tracker(target)
        if not tracker['hemotoxin'].on and tracker.time_to_next_purge() < 8:
            self.toxin='hemotoxin'
            return self.toxin
        if not tracker['slickness'].on and (tracker['asthma'].on and tracker['anorexia'].on and 
                                            (tracker['hemotoxin'].on or tracker.pboc)):
            self.toxin='iodine'
            return self.toxin
        if not tracker['metrazol'].on:
            self.toxin='metrazol'
            return self.toxin
        if not tracker['sunallergy'].on:
            self.toxin = 'xeroderma'
            return self.toxin
        if not (tracker['paralysis'].on or tracker['numbness'].on):
            self.toxin = 'ciguatoxin'
            return self.toxin 
        #if not tracker['recklessness'].on:
            
        if not tracker['weariness'].on:
            self.toxin='arsenic'
            return self.toxin
        if not tracker['clumsiness'].on:
            self.toxin='ether'
            return self.toxin
        
        if not tracker['vomiting'].on:
            self.toxin='botulinum'
            return self.toxin
        if not tracker['slow balance'].on:
            self.toxin='noctec'
            return self.toxin
        if not tracker['slow herbs'].on:
            self.toxin = 'maznor'
            return self.toxin
        if not tracker['calotropis'].on:
            self.toxin='calotropis'
            return self.toxin
        if not tracker['butisol'].on:
            self.toxin='butisol'
            return self.toxin
        if not tracker['slow elixirs'].on:
            self.toxin='luminal'
            return self.toxin
        if not tracker['sunallergy'].on:
            self.toxin='xeroderma'
            return self.toxin
        
        self.toxin='benzene'
        return self.toxin
            
    
    
    def next_toxin(self):
        self.toxin=''
        target=self.realm.get_state('target')
        tracker = self.afftracker.tracker(target)
        if not tracker['hemotoxin'].on and tracker.time_to_next_purge()<5:
            self.toxin= 'hemotoxin'
        else:
            toxins=self.priority.get_afflictions(tracker, 1)
            if len(toxins)==1:
                self.toxin=toxins[0]
        return self.toxin

    @binding_alias('^daeg$')
    def summon_daegger(self,match,realm):
        realm.send_to_mud=False
        realm.send('queue eqbal summon daegger|attach wriststrap to daegger')
    
    @binding_alias('^dh$')
    def hunt(self, match,realm):
        realm.send_to_mud=False
        target=realm.root.state['target']
        toxin=self.next_toxin()
        realm.send('daegger hunt %s %s'%(target,toxin))
     
    @binding_alias('^dss$')
    def shadow_strikes(self,match,realm):
        realm.send_to_mud=False
        target= realm.root.state['target']
        realm.send('daegger shadowstrike %s'%target)
         
        
    @binding_trigger('^"Hunt!" you order your daegger\.$')
    def daegger_hunt(self,match,realm):
        realm.display_line=False
        realm.cwrite('<black:cyan>---- DAEGGER HUNT ----')
        self.ready=False
        self.timed_ready=realm.root.set_timer(12, self._daegger_ready)
        
    @binding_trigger('^The daegger is again ready to hunt its prey\.$')
    def daegger_ready(self,match,realm):
        realm.display_group=False
        realm.cwrite('<white*:cyan>++++ DAEGGER READY ++++')
        self._daegger_ready(realm.root)
        
    def _daegger_ready(self, realm):
        if not self.ready:
            self.ready=True
            realm.cwrite('<white*:cyan>+++++ DAEGGER READY +++++')