namespace PkmnLib.Plugin.Gen7.Scripts.Abilities; /// /// Wonder Guard is an ability that only allows super-effective moves to hit the Pokémon. /// /// Bulbapedia - Wonder Guard /// [Script(ScriptCategory.Ability, "wonder_guard")] public class WonderGuard : Script, IScriptBlockIncomingHit { /// public void BlockIncomingHit(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref bool block) { var type = executingMove.GetHitData(target, hitIndex).Type; if (type is null || type.Value.Value == 0) return; var effectiveness = executingMove.GetHitData(target, hitIndex).Effectiveness; if (!(effectiveness <= 1.0)) return; executingMove.Battle.EventHook.Invoke(new AbilityTriggerEvent(target)); block = true; } }