namespace PkmnLib.Plugin.Gen7.Scripts.Battle;

[Script(ScriptCategory.Battle, "fairy_lock")]
public class FairyLockEffect : Script, IScriptOnEndTurn, IScriptPreventSelfRunAway, IScriptPreventSelfSwitch
{
    private int _turns = 1;

    /// <inheritdoc />
    public void PreventSelfRunAway(IFleeChoice choice, ref bool prevent)
    {
        prevent = true;
    }

    /// <inheritdoc />
    public void PreventSelfSwitch(ISwitchChoice choice, ref bool prevent)
    {
        prevent = true;
    }

    /// <inheritdoc />
    public void OnEndTurn(IScriptSource owner, IBattle battle)
    {
        if (_turns <= 0)
            RemoveSelf();
        _turns--;
    }
}