def description(self): if self.type == 68: return Describe.skyfall(self.attributes, self.chance, self.min_turns, self.max_turns) elif self.type == 96: return Describe.skyfall(self.attributes, self.chance, self.min_turns, self.max_turns, True)
def description(self): desc = Describe.condition( max(self._ai, self._rnd), self.hp_threshold, self.one_time is not None or self.forced_one_time is not None) # TODO: figure out if this is still needed if self.enemies_remaining: desc = desc + ', ' if desc else '' enemies = 1 if self.enemies_remaining > 10 else self.enemies_remaining desc += 'when <= {} enemies remain'.format(enemies) if self.on_death: desc = desc + ', ' if desc else '' desc += 'on death' desc = desc.capitalize() if self.condition_attributes: if desc: desc += " & " + Describe.attribute_exists( self.condition_attributes) else: desc = Describe.attribute_exists( self.condition_attributes).capitalize() # TODO: tieout # desc = desc.capitalize() return desc
def __init__(self, skill: EnemySkill, position_type): self.desc_arr = [] pos = [] att = [] for i in self.RANGE_MAP[skill.type]: if skill.params[i] and skill.params[i + 1]: p = position_bitmap(skill.params[i]) a = attribute_bitmap(skill.params[i + 1]) self.desc_arr.append( Describe.row_col_spawn(position_type, p, a)[7:]) pos += p att += a super().__init__(skill, position_type=position_type, positions=pos, attributes=att) self.attack = ESAttack.new_instance( self.params[7]) if skill.type in [77, 79] else None
def description(self): source = 'damage >= {}'.format(self.absorb_threshold) return Describe.absorb(source, self.turns)
def description(self): source = 'combo <= {:,d}'.format(self.combo_threshold) return Describe.absorb(source, self.min_turns, self.max_turns)
def description(self): target_type = '{:s} cards'.format(typing_to_str([self.target_typing])) return Describe.bind(self.min_turns, self.max_turns, target_type=target_type)
def description(self): spawn_type = [-9] if self.locked else [9] if self.whole_board: return Describe.board_change(spawn_type) else: return Describe.fixed_orb_spawn(spawn_type)
def conditions(self): return Describe.attribute_exists(self.condition_attributes)
def description(self): return Describe.bind(self.turns, None, None, 'awoken skills')
def description(self): return Describe.damage_reduction('all sources', turns=self.turns)
def description(self): return Describe.enrage(self.multiplier, self.turns)
def description(self): return Describe.recover(self.min_amount, self.max_amount, self.target)
def description(self): return Describe.status_shield(self.turns)
def description(self): return Describe.blind_sticky_fixed(self.turns)
def description(self): return Describe.blind_sticky_random(self.turns, self.min_count, self.max_count)
def description(self): return Describe.blind()
def description(self): return Describe.orb_change(self.orb_from, self.orb_to, random_count=self.random_count)
def description(self): return Describe.void(self.void_threshold, self.turns)
def description(self): return Describe.damage_reduction('all sources', self.shield_percent, self.turns)
def description(self): return Describe.leadswap(self.turns)
def description(self): return Describe.debuff(self.debuff_type, self.amount, self.unit, self.turns)
def description(self): return Describe.bind(self.min_turns, self.max_turns, target_type='active skills')
def description(self): return Describe.row_col_spawn(self.position_type, position_bitmap(self.params[1]), attribute_bitmap(self.params[2]))
def description(self): return Describe.end_battle()
def description(self): return Describe.random_orb_spawn(self.count, self.attributes)
def description(self): return Describe.change_attribute(self.attributes)
def description(self): spawn_type = [-9] if self.locked else [9] return Describe.random_orb_spawn(self.count, spawn_type)
def description(self): return Describe.gravity(self.percent)
def description(self): return Describe.board_change(self.attributes)
def description(self): source = attributes_to_str(self.attributes) return Describe.absorb(source, self.min_turns, self.max_turns)