namespace PkmnLib.Plugin.Gen7.Scripts.Moves;

[Script(ScriptCategory.Move, "high_jump_kick")]
public class HighJumpKick : Script, IScriptOnMoveMiss
{
    /// <inheritdoc />
    public void OnMoveMiss(IExecutingMove move, IPokemon target)
    {
        var damage = move.GetHitData(target, 0).Damage;
        var recoil = damage / 2;
        //  This recoil damage will not exceed half the user's max HP
        var maxHp = move.User.BoostedStats.Hp;
        recoil = Math.Min(recoil, maxHp / 2);
        move.User.Damage(recoil, DamageSource.Misc);
    }
}