namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "static_damage")] public class StaticDamage : Script, IScriptOnInitialize { private uint Damage { get; set; } /// public void OnInitialize(IReadOnlyDictionary? parameters) { if (parameters == null) throw new Exception("Parameters cannot be null for StaticDamage script."); if (parameters.TryGetValue("damage", out var damage)) { if (damage is int d) Damage = (uint)d; else throw new Exception($"Invalid damage value: {damage}"); } else { throw new Exception("Missing required parameter: damage"); } } /// public override void ChangeMoveDamage(IExecutingMove move, IPokemon target, byte hit, ref uint damage) { damage = Damage; } }