public ValidEncounterMoves(PKM pkm, LevelUpRestriction restrict, IEncounterable encounter) { var level = MoveList.GetValidMovesAllGens(pkm, restrict.EvolutionChains, minLvLG1: restrict.MinimumLevelGen1, minLvLG2: restrict.MinimumLevelGen2, Tutor: false, Machine: false, RemoveTransferHM: false); if (level[encounter.Generation] is List <int> x) { AddEdgeCaseMoves(x, encounter, pkm); } LevelUpMoves = level; TMHMMoves = MoveList.GetValidMovesAllGens(pkm, restrict.EvolutionChains, LVL: false, Tutor: false, MoveReminder: false, RemoveTransferHM: false); TutorMoves = MoveList.GetValidMovesAllGens(pkm, restrict.EvolutionChains, LVL: false, Machine: false, MoveReminder: false, RemoveTransferHM: false); }
public ValidEncounterMoves(PKM pkm, IEncounterTemplate encounter, IReadOnlyList <EvoCriteria>[] chains) { var level = MoveList.GetValidMovesAllGens(pkm, chains, types: MoveSourceType.Encounter, RemoveTransferHM: false); int gen = encounter.Generation; if ((uint)gen < level.Length && level[gen] is List <int> x) { AddEdgeCaseMoves(x, encounter, pkm); } LevelUpMoves = level; TMHMMoves = MoveList.GetValidMovesAllGens(pkm, chains, types: MoveSourceType.AllMachines); TutorMoves = MoveList.GetValidMovesAllGens(pkm, chains, types: MoveSourceType.AllTutors); }
public ValidEncounterMoves(PKM pkm, LevelUpRestriction restrict, IEncounterable encounter) { var level = MoveList.GetValidMovesAllGens(pkm, restrict.EvolutionChains, minLvLG1: restrict.MinimumLevelGen1, minLvLG2: restrict.MinimumLevelGen2, types: MoveSourceType.Encounter, RemoveTransferHM: false); int gen = encounter.Generation; if ((uint)gen < level.Length && level[gen] is List <int> x) { AddEdgeCaseMoves(x, encounter, pkm); } LevelUpMoves = level; TMHMMoves = MoveList.GetValidMovesAllGens(pkm, restrict.EvolutionChains, types: MoveSourceType.AllMachines); TutorMoves = MoveList.GetValidMovesAllGens(pkm, restrict.EvolutionChains, types: MoveSourceType.AllTutors); }