namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;

/// <summary>
/// No Guard is an ability that ensures all moves used by and against the Pokémon hit without fail.
///
/// <see href="https://bulbapedia.bulbagarden.net/wiki/No_Guard_(Ability)">Bulbapedia - No Guard</see>
/// </summary>
[Script(ScriptCategory.Ability, "no_guard")]
public class NoGuard : Script, IScriptChangeAccuracy, IScriptChangeIncomingAccuracy
{
    /// <inheritdoc />
    public void ChangeIncomingAccuracy(IExecutingMove executingMove, IPokemon target, byte hitIndex,
        ref int modifiedAccuracy)
    {
        modifiedAccuracy = 2000;
    }

    /// <inheritdoc />
    public void ChangeAccuracy(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref int modifiedAccuracy)
    {
        modifiedAccuracy = 2000;
    }
}