Tales-of-PKMN/game/battle/effects/poison_effect.gd

22 lines
694 B
GDScript

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())