From f889a6ce7f81fdd047c18f699b2351782b6b55c4 Mon Sep 17 00:00:00 2001 From: javierhimura Date: Fri, 25 Aug 2017 16:25:59 +0200 Subject: [PATCH] Fix generation 1/2 encounters for pokemon with different initial moves in yellow/crystal than r/b/g/s The encounter generator was returning always RBY and GSC and that make the ParseMovesGenGB to check only for rb and gs learnset for initial moves, the game returned should be the game for the encounter to make ParseMovesGenGB use the correct learnset table for the initial moves Closes #1417 --- PKHeX.Core/Legality/Encounters/EncounterGenerator.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs b/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs index a90de7445..7bb36a16f 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs @@ -99,7 +99,7 @@ private static IEnumerable GenerateRawEncounters12(PKM pkm, Gam deferred.Add(t); continue; } - yield return new GBEncounterData(pkm, gen, t, game); + yield return new GBEncounterData(pkm, gen, t, t.Version); } foreach (var s in GetValidStaticEncounter(pkm, game).Where(z => species.Contains(z.Species))) { @@ -119,13 +119,13 @@ private static IEnumerable GenerateRawEncounters12(PKM pkm, Gam } if (game == GameVersion.GSC && !s.EggEncounter && s.Version == GameVersion.C && !pkm.HasOriginalMetLocation) continue; - yield return new GBEncounterData(pkm, gen, s, game); + yield return new GBEncounterData(pkm, gen, s, s.Version); } - foreach (var e in GetValidWildEncounters(pkm, game)) + foreach (var e in GetValidWildEncounters(pkm, game).OfType()) { if (!species.Contains(e.Species)) continue; - yield return new GBEncounterData(pkm, gen, e, game); + yield return new GBEncounterData(pkm, gen, e, e.Version); } if (game == GameVersion.GSC || game == GameVersion.C)