25 lines
1,001 B
GDScript
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
|