namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon;

[Script(ScriptCategory.Pokemon, "imprison")]
public class ImprisonEffect : Script, IScriptPreventMoveSelection
{
    private readonly IPokemon _user;

    public ImprisonEffect(IPokemon user)
    {
        _user = user;
    }

    /// <inheritdoc />
    public void PreventMoveSelection(IMoveChoice choice, ref bool prevent)
    {
        if (_user.Moves.WhereNotNull().Any(x => x.MoveData.Name == choice.ChosenMove.MoveData.Name))
            prevent = true;
    }
}