diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index 9b62a64bc..5cab713c2 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -372,6 +372,8 @@ private static IEnumerable GetLvlMoves(int species, int form, int Generatio case GameVersion.MN: case GameVersion.SM: { + if (species > MaxSpeciesID_7) + break; int index = PersonalTable.SM.GetFormeIndex(species, form); r.AddRange(LevelUpSM[index].GetMoves(lvl)); if (ver == GameVersion.Any) // Fall Through @@ -550,6 +552,8 @@ internal static int[] GetBaseEggMoves(PKM pkm, int species, GameVersion gameSour case GameVersion.SN: case GameVersion.MN: case GameVersion.SM: + if (species > MaxSpeciesID_7) + break; if (pkm.InhabitedGeneration(7)) { int index = PersonalTable.SM.GetFormeIndex(species, pkm.AltForm); @@ -1603,6 +1607,8 @@ private static IEnumerable GetRelearnLVLMoves(PKM pkm, int species, int lvl return getMoves(LevelUpAO, PersonalTable.AO); case GameVersion.SN: case GameVersion.MN: + if (species > MaxSpeciesID_7) + break; return getMoves(LevelUpSM, PersonalTable.SM); case GameVersion.US: case GameVersion.UM: return getMoves(LevelUpUSUM, PersonalTable.USUM); @@ -1934,6 +1940,8 @@ private static IEnumerable GetMoves(PKM pkm, int species, int minlvlG1, int case GameVersion.Any: case GameVersion.SN: case GameVersion.MN: case GameVersion.SM: { + if (species > MaxSpeciesID_7) + break; int index = PersonalTable.SM.GetFormeIndex(species, form); if (MoveReminder) lvl = 100; // Move reminder can teach any level in movepool now! diff --git a/Tests/PKHeX.Tests/Legality/Illegal/Moves/803 - Poipole - C7B3534918F0.pk7 b/Tests/PKHeX.Tests/Legality/Illegal/Moves/803 - Poipole - C7B3534918F0.pk7 new file mode 100644 index 000000000..834f45530 Binary files /dev/null and b/Tests/PKHeX.Tests/Legality/Illegal/Moves/803 - Poipole - C7B3534918F0.pk7 differ diff --git a/Tests/PKHeX.Tests/Legality/Illegal/WC7/745-01 - Lycanroc - AA223CC9A6E7.pk7 b/Tests/PKHeX.Tests/Legality/Illegal/WC7/745-01 - Lycanroc - AA223CC9A6E7.pk7 new file mode 100644 index 000000000..44f24f439 Binary files /dev/null and b/Tests/PKHeX.Tests/Legality/Illegal/WC7/745-01 - Lycanroc - AA223CC9A6E7.pk7 differ diff --git a/Tests/PKHeX.Tests/Legality/Illegal/WC7/745-02 - Lycanroc - B2A43CC9A6E7.pk7 b/Tests/PKHeX.Tests/Legality/Illegal/WC7/745-02 - Lycanroc - B2A43CC9A6E7.pk7 new file mode 100644 index 000000000..96b8b1466 Binary files /dev/null and b/Tests/PKHeX.Tests/Legality/Illegal/WC7/745-02 - Lycanroc - B2A43CC9A6E7.pk7 differ diff --git a/Tests/PKHeX.Tests/Legality/Illegal/WC7/745-02 - Lycanroc - B3A83CC9A6E7.pk7 b/Tests/PKHeX.Tests/Legality/Illegal/WC7/745-02 - Lycanroc - B3A83CC9A6E7.pk7 new file mode 100644 index 000000000..bf93148f6 Binary files /dev/null and b/Tests/PKHeX.Tests/Legality/Illegal/WC7/745-02 - Lycanroc - B3A83CC9A6E7.pk7 differ