namespace PkmnLib.Plugin.Gen7.Scripts.Moves;

[Script(ScriptCategory.Move, "flail")]
public class Flail : Script, IScriptChangeBasePower
{
    /// <inheritdoc />
    public void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref ushort basePower)
    {
        var remainingHealth = move.User.CurrentHealth / move.User.BoostedStats.Hp;
        var fraction = remainingHealth * 48;
        basePower = fraction switch
        {
            < 2 => 200,
            < 5 => 150,
            < 10 => 100,
            < 17 => 80,
            < 33 => 40,
            _ => 20,
        };
    }
}