diff --git a/PKHeX.WinForms/Subforms/SAV_Database.cs b/PKHeX.WinForms/Subforms/SAV_Database.cs index 91a528b96..f4b54e614 100644 --- a/PKHeX.WinForms/Subforms/SAV_Database.cs +++ b/PKHeX.WinForms/Subforms/SAV_Database.cs @@ -341,7 +341,7 @@ private static List LoadPKMSaves(string pkmdb, string savdb, string EXTERNA var db = bakpkm.Concat(savpkm).Where(pk => pk.ChecksumValid && pk.Sanity == 0); // 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 PK8)); + db = SAV is SAV8SWSH ? db.Where(z => z is PK8 || ((PersonalInfoSWSH)PersonalTable.SWSH.GetFormeEntry(z.Species, z.AltForm)).IsPresentInGame) : db.Where(z => !(z is PK8)); // Finalize the Database return new List(db); diff --git a/PKHeX.WinForms/Subforms/SAV_Encounters.cs b/PKHeX.WinForms/Subforms/SAV_Encounters.cs index d953c0610..f4db17a03 100644 --- a/PKHeX.WinForms/Subforms/SAV_Encounters.cs +++ b/PKHeX.WinForms/Subforms/SAV_Encounters.cs @@ -191,9 +191,9 @@ private IEnumerable SearchDatabase() var comparer = new ReferenceComparer(); results = results.Distinct(comparer); // only distinct objects - // when PK7->PK8 conversion is possible (and sprites in new size are available, remove this filter) + // when all 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 => ((PersonalInfoSWSH)PersonalTable.SWSH.GetFormeEntry(z.Species, z.Form)).IsPresentInGame) : results.Where(z => !(z is IGeneration g) || g.Generation <= 7); return results; } diff --git a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs index 2a1d82c92..8593b6c23 100644 --- a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs +++ b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs @@ -194,8 +194,8 @@ private void LoadDatabase() { 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)); + // when all sprites in new size are available, remove this filter + db = SAV is SAV8SWSH ? db.Where(z => ((PersonalInfoSWSH)PersonalTable.SWSH.GetFormeEntry(z.Species, z.Form)).IsPresentInGame) : db.Where(z => !(z is WC8)); RawDB = new List(db); foreach (var mg in RawDB)