diff --git a/PKHeX.WinForms/Subforms/SAV_Encounters.cs b/PKHeX.WinForms/Subforms/SAV_Encounters.cs index d79c12358..9460f20c1 100644 --- a/PKHeX.WinForms/Subforms/SAV_Encounters.cs +++ b/PKHeX.WinForms/Subforms/SAV_Encounters.cs @@ -186,7 +186,13 @@ private IEnumerable SearchDatabase() // return filtered results var comparer = new ReferenceComparer(); - return results.Distinct(comparer); // only distinct objects + results = results.Distinct(comparer); // only distinct objects + + // when PK7->PK8 conversion is possible (and sprites in new size are available, remove this filter) + results = SAV is SAV8SWSH + ? results.Where(z => !(z is IGeneration g) || g.Generation == 8) + : results.Where(z => !(z is IGeneration g) || g.Generation <= 7); + return results; } private class ReferenceComparer : IEqualityComparer diff --git a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs index d7523a7f7..657f9970f 100644 --- a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs +++ b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs @@ -192,7 +192,12 @@ private void ResetFilters(object sender, EventArgs e) private void LoadDatabase() { - RawDB = new List(EncounterEvent.GetAllEvents()); + var db = EncounterEvent.GetAllEvents(); + + // when PK7->PK8 conversion is possible (and sprites in new size are available, remove this filter) + db = SAV is SAV8SWSH ? db.OfType() : db.Where(z => !(z is WC8)); + + RawDB = new List(db); foreach (var mg in RawDB) mg.GiftUsed = false; BeginInvoke(new MethodInvoker(delegate