namespace PkmnLib.Plugin.Gen7.Scripts.Moves;

[Script(ScriptCategory.Move, "smelling_salts")]
public class SmellingSalts : Script, IScriptOnSecondaryEffect, IScriptChangeMoveDamage
{
    /// <inheritdoc />
    public void ChangeMoveDamage(IExecutingMove move, IPokemon target, byte hit, ref uint damage)
    {
        // If the target is paralyzed, double the damage
        if (target.HasStatus(ScriptUtils.ResolveName<Status.Paralyzed>()))
        {
            damage *= 2;
        }
    }

    /// <inheritdoc />
    public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
    {
        // If the target is paralyzed, remove the paralysis
        if (target.HasStatus(ScriptUtils.ResolveName<Status.Paralyzed>()))
        {
            target.ClearStatus();
        }
    }
}