using PkmnLib.Static.Moves;

namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon;

[Script(ScriptCategory.Pokemon, "baneful_bunker")]
public class BanefulBunkerEffect : ProtectionEffectScript
{
    /// <inheritdoc />
    public override void BlockIncomingHit(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref bool block)
    {
        base.BlockIncomingHit(executingMove, target, hitIndex, ref block);
        if (block && executingMove.UseMove.Category != MoveCategory.Status &&
            executingMove.GetHitData(target, hitIndex).IsContact)
        {
            executingMove.User.SetStatus(ScriptUtils.ResolveName<Status.Poisoned>(), executingMove.User);
        }
    }
}