示例#1
0
        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);
        }