From fbb9e0bf0edcb8c0479cb38239b741d2b5ab76eb Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 25 Dec 2021 18:33:14 -0800 Subject: [PATCH] Flag original catchrates on g1->g2->g1 transfers Closes #3328 --- PKHeX.Core/Legality/Restrictions/GBRestrictions.cs | 13 +++++++++++-- PKHeX.Core/Legality/Verifiers/MiscVerifier.cs | 4 +++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/PKHeX.Core/Legality/Restrictions/GBRestrictions.cs b/PKHeX.Core/Legality/Restrictions/GBRestrictions.cs index 133d1a4a0..241cd12dc 100644 --- a/PKHeX.Core/Legality/Restrictions/GBRestrictions.cs +++ b/PKHeX.Core/Legality/Restrictions/GBRestrictions.cs @@ -493,7 +493,11 @@ public static TimeCapsuleEvaluation IsTimeCapsuleTransferred(PKM pkm, IList z != null && z.Generation != enc.Generation && z.Generation <= 2)) + { + if (pkm is PK1 {Catch_Rate: not 0} g1 && !IsTradebackCatchRate(g1.Catch_Rate)) + return TimeCapsuleEvaluation.BadCatchRate; return enc.Generation == 2 ? TimeCapsuleEvaluation.Transferred21 : TimeCapsuleEvaluation.Transferred12; + } if (pkm is not GBPKM gb) { @@ -518,9 +522,14 @@ public static TimeCapsuleEvaluation IsTimeCapsuleTransferred(PKM pkm, IList z.Generation == 2)) + return GetInvalid(LG1CatchRateItem); var e = data.EncounterMatch; if (e is EncounterStatic1E {Version: GameVersion.Stadium} or EncounterTrade1) return GetValid(LG1CatchRateMatchPrevious); // Encounters detected by the catch rate, cant be invalid if match this encounters