diff --git a/PKHeX.WinForms/Subforms/SAV_Database.cs b/PKHeX.WinForms/Subforms/SAV_Database.cs index 08e64605c..b7ea75069 100644 --- a/PKHeX.WinForms/Subforms/SAV_Database.cs +++ b/PKHeX.WinForms/Subforms/SAV_Database.cs @@ -123,6 +123,16 @@ private static string Hash(PKM pk) } } + private static string PIDHash(PKM pk) + { + switch (pk.Format) + { + case 1: return $"{((PK1)pk).DV16:X4}"; + case 2: return $"{((PK2)pk).DV16:X4}"; + default: return $"{pk.PID:X8}"; + } + } + // Important Events private void ClickView(object sender, EventArgs e) { @@ -519,7 +529,12 @@ private IEnumerable SearchDatabase() } if (Menu_SearchClones.Checked) - res = res.GroupBy(Hash).Where(group => group.Count() > 1).SelectMany(z => z); + { + Func method = Hash; + if (ModifierKeys == Keys.Control) + method = PIDHash; + res = res.GroupBy(method).Where(group => group.Count() > 1).SelectMany(z => z); + } return res; }