private static IEnumerable <RibbonResult> GetInvalidRibbons6Traded(PKM pkm, IRibbonSetCommon6 s6) { if (s6.RibbonTraining) { const int req = 12; // only first 12 int count = pkm.SuperTrainingMedalCount(req); if (count < req) { yield return(new RibbonResult(nameof(s6.RibbonTraining))); } } const int mem_Champion = 27; bool hasChampMemory = pkm.HT_Memory == mem_Champion || pkm.OT_Memory == mem_Champion; if (!hasChampMemory || s6.RibbonChampionKalos || s6.RibbonChampionG6Hoenn) { yield break; } var result = new RibbonResult(nameof(s6.RibbonChampionKalos), false); result.Combine(new RibbonResult(nameof(s6.RibbonChampionG6Hoenn))); yield return(result); }