Пример #1
0
        static Encounters2()
        {
            StaticGS  = Encounter_GS;
            StaticC   = Encounter_C;
            StaticGSC = Encounter_GSC;
            SlotsGS   = GetTables2(GameVersion.GS);
            SlotsC    = GetTables2(GameVersion.C);
            SlotsGSC  = GetTables2(GameVersion.GSC);
            MarkEncounterAreaArray(SlotsGS, SlotsC, SlotsGSC, EncounterSafari_GSC, EncounterBCC_GSC);
            ReduceAreasSize(ref SlotsGS);
            ReduceAreasSize(ref SlotsC);
            ReduceAreasSize(ref SlotsGSC);
            MarkEncountersGeneration(2, SlotsGS, SlotsC, SlotsGSC);
            MarkEncountersGeneration(2, StaticGS, StaticC, StaticGSC, TradeGift_GSC);

            MarkEncounterTradeStrings(TradeGift_GSC, TradeGift_GSC_OTs);

            SlotsGSC.SetVersion(GameVersion.GSC);
            SlotsGS.SetVersion(GameVersion.GS);
            SlotsC.SetVersion(GameVersion.C);
            StaticGSC.SetVersion(GameVersion.GSC);
            StaticGS.SetVersion(GameVersion.GS);
            StaticC.SetVersion(GameVersion.C);
            TradeGift_GSC.SetVersion(GameVersion.GSC);
        }
Пример #2
0
    public static IEnumerable <EncounterStatic> GetPossible(PKM pk, EvoCriteria[] chain, GameVersion gameSource)
    {
        var table = gameSource switch
        {
            RD or GN or BU or YW => StaticRBY.Where(z => z.Version.Contains(gameSource)),
            GD or SI => StaticGS.Where(z => z.Version.Contains(gameSource)),
            C => StaticC,
            _ => GetEncounterStaticTable(pk, gameSource),
        };

        return(table.Where(e => chain.Any(d => d.Species == e.Species)));
    }
        public static IEnumerable <EncounterStatic> GetPossible(PKM pkm, IReadOnlyList <DexLevel> chain, GameVersion gameSource = Any)
        {
            if (gameSource == Any)
            {
                gameSource = (GameVersion)pkm.Version;
            }

            var table = gameSource switch
            {
                RD or GN or BU or YW => StaticRBY.Where(z => z.Version.Contains(gameSource)),
                GD or SV => StaticGS.Where(z => z.Version.Contains(gameSource)),
                C => StaticC,
                _ => GetEncounterStaticTable(pkm, gameSource),
            };

            return(table.Where(e => chain.Any(d => d.Species == e.Species)));
        }