diff --git a/PKHeX.Core/Game/GameUtil.cs b/PKHeX.Core/Game/GameUtil.cs index 27558c63a..b9b71ebfd 100644 --- a/PKHeX.Core/Game/GameUtil.cs +++ b/PKHeX.Core/Game/GameUtil.cs @@ -25,7 +25,7 @@ namespace PKHeX.Core /// /// Most recent game ID utilized by official games. /// - public const GameVersion HighestGameID = RB - 1; + private const GameVersion HighestGameID = RB - 1; /// Determines the Version Grouping of an input Version ID /// Version of which to determine the group diff --git a/PKHeX.Core/Legality/Tables/Tables1.cs b/PKHeX.Core/Legality/Tables/Tables1.cs index 049cb238b..472d6e395 100644 --- a/PKHeX.Core/Legality/Tables/Tables1.cs +++ b/PKHeX.Core/Legality/Tables/Tables1.cs @@ -37,7 +37,7 @@ internal static bool TransferSpeciesDefaultAbilityGen1(int species) { - System.Diagnostics.Debug.Assert(species <= (uint)MaxSpeciesID_1); + System.Diagnostics.Debug.Assert((uint)species <= MaxSpeciesID_1); return species is (int)Species.Gastly or (int)Species.Haunter or (int)Species.Gengar or (int)Species.Koffing or (int)Species.Weezing or (int)Species.Mew; diff --git a/PKHeX.Core/Legality/Verifiers/HistoryVerifier.cs b/PKHeX.Core/Legality/Verifiers/HistoryVerifier.cs index 711601b48..4d2426e47 100644 --- a/PKHeX.Core/Legality/Verifiers/HistoryVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/HistoryVerifier.cs @@ -172,16 +172,23 @@ namespace PKHeX.Core // ORAS contests mistakenly apply 20 affection to the OT instead of the current handler's value private static bool IsInvalidContestAffection(IAffection pkm) => pkm.OT_Affection != 255 && pkm.OT_Affection % 20 != 0; - public static bool GetCanOTHandle(IEncounterable enc, PKM pkm, int generation) => generation < 6 || enc switch + public static bool GetCanOTHandle(IEncounterable enc, PKM pkm, int generation) { - EncounterTrade => false, - EncounterSlot8GO => false, - WC6 wc6 when wc6.OT_Name.Length > 0 => false, - WC7 wc7 when wc7.OT_Name.Length > 0 && wc7.TID != 18075 => false, // Ash Pikachu QR Gift doesn't set Current Handler - WC8 wc8 when wc8.GetHasOT(pkm.Language) => false, - WC8 {IsHOMEGift: true} => false, - _ => true - }; + // Handlers introduced in Generation 6. OT Handling was always the case for Generation 3-5 data. + if (generation < 6) + return generation >= 3; + + return enc switch + { + EncounterTrade => false, + EncounterSlot8GO => false, + WC6 wc6 when wc6.OT_Name.Length > 0 => false, + WC7 wc7 when wc7.OT_Name.Length > 0 && wc7.TID != 18075 => false, // Ash Pikachu QR Gift doesn't set Current Handler + WC8 wc8 when wc8.GetHasOT(pkm.Language) => false, + WC8 {IsHOMEGift: true} => false, + _ => true + }; + } private static int GetBaseFriendship(int generation, int species, int form) => generation switch {