Example #1
0
 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
Example #2
0
 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)
Example #3
0
 def wear_off(self):
     self.string('end', format_dict={'actor': self.unit.name})
     statuses.Stun(self.unit)
Example #4
0
 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'])
Example #5
0
 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'])