class_name PoisonEffect extends BattleEffect #poison simple (1/8 des PV par tour) ou poison grave (1/16 x compteur, qui augmente chaque tour) var severe : bool = false func _init(p_severe : bool = false) -> void: severe = p_severe id = &"bad_poison" if severe else &"poison" func on_turn_end(battle : Battle, slot : BattleSlot) -> void: var mon : BattleMon = slot.mon var max_hp : int = mon.pokemon.get_max_hp() var amount : int if severe: mon.toxic_counter = mini(mon.toxic_counter + 1, 15) amount = maxi(1, floori(max_hp * mon.toxic_counter / 16.0)) else: amount = maxi(1, floori(max_hp / 8.0)) await battle.hurt(slot, amount, "%s souffre du poison !" % mon.display_name())