Don't generate egg encounters if species cant exist

Closes #1286
This commit is contained in:
Kurt 2017-06-29 20:12:40 -07:00
parent 1c4a1af633
commit 90693a2a76

View File

@ -1183,10 +1183,14 @@ private static IEnumerable<EncounterEgg> GenerateEggs(PKM pkm)
int lvl = pkm.GenNumber < 4 ? 5 : 1;
var ver = (GameVersion) pkm.Version; // version is a true indicator for all generation 3+ origins
yield return new EncounterEgg { Game = (GameVersion)pkm.Version, Level = lvl, Species = GetBaseSpecies(pkm, 0) };
int max = GetMaxSpeciesOrigin(pkm.GenNumber);
if (GetSplitBreedGeneration(pkm).Contains(pkm.Species))
yield return new EncounterEgg { Game = ver, Level = lvl, Species = GetBaseSpecies(pkm, 1), SplitBreed = true };
var baseSpecies = GetBaseSpecies(pkm, 0);
if (baseSpecies <= max)
yield return new EncounterEgg { Game = ver, Level = lvl, Species = baseSpecies };
if (GetSplitBreedGeneration(pkm).Contains(pkm.Species) && (baseSpecies = GetBaseSpecies(pkm, 1)) <= max)
yield return new EncounterEgg { Game = ver, Level = lvl, Species = baseSpecies, SplitBreed = true };
}
// Utility