using PkmnLib.Plugin.Gen7.Scripts.Side; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "light_screen")] public class LightScreen : Script, IScriptOnSecondaryEffect { /// public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit) { var battleData = move.User.BattleData; if (battleData == null) return; var args = new CustomTriggers.LightScreenNumberOfTurnsArgs(move, 5); move.RunScriptHook(x => x.CustomTrigger(CustomTriggers.LightScreenNumberOfTurns, args)); var turns = args.Duration; battleData.BattleSide.VolatileScripts.StackOrAdd(ScriptUtils.ResolveName(), () => new LightScreenEffect(turns)); } }