diff --git a/PKHeX.Core/Legality/Encounters/Generator/Moveset/EncounterMovesetGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/Moveset/EncounterMovesetGenerator.cs index f61ae1d91..991673a87 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/Moveset/EncounterMovesetGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/Moveset/EncounterMovesetGenerator.cs @@ -206,7 +206,7 @@ private static IEnumerable GetPossibleOfType(PKM pk, IReadOnlyLi { EncounterOrder.Egg => GetEggs(pk, needs, chain, version), EncounterOrder.Mystery => GetGifts(pk, needs, chain), - EncounterOrder.Static => GetStatic(pk, needs, chain), + EncounterOrder.Static => GetStatic(pk, needs, chain, version), EncounterOrder.Trade => GetTrades(pk, needs, chain, version), EncounterOrder.Slot => GetSlots(pk, needs, chain, version), _ => throw new ArgumentOutOfRangeException(nameof(type), type, null) @@ -281,10 +281,11 @@ private static IEnumerable GetGifts(PKM pk, IReadOnlyCollectionRough Pokémon data which contains the requested species, gender, and form. /// Moves which cannot be taught by the player. /// Origin possible evolution chain + /// Specific version to iterate for. /// A consumable list of possible encounters. - private static IEnumerable GetStatic(PKM pk, IReadOnlyCollection needs, IReadOnlyList chain) + private static IEnumerable GetStatic(PKM pk, IReadOnlyCollection needs, IReadOnlyList chain, GameVersion version) { - var encounters = EncounterStaticGenerator.GetPossible(pk, chain); + var encounters = EncounterStaticGenerator.GetPossible(pk, chain, version); int gen = pk.Generation; if ((uint)gen <= 2) encounters = encounters.Concat(EncounterStaticGenerator.GetPossibleGBGifts(pk, chain, gen == 2 ? GameVersion.C : GameVersion.RBY)); diff --git a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterStaticGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterStaticGenerator.cs index 7a112ae0a..fb9c20ac4 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterStaticGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterStaticGenerator.cs @@ -25,7 +25,13 @@ public static IEnumerable GetPossible(PKM pkm, IReadOnlyList StaticRBY.Where(z => z.Version.Contains(gameSource)), + GD or SV => StaticGS.Where(z => z.Version.Contains(gameSource)), + C => StaticC, + _ => GetEncounterStaticTable(pkm, gameSource), + }; return table.Where(e => chain.Any(d => d.Species == e.Species)); }