public static LearnVersion GetIsLevelUpMove(PKM pkm, int species, int form, int lvl, int generation, int move, int minlvlG1, int minlvlG2, GameVersion version = Any) { if (pkm.IsMovesetRestricted(generation)) { version = (GameVersion)pkm.Version; } switch (generation) { case 1: return(GetIsLevelUp1(species, move, lvl, form, minlvlG1, version)); case 2 when move > MaxMoveID_1 && pkm.LearnMovesNew2Disallowed(): return(LearnNONE); case 2: return(GetIsLevelUp2(species, move, lvl, form, minlvlG2, pkm.Korean, version)); case 3: return(GetIsLevelUp3(species, move, lvl, form, version)); case 4: return(GetIsLevelUp4(species, move, lvl, form, version)); case 5: return(GetIsLevelUp5(species, move, lvl, form, version)); case 6: return(GetIsLevelUp6(species, move, lvl, form, version)); case 7: return(GetIsLevelUp7(species, move, form, version)); // move reminder can give any move 1-100 case 8: return(GetIsLevelUp8(species, move, lvl, form, version)); } return(LearnNONE); }
public static IEnumerable <int> GetMovesLevelUp(PKM pkm, int species, int minlvlG1, int minlvlG2, int lvl, int form, GameVersion version, bool MoveReminder, int Generation) { if (pkm.IsMovesetRestricted()) { version = (GameVersion)pkm.Version; } switch (Generation) { case 1: return(GetMovesLevelUp1(species, form, lvl, minlvlG1, version)); case 2: return(GetMovesLevelUp2(species, form, lvl, minlvlG2, pkm.Korean, pkm.LearnMovesNew2Disallowed(), version)); case 3: return(GetMovesLevelUp3(species, form, lvl, version)); case 4: return(GetMovesLevelUp4(species, form, lvl, version)); case 5: return(GetMovesLevelUp5(species, form, lvl, version)); case 6: return(GetMovesLevelUp6(species, form, lvl, version)); case 7: return(GetMovesLevelUp7(species, form, lvl, MoveReminder, version)); } return(Array.Empty <int>()); }