From 9e16df49702852426bb0cbcb9bf40773206bbf00 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 15 Feb 2020 11:43:21 -0800 Subject: [PATCH] Only check g6 contest ribbon affection in g6/7 Affection is discarded on PK7->PK8 in favor of friendship, which can be lowered. --- .../Legality/Verifiers/Ribbons/RibbonVerifier.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifier.cs b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifier.cs index eb42e78e6..4f49f1101 100644 --- a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifier.cs @@ -247,12 +247,16 @@ private static IEnumerable GetInvalidRibbons6Any(PKM pkm, IRibbonS yield return new RibbonResult(nameof(s6.RibbonContestStar), s6.RibbonContestStar); // Each contest victory requires a contest participation; each participation gives 20 OT affection (not current trainer). - var affect = pkm.OT_Affection; - var contMemory = s6.RibbonNamesContest(); - int contCount = 0; - var present = contMemory.Where((_, i) => contest[i] && affect < 20 * ++contCount); - foreach (var rib in present) - yield return new RibbonResult(rib); + // Affection is discarded on PK7->PK8 in favor of friendship, which can be lowered. + if (pkm.Format <= 7) + { + var affect = pkm.OT_Affection; + var contMemory = s6.RibbonNamesContest(); + int contCount = 0; + var present = contMemory.Where((_, i) => contest[i] && affect < 20 * ++contCount); + foreach (var rib in present) + yield return new RibbonResult(rib); + } const int mem_Chatelaine = 30; bool hasChampMemory = pkm.HT_Memory == mem_Chatelaine || pkm.OT_Memory == mem_Chatelaine;