using System; using System.Linq; using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Utils; public static class TurnChoiceHelper { public static IMoveChoice CreateMoveChoice(IPokemon owner, StringKey moveName, byte targetSide, byte targetPosition) { var move = owner.Moves.FirstOrDefault(x => x?.MoveData.Name == moveName); if (move == null) { if (!owner.Library.StaticLibrary.Moves.TryGet(moveName, out var moveData)) throw new Exception($"Move '{moveName}' not found in move library."); move = new LearnedMoveImpl(moveData, MoveLearnMethod.Unknown); } return new MoveChoice(owner, move, targetSide, targetPosition); } }