def second_stage(self): self.use() statuses.Burning(self.target, 2 + int(self.unit.spell_damage / 2)) self.string('use', format_dict={ 'actor': self.unit.name, 'target': self.target.name })
def fire_breath(ability, action): unit = action.unit unit.waste_energy(2) damage = random.randint(8, 10) target = random.choice(unit.targets()) if 'dodge' in target.action: unit.string('skill_4', format_dict={'actor': unit.name, 'target': target.name}) else: unit.string('skill_1', format_dict={'actor': unit.name, 'target': target.name}) if 'shield' not in target.action: statuses.Burning(target, stacks=damage)
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 activate(self, action): targets = self.unit.targets() if len(targets) == 1: self.string('special', format_dict={ 'actor': self.unit.name, 'targets': targets[0].name }) else: targets = random.sample(targets, 2) self.string('use', format_dict={ 'actor': self.unit.name, 'target_0': targets[0].name, 'target_1': targets[1].name }) for target in targets: statuses.Burning(target, 2)
def second_stage(self): self.use() damage = random.randint(4, 6) + self.spell_damage targets = self.unit.targets() self.string('use', format_dict={'actor': self.unit.name}) damage_spread = engine.aoe_split(damage, len(targets)) damage_index = 0 for target in targets: damage = damage_spread[damage_index] damage_index += 1 if not damage: pass elif 'dodge' not in target.action: self.dmg_done = damage self.target = target target.receive_spell(self) if self.dmg_done: self.string('use_1', format_dict={'target': target.name, 'damage': self.dmg_done}) if engine.roll_chance(50): statuses.Burning(self.target, stacks=2 + int(self.spell_damage/2)) else: self.string('use_2', format_dict={'target': target.name})
def activate(self, action): targets = self.actor.targets() self.string('use', format_dict={'actor': self.actor.name}) for target in targets: statuses.Burning(target, stacks=5)
def on_hit(self, attack_action): if attack_action.dmg_done: statuses.Burning(attack_action.actor.target) attack_action.to_emotes(emoji_utils.emote_dict['fire_em'])
def on_hit(self, action): if self.burning and action.dmg_done: statuses.Burning(action.actor.target) action.to_emotes(emoji_utils.emote_dict['fire_em'])
def cast_spell(self): statuses.Burning(self.target, 3 + int(self.spell_damage)) self.string('use', format_dict={'actor': self.unit.name, 'target': self.target.name})