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

18 lines
650 B
GDScript

class_name FreezeEffect
extends BattleEffect
const THAW_CHANCE : float = 0.2
func _init() -> void:
id = &"freeze"
func before_action(battle : Battle, slot : BattleSlot, action : BattleAction) -> bool:
var mon : BattleMon = slot.mon
#une capacite de type Feu degele le pokemon, et chaque tour il a 20 % de chances de degeler
var fire_move : bool = action.move != null and action.move.type.to_lower() == "fire"
if fire_move or battle.rng.randf() < THAW_CHANCE:
await battle.cure_status(slot, "%s dégèle !" % mon.display_name())
return true
await battle.message("%s est gelé ! Il ne peut pas bouger." % mon.display_name())
return false