namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;

/// <summary>
/// Keen Eye is an ability that prevents the Pokémon's accuracy from being lowered.
///
/// <see href="https://bulbapedia.bulbagarden.net/wiki/Keen_Eye_(Ability)">Bulbapedia - Keen Eye</see>
/// </summary>
[Script(ScriptCategory.Ability, "keen_eye")]
public class KeenEye : Script, IScriptPreventStatBoostChange
{
    /// <inheritdoc />
    public void PreventStatBoostChange(IPokemon target, Statistic stat, sbyte amount, bool selfInflicted,
        ref bool prevent)
    {
        if (stat == Statistic.Accuracy && amount < 0)
            prevent = true;
    }
}