diff --git a/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs index f7723627e..4afe8a35a 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs @@ -301,6 +301,11 @@ private static IEnumerable GenerateRawEncounters4(PKM pkm, Legal deferred.AddLast(z); continue; } + if (safari != z.Type.HasFlag(SlotType.Safari)) + { + deferred.AddLast(z); + continue; + } var frame = slots.FirstOrDefault(s => s.IsSlotCompatibile(z, pkm)); if (frame != null || pkm.Species == 201) // Unown -- don't really care to figure this out @@ -338,6 +343,11 @@ private static IEnumerable GenerateRawEncounters3(PKM pkm, Legal var slots = FrameFinder.GetFrames(info.PIDIV, pkm).ToList(); foreach (var z in GetValidWildEncounters(pkm)) { + if (safari != z.Type.HasFlag(SlotType.Safari)) + { + deferred.Enqueue(z); + continue; + } var frame = slots.FirstOrDefault(s => s.IsSlotCompatibile(z, pkm)); if (frame != null) yield return z; diff --git a/Tests/PKHeX.Tests/Legality/Legal/Generation 7 Transfer/028 ★ - Sandslash - 583900000000.pk7 b/Tests/PKHeX.Tests/Legality/Legal/Generation 7 Transfer/028 ★ - Sandslash - 583900000000.pk7 new file mode 100644 index 000000000..e6aa06baf Binary files /dev/null and b/Tests/PKHeX.Tests/Legality/Legal/Generation 7 Transfer/028 ★ - Sandslash - 583900000000.pk7 differ diff --git a/Tests/PKHeX.Tests/Legality/Legal/Generation 7 Transfer/204 - クヌギダマ - 4CF0E7EAFE99.pk7 b/Tests/PKHeX.Tests/Legality/Legal/Generation 7 Transfer/204 - クヌギダマ - 4CF0E7EAFE99.pk7 new file mode 100644 index 000000000..5f94bfaee Binary files /dev/null and b/Tests/PKHeX.Tests/Legality/Legal/Generation 7 Transfer/204 - クヌギダマ - 4CF0E7EAFE99.pk7 differ