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

25 lines
1,001 B
GDScript

class_name BattleEffect
extends RefCounted
#un effet actif sur un pokemon en combat : statut, confusion, peur... (plus tard : talent, objet tenu).
#le moteur appelle ces crochets aux moments cles ; une sous-classe ne redefinit que ceux qui l'interessent.
#les crochets "async" peuvent utiliser "await" (messages, degats...).
var id : StringName = &""
## Modifie une statistique (brulure : Attaque / 2, paralysie : Vitesse / 2...). Synchrone.
func modify_stat(_mon : BattleMon, _stat : PokemonNature.Stat, value : float) -> float:
return value
## Appele juste avant qu'un pokemon utilise une capacite. Renvoyer false = il ne peut pas agir.
func before_action(_battle : Battle, _slot : BattleSlot, _action : BattleAction) -> bool:
return true
## Appele a la fin de chaque tour (degats de brulure, de poison...).
func on_turn_end(_battle : Battle, _slot : BattleSlot) -> void:
pass
## Pour les effets temporaires : true = retire a la fin du tour (peur).
func is_expired() -> bool:
return false