From b6d266824ec2355ce3002bc3d56fcbc92626f5f2 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 18 Jun 2017 16:40:23 -0700 Subject: [PATCH] Filter crystal statics in matching, not table fetch Eggs from crystal traded to GS can hatch with no met location; skip crystal-only encounters unless they are non-eggs Closes #1245 --- PKHeX.Core/Legality/Core.cs | 5 +---- PKHeX.Core/Legality/Encounters/EncounterGenerator.cs | 2 ++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index 1e7bae5ef..45e763260 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -1686,11 +1686,8 @@ internal static EncounterStatic[] GetEncounterStaticTable(PKM pkm, GameVersion g if (pkm.Format != 2) return StaticGSC; - if (pkm.HasOriginalMetLocation || pkm.IsEgg && AllowGen2Crystal) + if (pkm.HasOriginalMetLocation) return StaticC; - if (pkm.Species > 151 && !FutureEvolutionsGen1.Contains(pkm.Species)) - return StaticGS; - return StaticGSC; case GameVersion.R: return StaticR; diff --git a/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs b/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs index 80cbf0c47..26f9cfeb1 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs @@ -106,6 +106,8 @@ private static IEnumerable GenerateRawEncounters12(PKM pkm, Gam deferred.Add(s); continue; } + if (game == GameVersion.GSC && !s.EggEncounter && s.Version == GameVersion.C && !pkm.HasOriginalMetLocation) + continue; yield return new GBEncounterData(pkm, gen, s, game); } foreach (var e in GetValidWildEncounters(pkm, game))