using System.Linq; using PkmnLib.Plugin.Gen7.Scripts.Utils; using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "copycat")] public class Copycat : Script { /// public override void ChangeMove(IMoveChoice choice, ref StringKey moveName) { var lastMove = choice.User.BattleData?.Battle.PreviousTurnChoices .SelectMany(x => x) .OfType() .LastOrDefault(); if (lastMove == null || !lastMove.ChosenMove.MoveData.CanCopyMove()) { choice.Fail(); return; } moveName = lastMove.ChosenMove.MoveData.Name; } }