diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index 3d204ef07..36e1451e1 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -1590,8 +1590,9 @@ private static IEnumerable GetValidMoves(PKM pkm, GameVersion Version, DexL return r.Distinct(); } - foreach (DexLevel evo in vs) + for (var i = 0; i < vs.Length; i++) { + DexLevel evo = vs[i]; var minlvlevo1 = 1; var minlvlevo2 = 1; if (Generation == 1) @@ -1608,7 +1609,11 @@ private static IEnumerable GetValidMoves(PKM pkm, GameVersion Version, DexL if (evo.MinLevel > 1) minlvlevo2 = Math.Min(pkm.CurrentLevel, evo.MinLevel); } - r.AddRange(GetMoves(pkm, evo.Species, minlvlevo1, minlvlevo2, evo.Level, pkm.AltForm, moveTutor, Version, LVL, Tutor, Machine, MoveReminder, RemoveTransferHM, Generation)); + var maxLevel = evo.Level; + if (i != 0 && vs[i - 1].RequiresLvlUp) // evolution + ++maxLevel; // allow lvlmoves from the level it evolved to the next species + r.AddRange(GetMoves(pkm, evo.Species, minlvlevo1, minlvlevo2, maxLevel, pkm.AltForm, moveTutor, Version, + LVL, Tutor, Machine, MoveReminder, RemoveTransferHM, Generation)); } if (pkm.Format <= 3) diff --git a/Tests/PKHeX.Tests/Legality/Legal/Generation 3/LevelUp learn move then Evolve/195 - QUAGSIRE - E2AD60FEC722.pk3 b/Tests/PKHeX.Tests/Legality/Legal/Generation 3/LevelUp learn move then Evolve/195 - QUAGSIRE - E2AD60FEC722.pk3 new file mode 100644 index 000000000..133dd9d6e Binary files /dev/null and b/Tests/PKHeX.Tests/Legality/Legal/Generation 3/LevelUp learn move then Evolve/195 - QUAGSIRE - E2AD60FEC722.pk3 differ diff --git a/Tests/PKHeX.Tests/Legality/Legal/Generation 3/LevelUp learn move then Evolve/229 - HOUNDOOM - 4311EC0CD621.pk3 b/Tests/PKHeX.Tests/Legality/Legal/Generation 3/LevelUp learn move then Evolve/229 - HOUNDOOM - 4311EC0CD621.pk3 new file mode 100644 index 000000000..1c0b7c8f2 Binary files /dev/null and b/Tests/PKHeX.Tests/Legality/Legal/Generation 3/LevelUp learn move then Evolve/229 - HOUNDOOM - 4311EC0CD621.pk3 differ diff --git a/Tests/PKHeX.Tests/Legality/Legal/Generation 3/LevelUp learn move then Evolve/284 - MASQUERAIN - 8C49324DA947.pk3 b/Tests/PKHeX.Tests/Legality/Legal/Generation 3/LevelUp learn move then Evolve/284 - MASQUERAIN - 8C49324DA947.pk3 new file mode 100644 index 000000000..2ad3f6b62 Binary files /dev/null and b/Tests/PKHeX.Tests/Legality/Legal/Generation 3/LevelUp learn move then Evolve/284 - MASQUERAIN - 8C49324DA947.pk3 differ