using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Battle; [Script(ScriptCategory.Battle, "uproar_effect")] public class UproarEffect : Script { private IPokemon? _placer; private bool _hasUsedUproar; private int _turns = 3; public void SetPlacer(IPokemon placer) { _placer = placer; _hasUsedUproar = true; } /// public override void PreventStatusChange(IPokemon pokemonImpl, StringKey status, ref bool preventStatus) { if (status == ScriptUtils.ResolveName()) { preventStatus = true; } } /// public override void OnBeforeTurnStart(ITurnChoice choice) { _hasUsedUproar = false; } /// public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit) { if (move.User == _placer && move.UseMove.Name == "uproar") _hasUsedUproar = true; } /// public override void OnEndTurn(IBattle battle) { if (!_hasUsedUproar) { RemoveSelf(); } _turns--; if (_turns <= 0) { RemoveSelf(); } } }