namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;

/// <summary>
/// White Smoke is an ability that prevents the Pokémon's stats from being lowered by other Pokémon.
///
/// <see href="https://bulbapedia.bulbagarden.net/wiki/White_Smoke_(Ability)">Bulbapedia - White Smoke</see>
/// </summary>
[Script(ScriptCategory.Ability, "white_smoke")]
public class WhiteSmoke : Script, IScriptPreventStatBoostChange
{
    /// <inheritdoc />
    public void PreventStatBoostChange(IPokemon target, Statistic stat, sbyte amount, bool selfInflicted,
        ref bool prevent)
    {
        if (selfInflicted || amount >= 0)
            return;

        prevent = true;
    }
}