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