using PkmnLib.Static.Moves;

namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon;

[Script(ScriptCategory.Pokemon, "kings_shield")]
public class KingsShield : ProtectionEffectScript
{
    /// <inheritdoc />
    public override void BlockIncomingHit(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref bool block)
    {
        base.BlockIncomingHit(executingMove, target, hitIndex, ref block);
        if (executingMove.UseMove.Category != MoveCategory.Status &&
            executingMove.GetHitData(target, hitIndex).IsContact)
        {
            executingMove.User.ChangeStatBoost(Statistic.Accuracy, -2, false, false);
        }
    }
}