Beispiel #1
0
        private static IEnumerable <RibbonResult> GetInvalidRibbons4Any(PKM pkm, IRibbonSetCommon4 s4, int gen)
        {
            if (s4.RibbonRecord)
            {
                yield return(new RibbonResult(nameof(s4.RibbonRecord))); // Unobtainable
            }
            if (s4.RibbonFootprint && (pkm.Format < 6 && gen == 5 || gen >= 6 && pkm.CurrentLevel - pkm.Met_Level < 30))
            {
                yield return(new RibbonResult(nameof(s4.RibbonFootprint)));
            }

            bool gen34      = gen == 3 || gen == 4;
            bool not6       = pkm.Format < 6 || gen > 6 || gen < 3;
            bool noDaily    = !gen34 && not6;
            bool noCosmetic = !gen34 && (not6 || pkm.XY && pkm.IsUntraded);

            if (noDaily)
            {
                foreach (var z in GetInvalidRibbonsNone(s4.RibbonBitsDaily(), s4.RibbonNamesDaily()))
                {
                    yield return(z);
                }
            }
            if (noCosmetic)
            {
                foreach (var z in GetInvalidRibbonsNone(s4.RibbonBitsCosmetic(), s4.RibbonNamesCosmetic()))
                {
                    yield return(z);
                }
            }
        }
Beispiel #2
0
 internal static bool[] RibbonBitsOnly(this IRibbonSetCommon4 set)
 {
     return(new[]
     {
         set.RibbonRecord,
         set.RibbonChampionSinnoh,
         set.RibbonLegend,
     });
 }
Beispiel #3
0
 internal static bool[] RibbonBitsCosmetic(this IRibbonSetCommon4 set)
 {
     return(new[]
     {
         set.RibbonGorgeous,
         set.RibbonRoyal,
         set.RibbonGorgeousRoyal,
     });
 }
Beispiel #4
0
 internal static bool[] RibbonBitsDaily(this IRibbonSetCommon4 set)
 {
     return(new[]
     {
         set.RibbonAlert,
         set.RibbonShock,
         set.RibbonDowncast,
         set.RibbonCareless,
         set.RibbonRelax,
         set.RibbonSnooze,
         set.RibbonSmile,
     });
 }
Beispiel #5
0
 internal static void CopyRibbonSetCommon4(this IRibbonSetCommon4 set, IRibbonSetCommon4 dest)
 {
     dest.RibbonChampionSinnoh = set.RibbonChampionSinnoh;
     dest.RibbonAlert          = set.RibbonAlert;
     dest.RibbonShock          = set.RibbonShock;
     dest.RibbonDowncast       = set.RibbonDowncast;
     dest.RibbonCareless       = set.RibbonCareless;
     dest.RibbonRelax          = set.RibbonRelax;
     dest.RibbonSnooze         = set.RibbonSnooze;
     dest.RibbonSmile          = set.RibbonSmile;
     dest.RibbonGorgeous       = set.RibbonGorgeous;
     dest.RibbonRoyal          = set.RibbonRoyal;
     dest.RibbonGorgeousRoyal  = set.RibbonGorgeousRoyal;
     dest.RibbonFootprint      = set.RibbonFootprint;
     dest.RibbonRecord         = set.RibbonRecord;
     dest.RibbonLegend         = set.RibbonLegend;
 }
Beispiel #6
0
 internal static string[] RibbonNamesOnly(this IRibbonSetCommon4 set) => RibbonSetNamesCommon4Only;
Beispiel #7
0
 internal static string[] RibbonNamesCosmetic(this IRibbonSetCommon4 set) => RibbonSetNamesCommon4;
Beispiel #8
0
 internal static string[] RibbonNamesDaily(this IRibbonSetCommon4 _) => RibbonSetNamesCommon4Daily;