namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon; [Script(ScriptCategory.Pokemon, "wish")] public class WishEffect : Script, IScriptOnEndTurn { private IPokemon? _pokemon; private bool _hasDoneFirstTurn; /// public override void OnAddedToParent(IScriptSource source) { if (source is not IPokemon pokemon) { throw new InvalidOperationException("Wish script can only be added to a Pokemon."); } _pokemon = pokemon; } /// public void OnEndTurn(IScriptSource owner, IBattle battle) { if (_pokemon == null) return; if (!_hasDoneFirstTurn) { _hasDoneFirstTurn = true; return; } if (_pokemon.BattleData?.IsOnBattlefield == true) { _pokemon.Heal(_pokemon.MaxHealth / 2); } } }