namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;

/// <summary>
/// Pure Power is an ability that doubles the Pokémon's Attack stat.
///
/// <see href="https://bulbapedia.bulbagarden.net/wiki/Pure_Power_(Ability)">Bulbapedia - Pure Power</see>
/// </summary>
[Script(ScriptCategory.Ability, "pure_power")]
public class PurePower : Script, IScriptChangeOffensiveStatValue
{
    /// <inheritdoc />
    public void ChangeOffensiveStatValue(IExecutingMove move, IPokemon target, byte hit, uint defensiveStat,
        ImmutableStatisticSet<uint> targetStats, Statistic stat, ref uint value)
    {
        if (stat == Statistic.Attack)
        {
            value = value.MultiplyOrMax(2);
        }
    }
}