namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;

/// <summary>
/// Sheer Force is an ability that increases the power of moves with secondary effects, but removes those effects.
///
/// <see href="https://bulbapedia.bulbagarden.net/wiki/Sheer_Force_(Ability)">Bulbapedia - Sheer Force</see>
/// </summary>
[Script(ScriptCategory.Ability, "sheer_force")]
public class SheerForce : Script, IScriptChangeBasePower, IScriptPreventSecondaryEffect
{
    /// <inheritdoc />
    public void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref ushort basePower)
    {
        basePower = basePower.MultiplyOrMax(5325f / 4096f);
    }

    /// <inheritdoc />
    public void PreventSecondaryEffect(IExecutingMove move, IPokemon target, byte hit, ref bool prevent)
    {
        prevent = true;
    }
}