示例#1
0
        public static IEnumerable <IEncounterable> GetEncounters(PKM pkm)
        {
            var chain = EncounterOrigin.GetOriginChain(pkm);

            return(pkm.Version switch
            {
                (int)GameVersion.GO => EncounterGenerator7.GetEncountersGO(pkm, chain),
                (int)GameVersion.PLA => EncounterGenerator8a.GetEncounters(pkm, chain),
                (int)GameVersion.BD or(int) GameVersion.SP => EncounterGenerator8b.GetEncounters(pkm, chain),
                _ => GetEncountersMainline(pkm, chain),
            });
    public static IEnumerable <IEncounterable> GetEncounters(PKM pk)
    {
        var chain = EncounterOrigin.GetOriginChain(pk);

        return(pk.Version switch
        {
            (int)GameVersion.GO => EncounterGenerator7.GetEncountersGO(pk, chain),
            (int)GameVersion.PLA => EncounterGenerator8a.GetEncounters(pk, chain),
            (int)GameVersion.BD or(int) GameVersion.SP => EncounterGenerator8b.GetEncounters(pk, chain),
            (int)GameVersion.SW when pk.Met_Location == Locations.HOME_SWLA => EncounterGenerator8a.GetEncounters(pk, chain),
            (int)GameVersion.SW when pk.Met_Location == Locations.HOME_SWBD => EncounterGenerator8b.GetEncountersFuzzy(pk, chain, GameVersion.BD),
            (int)GameVersion.SH when pk.Met_Location == Locations.HOME_SHSP => EncounterGenerator8b.GetEncountersFuzzy(pk, chain, GameVersion.SP),
            _ => GetEncountersMainline(pk, chain),
        });