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