18 lines
650 B
GDScript
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
|