namespace PkmnLib.Plugin.Gen7.Scripts.Abilities; /// /// Overcoat is an ability that protects the Pokémon from weather damage and powder moves. /// /// Bulbapedia - Overcoat /// [Script(ScriptCategory.Ability, "overcoat")] public class Overcoat : Script, IScriptIsInvulnerableToMove, IScriptCustomTrigger { /// public void CustomTrigger(StringKey eventName, ICustomTriggerArgs args) { if (eventName == CustomTriggers.IgnoreHail && args is CustomTriggers.IgnoreHailArgs hailArgs) { hailArgs.Ignore = true; } else if (eventName == CustomTriggers.BypassSandstormDamage && args is CustomTriggers.BypassSandstormDamageArgs bypassArgs) { bypassArgs.Bypass = true; } } /// public void IsInvulnerableToMove(IExecutingMove move, IPokemon target, ref bool invulnerable) { if (move.UseMove.HasFlag("powder")) { invulnerable = true; } } }