namespace PkmnLib.Plugin.Gen7.Scripts.Battle; [Script(ScriptCategory.Battle, "magic_room")] public class MagicRoomEffect : Script, IScriptOnBeforeAnyHookInvoked, IScriptOnEndTurn, IScriptPreventHeldItemConsume { private int _turnsLeft = 5; /// public void PreventHeldItemConsume(IPokemon pokemon, IItem heldItem, ref bool prevented) { prevented = true; } /// public void OnBeforeAnyHookInvoked(ref List? suppressedCategories) { suppressedCategories ??= []; suppressedCategories.Add(ScriptCategory.ItemBattleTrigger); } /// public void OnEndTurn(IScriptSource owner, IBattle battle) { if (_turnsLeft > 0) _turnsLeft--; else RemoveSelf(); } }