def on_hit(self, action): if engine.roll_chance((self.heat - 4) * 5): if engine.roll_chance(50): if action.dmg_done: action.dmg_done = action.dmg_done * 2 statuses.Burning(action.target) action.str = 'special' else: action.dmg_done = 0 self.unit.dmg_received += 1 statuses.Stun(action.actor) action.str = 'special_1' self.heat = 0 self.heat += self.heating
def on_attack(new): standart_actions.BaseAttack.on_attack(new) if engine.roll_chance(self.stun_chance) and new.dmg_done: new.to_emotes(emoji_utils.emote_dict['stun_em']) statuses.Stun(new.target)
def wear_off(self): self.string('end', format_dict={'actor': self.unit.name}) statuses.Stun(self.unit)
def on_hit(self, attack_action): if attack_action.dmg_done and engine.roll_chance(self.stun_chance): statuses.Stun(attack_action.target) attack_action.to_emotes(emoji_utils.emote_dict['stun_em'])
def effect_resolve(self, attack_action): self.effect_chance -= 10 * attack_action.dmg_blocked statuses.Stun(attack_action.target) attack_action.to_emotes(emoji_utils.emote_dict['stun_em'])