namespace PkmnLib.Plugin.Gen7.Scripts.Abilities; /// /// Steadfast is an ability that raises the user's Speed each time it flinches. /// /// Bulbapedia - Steadfast /// [Script(ScriptCategory.Ability, "steadfast")] public class Steadfast : Script, IScriptCustomTrigger { /// public void CustomTrigger(StringKey eventName, ICustomTriggerArgs args) { if (eventName != CustomTriggers.OnFlinch) return; if (args is not CustomTriggers.OnFlinchArgs flinchArgs) return; EventBatchId batchId = new(); flinchArgs.Move.Battle.EventHook.Invoke(new AbilityTriggerEvent(flinchArgs.Move.User) { BatchId = batchId, }); flinchArgs.Move.User.ChangeStatBoost(Statistic.Speed, 1, true, false, batchId); } }