def start_special_action(self, info): self.unit.target = self.unit.fight[info[-1]] if self.special_available(target=self.unit.target): self.unit.fight.edit_queue(standart_actions.SpecialAttack(unit=self.unit, fight=self.unit.fight, info=info, order=self.order, energy_cost=self.special_energy_cost)) else: self.unit.fight.edit_queue(standart_actions.Attack(unit=self.unit, fight=self.unit.fight, info=info))
def activate_special_action(self, info): attack = standart_actions.SpecialAttack( unit=self.unit, fight=self.unit.fight, info=None, order=self.order, energy_cost=self.special_energy_cost) attack.activate() statuses.LostWeapon(self.unit)
def counterattack(self, target): self.unit.melee_accuracy += 2 self.unit.target = target x = standart_actions.SpecialAttack(self.unit, self.unit.fight, order=6, info=None, energy_cost=None) x.activate() self.unit.melee_accuracy -= 2