예제 #1
0
 def get_action(self, edit=False):
     action = Ai.get_action(self, edit=edit)
     self.unit.acted = True
     if action.name == 'ability':
         if action.ability.name == 'wing_clap':
             return
         if action.ability.name == 'take_air':
             self.unit.breathing = self.fight.turn
     if self.unit.energy > 2 and self.unit.hp < self.unit.max_hp/2:
         Ai.get_action(self, edit=edit)
         if action.name == 'ability':
             if action.ability.name == 'take_air':
                 self.unit.breathing = self.fight.turn
예제 #2
0
    def get_action(self, edit=False):
        action = Ai.get_action(self, edit=edit)
        if action.name == 'ability':
            if action.ability.name is 'ogre_charge':
                self.unit.target = random.choice([
                    trgt for trgt in self.unit.targets()
                    if trgt not in self.unit.melee_targets
                ])
                # self.unit.announce(self.unit.to_string('skill_2', format_dict={'target': self.unit.target.name}))
                return
            elif action.ability.name is 'ogre_grab':
                # self.unit.announce(self.unit.to_string('skill_2', format_dict={'target': self.unit.target.name}))
                return

        elif engine.roll_chance(50) and action.name == 'melee_reload':
            self.unit.announce(self.unit.to_string('skill_1'))