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
This commit is contained in:
Kurt 2017-06-18 16:40:23 -07:00
parent c01aae3156
commit b6d266824e
2 changed files with 3 additions and 4 deletions

View File

@ -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;

View File

@ -106,6 +106,8 @@ private static IEnumerable<GBEncounterData> 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))