using PkmnLib.Plugin.Gen7.Scripts.Utils;

namespace PkmnLib.Plugin.Gen7.Scripts.Moves;

[Script(ScriptCategory.Move, "copycat")]
public class Copycat : Script, IScriptChangeMove
{
    /// <inheritdoc />
    public void ChangeMove(IMoveChoice choice, ref StringKey moveName)
    {
        var lastMove = choice.User.BattleData?.LastMoveChoice;
        if (lastMove == null || !lastMove.ChosenMove.MoveData.CanCopyMove())
        {
            choice.Fail();
            return;
        }
        moveName = lastMove.ChosenMove.MoveData.Name;
    }
}