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); }
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))); }