diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic.cs index d81541996..46246b2ca 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic.cs @@ -193,7 +193,7 @@ namespace PKHeX.Core { switch (Generation) { - case 3 when Roaming: + case 3 when Roaming && Version != GameVersion.E: // Roamer IV glitch was fixed in Emerald return PIDType.Method_1_Roamer; case 4 when Shiny == Shiny.Always: // Lake of Rage Gyarados return PIDType.ChainShiny; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade.cs index 16c7ed1ea..03e94e908 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade.cs @@ -76,13 +76,19 @@ namespace PKHeX.Core pk.Met_Level = level; pk.Met_Location = Location > 0 ? Location : DefaultMetLocation[Generation - 1]; } - pk.MetDate = DateTime.Today; + var today = DateTime.Today; + pk.MetDate = today; + if (EggLocation != 0) + { + pk.Egg_Location = EggLocation; + pk.EggMetDate = today; + } SAV.ApplyToPKM(pk); int nature = Nature == Nature.Random ? Util.Rand.Next(25) : (int)Nature; pk.Nature = nature; pk.Version = (int)version; - pk.Gender = Gender < 0 ? pk.PersonalInfo.RandomGender : Gender; + pk.Gender = pk.GetSaneGender(Gender < 0 ? pk.PersonalInfo.RandomGender : Gender); pk.AltForm = Form; pk.Language = lang; diff --git a/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs index 42b4cce27..540dedeaf 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs @@ -353,6 +353,7 @@ namespace PKHeX.Core int species = pkm.Species; var deferNoFrame = new Queue(); var deferFrame = new Queue(); + pkm.WasEgg = false; // clear flag if set from static var slots = FrameFinder.GetFrames(info.PIDIV, pkm).ToList(); foreach (var z in GetValidWildEncounters34(pkm)) { diff --git a/PKHeX.Core/Resources/byte/encounter_b2.pkl b/PKHeX.Core/Resources/byte/encounter_b2.pkl index 9175c1388..bb9e1eeae 100644 Binary files a/PKHeX.Core/Resources/byte/encounter_b2.pkl and b/PKHeX.Core/Resources/byte/encounter_b2.pkl differ