Extract version groups and route ordering to separate JSON files

Moves ~850 lines of inline data from fetch_pokeapi.py into
version_groups.json and route_order.json for easier editing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-07 14:35:30 +01:00
parent 9cec9836b4
commit cb027e5215
5 changed files with 846 additions and 835 deletions

View File

@@ -35,411 +35,22 @@ def extract_id(url: str) -> int:
return int(url.rstrip("/").split("/")[-1])
# Game definitions - Gen 1 through Gen 8
VERSION_GROUPS = {
# === Generation 1 ===
"red-blue": {
"versions": ["red", "blue"],
"generation": 1,
"region": "kanto",
"region_id": 1,
"games": {
"red": {
"name": "Pokemon Red",
"slug": "red",
"release_year": 1996,
"color": "#FF1111",
},
"blue": {
"name": "Pokemon Blue",
"slug": "blue",
"release_year": 1996,
"color": "#1111FF",
},
},
},
"yellow": {
"versions": ["yellow"],
"generation": 1,
"region": "kanto",
"region_id": 1,
"games": {
"yellow": {
"name": "Pokemon Yellow",
"slug": "yellow",
"release_year": 1998,
"color": "#FFD733",
},
},
},
# === Generation 2 ===
"gold-silver": {
"versions": ["gold", "silver"],
"generation": 2,
"region": "johto",
"region_id": 2,
"extra_regions": [1], # Kanto post-game
"games": {
"gold": {
"name": "Pokemon Gold",
"slug": "gold",
"release_year": 1999,
"color": "#DAA520",
},
"silver": {
"name": "Pokemon Silver",
"slug": "silver",
"release_year": 1999,
"color": "#C0C0C0",
},
},
},
"crystal": {
"versions": ["crystal"],
"generation": 2,
"region": "johto",
"region_id": 2,
"extra_regions": [1], # Kanto post-game
"games": {
"crystal": {
"name": "Pokemon Crystal",
"slug": "crystal",
"release_year": 2000,
"color": "#4FD9FF",
},
},
},
# === Generation 3 ===
"ruby-sapphire": {
"versions": ["ruby", "sapphire"],
"generation": 3,
"region": "hoenn",
"region_id": 3,
"games": {
"ruby": {
"name": "Pokemon Ruby",
"slug": "ruby",
"release_year": 2002,
"color": "#A00000",
},
"sapphire": {
"name": "Pokemon Sapphire",
"slug": "sapphire",
"release_year": 2002,
"color": "#0000A0",
},
},
},
"emerald": {
"versions": ["emerald"],
"generation": 3,
"region": "hoenn",
"region_id": 3,
"games": {
"emerald": {
"name": "Pokemon Emerald",
"slug": "emerald",
"release_year": 2005,
"color": "#00A000",
},
},
},
"firered-leafgreen": {
"versions": ["firered", "leafgreen"],
"generation": 3,
"region": "kanto",
"region_id": 1,
"games": {
"firered": {
"name": "Pokemon FireRed",
"slug": "firered",
"release_year": 2004,
"color": "#FF7327",
},
"leafgreen": {
"name": "Pokemon LeafGreen",
"slug": "leafgreen",
"release_year": 2004,
"color": "#00DD00",
},
},
},
# === Generation 4 ===
"diamond-pearl": {
"versions": ["diamond", "pearl"],
"generation": 4,
"region": "sinnoh",
"region_id": 4,
"games": {
"diamond": {
"name": "Pokemon Diamond",
"slug": "diamond",
"release_year": 2006,
"color": "#AAAAFF",
},
"pearl": {
"name": "Pokemon Pearl",
"slug": "pearl",
"release_year": 2006,
"color": "#FFAAAA",
},
},
},
"platinum": {
"versions": ["platinum"],
"generation": 4,
"region": "sinnoh",
"region_id": 4,
"games": {
"platinum": {
"name": "Pokemon Platinum",
"slug": "platinum",
"release_year": 2008,
"color": "#999999",
},
},
},
"heartgold-soulsilver": {
"versions": ["heartgold", "soulsilver"],
"generation": 4,
"region": "johto",
"region_id": 2,
"extra_regions": [1], # Kanto post-game
"games": {
"heartgold": {
"name": "Pokemon HeartGold",
"slug": "heartgold",
"release_year": 2010,
"color": "#B69E00",
},
"soulsilver": {
"name": "Pokemon SoulSilver",
"slug": "soulsilver",
"release_year": 2010,
"color": "#C0C0E0",
},
},
},
# === Generation 5 ===
"black-white": {
"versions": ["black", "white"],
"generation": 5,
"region": "unova",
"region_id": 5,
"games": {
"black": {
"name": "Pokemon Black",
"slug": "black",
"release_year": 2010,
"color": "#444444",
},
"white": {
"name": "Pokemon White",
"slug": "white",
"release_year": 2010,
"color": "#E1E1E1",
},
},
},
"black-2-white-2": {
"versions": ["black-2", "white-2"],
"generation": 5,
"region": "unova",
"region_id": 5,
"games": {
"black-2": {
"name": "Pokemon Black 2",
"slug": "black-2",
"release_year": 2012,
"color": "#424B50",
},
"white-2": {
"name": "Pokemon White 2",
"slug": "white-2",
"release_year": 2012,
"color": "#E3CED0",
},
},
},
# === Generation 6 ===
"x-y": {
"versions": ["x", "y"],
"generation": 6,
"region": "kalos",
"region_id": 6,
"games": {
"x": {
"name": "Pokemon X",
"slug": "x",
"release_year": 2013,
"color": "#025DA6",
},
"y": {
"name": "Pokemon Y",
"slug": "y",
"release_year": 2013,
"color": "#EA1A3E",
},
},
},
"omega-ruby-alpha-sapphire": {
"versions": ["omega-ruby", "alpha-sapphire"],
"generation": 6,
"region": "hoenn",
"region_id": 3,
"games": {
"omega-ruby": {
"name": "Pokemon Omega Ruby",
"slug": "omega-ruby",
"release_year": 2014,
"color": "#CF3025",
},
"alpha-sapphire": {
"name": "Pokemon Alpha Sapphire",
"slug": "alpha-sapphire",
"release_year": 2014,
"color": "#26649C",
},
},
},
# === Generation 7 ===
"sun-moon": {
"versions": ["sun", "moon"],
"generation": 7,
"region": "alola",
"region_id": 7,
"games": {
"sun": {
"name": "Pokemon Sun",
"slug": "sun",
"release_year": 2016,
"color": "#F1912B",
},
"moon": {
"name": "Pokemon Moon",
"slug": "moon",
"release_year": 2016,
"color": "#5599CA",
},
},
},
"ultra-sun-ultra-moon": {
"versions": ["ultra-sun", "ultra-moon"],
"generation": 7,
"region": "alola",
"region_id": 7,
"games": {
"ultra-sun": {
"name": "Pokemon Ultra Sun",
"slug": "ultra-sun",
"release_year": 2017,
"color": "#E95B2B",
},
"ultra-moon": {
"name": "Pokemon Ultra Moon",
"slug": "ultra-moon",
"release_year": 2017,
"color": "#204E8C",
},
},
},
"lets-go": {
"versions": ["lets-go-pikachu", "lets-go-eevee"],
"generation": 7,
"region": "kanto",
"region_id": 1,
"games": {
"lets-go-pikachu": {
"name": "Pokemon Let's Go Pikachu",
"slug": "lets-go-pikachu",
"release_year": 2018,
"color": "#F5DA00",
},
"lets-go-eevee": {
"name": "Pokemon Let's Go Eevee",
"slug": "lets-go-eevee",
"release_year": 2018,
"color": "#D4924B",
},
},
},
# === Generation 8 ===
"sword-shield": {
"versions": ["sword", "shield"],
"generation": 8,
"region": "galar",
"region_id": 8,
"games": {
"sword": {
"name": "Pokemon Sword",
"slug": "sword",
"release_year": 2019,
"color": "#00D4E7",
},
"shield": {
"name": "Pokemon Shield",
"slug": "shield",
"release_year": 2019,
"color": "#EF3B6E",
},
},
},
"brilliant-diamond-shining-pearl": {
"versions": ["brilliant-diamond", "shining-pearl"],
"generation": 8,
"region": "sinnoh",
"region_id": 4,
"games": {
"brilliant-diamond": {
"name": "Pokemon Brilliant Diamond",
"slug": "brilliant-diamond",
"release_year": 2021,
"color": "#44BAE5",
},
"shining-pearl": {
"name": "Pokemon Shining Pearl",
"slug": "shining-pearl",
"release_year": 2021,
"color": "#E18AAA",
},
},
},
"legends-arceus": {
"versions": ["legends-arceus"],
"generation": 8,
"region": "hisui",
"region_id": 9,
"games": {
"legends-arceus": {
"name": "Pokemon Legends: Arceus",
"slug": "legends-arceus",
"release_year": 2022,
"color": "#36597B",
},
},
},
# === Generation 9 ===
"scarlet-violet": {
"versions": ["scarlet", "violet"],
"generation": 9,
"region": "paldea",
"region_id": 10,
"games": {
"scarlet": {
"name": "Pokemon Scarlet",
"slug": "scarlet",
"release_year": 2022,
"color": "#F93C3C",
},
"violet": {
"name": "Pokemon Violet",
"slug": "violet",
"release_year": 2022,
"color": "#A96EEC",
},
},
},
}
def _load_version_groups() -> dict:
with open(SEEDS_DIR / "version_groups.json") as f:
return json.load(f)
def _load_route_order() -> dict[str, list[str]]:
with open(SEEDS_DIR / "route_order.json") as f:
data = json.load(f)
routes = dict(data["routes"])
for alias, target in data.get("aliases", {}).items():
routes[alias] = routes[target]
return routes
VERSION_GROUPS = _load_version_groups()
ROUTE_ORDER: dict[str, list[str]] = _load_route_order()
# Encounter methods to include (excludes gift, legendary-only, etc.)
INCLUDED_METHODS = {
@@ -452,434 +63,6 @@ INCLUDED_METHODS = {
"headbutt",
}
# Route progression order by version group.
# Keys are version group names from VERSION_GROUPS. Names must match
# clean_location_name() output. Routes not listed fall to the end alphabetically.
ROUTE_ORDER: dict[str, list[str]] = {
"firered-leafgreen": [
# Main Kanto progression
"Starter",
"Pallet Town",
"Route 1",
"Viridian City",
"Route 22",
"Route 2",
"Viridian Forest",
"Pewter City",
"Route 3",
"Mt Moon",
"Route 4",
"Cerulean City",
"Route 24",
"Route 25",
"Route 5",
"Route 6",
"Vermilion City",
"Ss Anne",
"Route 11",
"Digletts Cave",
"Route 9",
"Route 10",
"Rock Tunnel",
"Power Plant",
"Route 8",
"Route 7",
"Celadon City",
"Saffron City",
"Lavender Town",
"Route 16",
"Route 17",
"Route 18",
"Fuchsia City",
"Safari Zone",
"Route 15",
"Route 14",
"Route 13",
"Route 12",
"Pokemon Tower",
"Sea Route 19",
"Sea Route 20",
"Seafoam Islands",
"Cinnabar Island",
"Pokemon Mansion",
"Sea Route 21",
"Route 23",
"Victory Road 2",
"Cerulean Cave",
# Sevii Islands
"One Island",
"Kindle Road",
"Treasure Beach",
"Mt Ember",
"Cape Brink",
"Berry Forest",
"Bond Bridge",
"Three Isle Port",
"Four Island",
"Icefall Cave",
"Resort Gorgeous",
"Water Labyrinth",
"Five Island",
"Five Isle Meadow",
"Memorial Pillar",
"Outcast Island",
"Green Path",
"Water Path",
"Ruin Valley",
"Lost Cave",
"Pattern Bush",
"Trainer Tower",
"Canyon Entrance",
"Sevault Canyon",
"Tanoby Ruins",
"Monean Chamber",
"Liptoo Chamber",
"Weepth Chamber",
"Dilford Chamber",
"Scufib Chamber",
"Rixy Chamber",
"Viapos Chamber",
"Altering Cave",
],
"heartgold-soulsilver": [
# Johto
"Starter",
"New Bark Town",
"Route 29",
"Cherrygrove City",
"Route 30",
"Route 31",
"Dark Cave",
"Violet City",
"Sprout Tower",
"Route 32",
"Ruins Of Alph",
"Union Cave",
"Route 33",
"Slowpoke Well",
"Route 34",
"Ilex Forest",
"National Park",
"Route 35",
"Goldenrod City",
"Route 36",
"Route 37",
"Ecruteak City",
"Burned Tower",
"Bell Tower",
"Route 38",
"Route 39",
"Olivine City",
"Sea Route 40",
"Sea Route 41",
"Cianwood City",
"Route 42",
"Mt Mortar",
"Lake Of Rage",
"Route 43",
"Route 44",
"Ice Path",
"Blackthorn City",
"Dragons Den",
"Route 45",
"Route 46",
"Route 47",
"Route 48",
"Safari Zone",
"Whirl Islands",
"Tohjo Falls",
# Kanto post-game
"Route 27",
"Route 26",
"Victory Road 1",
"Route 28",
"Mt Silver",
"Pallet Town",
"Route 1",
"Viridian City",
"Viridian Forest",
"Pewter City",
"Route 2",
"Route 3",
"Mt Moon",
"Route 4",
"Cerulean City",
"Route 24",
"Route 25",
"Cerulean Cave",
"Route 5",
"Route 6",
"Vermilion City",
"Route 7",
"Route 8",
"Route 9",
"Route 10",
"Rock Tunnel",
"Route 11",
"Digletts Cave",
"Route 12",
"Route 13",
"Route 14",
"Route 15",
"Fuchsia City",
"Route 16",
"Route 17",
"Route 18",
"Celadon City",
"Sea Route 19",
"Sea Route 20",
"Seafoam Islands",
"Cinnabar Island",
"Sea Route 21",
"Route 22",
# Misc
"Unknown All Poliwag",
"Unknown All Rattata",
"Unknown All Bugs",
],
"emerald": [
"Starter",
"Route 101",
"Oldale Town",
"Route 103",
"Route 102",
"Petalburg City",
"Route 104",
"Petalburg Woods",
"Rusturf Tunnel",
"Route 116",
"Rustboro City",
"Route 105",
"Route 106",
"Dewford Town",
"Granite Cave",
"Route 107",
"Route 108",
"Route 109",
"Slateport City",
"Route 110",
"New Mauville",
"Route 117",
"Route 111",
"Mirage Tower",
"Route 112",
"Fiery Path",
"Jagged Pass",
"Lavaridge Town",
"Route 113",
"Route 114",
"Meteor Falls",
"Route 115",
"Route 118",
"Route 119",
"Route 120",
"Route 121",
"Safari Zone",
"Lilycove City",
"Route 122",
"Mt Pyre",
"Route 123",
"Magma Hideout",
"Route 124",
"Mossdeep City",
"Route 125",
"Shoal Cave",
"Route 126",
"Sootopolis City",
"Cave Of Origin",
"Route 127",
"Route 128",
"Seafloor Cavern",
"Route 129",
"Route 130",
"Route 131",
"Pacifidlog Town",
"Route 132",
"Route 133",
"Route 134",
"Ever Grande City",
"Victory Road",
"Sky Pillar",
"Abandoned Ship",
"Desert Underpass",
"Artisan Cave",
"Altering Cave",
],
"platinum": [
"Canalave City",
"Pastoria City",
"Sunyshore City",
"Pokemon League",
"Oreburgh Mine",
"Oreburgh Mine (1F)",
"Oreburgh Mine (B1F)",
"Valley Windworks",
"Eterna Forest",
"Eterna City",
"Fuego Ironworks",
"Mt Coronet",
"Mt Coronet (1F Route 207)",
"Mt Coronet (2F)",
"Mt Coronet (3F)",
"Mt Coronet (Exterior Snowfall)",
"Mt Coronet (Exterior Blizzard)",
"Mt Coronet (4F)",
"Mt Coronet (4F Small Room)",
"Mt Coronet (5F)",
"Mt Coronet (6F)",
"Mt Coronet (1F From Exterior)",
"Mt Coronet (1F Route 216)",
"Mt Coronet (1F Route 211)",
"Mt Coronet (B1F)",
"Great Marsh",
"Great Marsh (Area 1)",
"Great Marsh (Area 2)",
"Great Marsh (Area 3)",
"Great Marsh (Area 4)",
"Great Marsh (Area 5)",
"Great Marsh (Area 6)",
"Solaceon Ruins",
"Solaceon Ruins (2F)",
"Solaceon Ruins (1F)",
"Solaceon Ruins (B1F A)",
"Solaceon Ruins (B1F B)",
"Solaceon Ruins (B1F C)",
"Solaceon Ruins (B2F A)",
"Solaceon Ruins (B2F B)",
"Solaceon Ruins (B2F C)",
"Solaceon Ruins (B3F A)",
"Solaceon Ruins (B3F B)",
"Solaceon Ruins (B3F C)",
"Solaceon Ruins (B3F D)",
"Solaceon Ruins (B3F E)",
"Solaceon Ruins (B4F A)",
"Solaceon Ruins (B4F B)",
"Solaceon Ruins (B4F C)",
"Solaceon Ruins (B4F D)",
"Solaceon Ruins (B5F)",
"Victory Road",
"Victory Road (1F)",
"Victory Road (2F)",
"Victory Road (B1F)",
"Victory Road (Inside B1F)",
"Victory Road (Inside)",
"Victory Road (Inside Exit)",
"Ravaged Path",
"Oreburgh Gate",
"Oreburgh Gate (1F)",
"Oreburgh Gate (B1F)",
"Stark Mountain (Entrance)",
"Stark Mountain (Inside)",
"Stark Mountain",
"Turnback Cave",
"Turnback Cave (Pillar 1)",
"Turnback Cave (Pillar 2)",
"Turnback Cave (Pillar 3)",
"Turnback Cave (Before Pillar 1)",
"Turnback Cave (Between Pillars 1 And 2)",
"Turnback Cave (Between Pillars 2 And 3)",
"Turnback Cave (After Pillar 3)",
"Snowpoint Temple",
"Snowpoint Temple (1F)",
"Snowpoint Temple (B1F)",
"Snowpoint Temple (B2F)",
"Snowpoint Temple (B3F)",
"Snowpoint Temple (B4F)",
"Snowpoint Temple (B5F)",
"Wayward Cave",
"Wayward Cave (1F)",
"Wayward Cave (B1F)",
"Ruin Maniac Cave",
"Ruin Maniac Cave (0 9 Different Unown Caught)",
"Ruin Maniac Cave (10 25 Different Unown Caught)",
"Trophy Garden",
"Iron Island (1F)",
"Iron Island (B1F Left)",
"Iron Island (B1F Right)",
"Iron Island (B2F Right)",
"Iron Island (B2F Left)",
"Iron Island (B3F)",
"Iron Island",
"Old Chateau",
"Old Chateau (Entrance)",
"Old Chateau (Dining Room)",
"Old Chateau (2F Private Room)",
"Old Chateau (2F)",
"Old Chateau (2F Leftmost Room)",
"Old Chateau (2F Left Room)",
"Old Chateau (2F Middle Room)",
"Old Chateau (2F Right Room)",
"Old Chateau (2F Rightmost Room)",
"Lake Verity",
"Lake Verity (Before Galactic Intervention)",
"Lake Verity (After Galactic Intervention)",
"Lake Valor",
"Lake Acuity",
"Valor Lakefront",
"Acuity Lakefront",
"Route 201",
"Route 202",
"Route 203",
"Route 204",
"Route 204 (South Towards Jubilife City)",
"Route 204 (North Towards Floaroma Town)",
"Route 205",
"Route 205 (South Towards Floaroma Town)",
"Route 205 (East Towards Eterna City)",
"Route 206",
"Route 207",
"Route 208",
"Route 209",
"Lost Tower",
"Lost Tower (1F)",
"Lost Tower (2F)",
"Lost Tower (3F)",
"Lost Tower (4F)",
"Lost Tower (5F)",
"Route 210",
"Route 210 (South Towards Solaceon Town)",
"Route 210 (West Towards Celestic Town)",
"Route 211",
"Route 211 (West Towards Eterna City)",
"Route 211 (East Towards Celestic Town)",
"Route 212",
"Route 212 (North Towards Hearthome City)",
"Route 212 (East Towards Pastoria City)",
"Route 213",
"Route 214",
"Route 215",
"Route 216",
"Route 217",
"Route 218",
"Route 219",
"Route 221",
"Route 222",
"Route 224",
"Route 225",
"Route 227",
"Route 228",
"Route 229",
"Twinleaf Town",
"Celestic Town",
"Resort Area",
"Sea Route 220",
"Sea Route 223",
"Sea Route 226",
"Sea Route 230",
"Sendoff Spring",
"Maniac Tunnel"
]
}
# Aliases — version groups sharing same route progression
ROUTE_ORDER["red-blue"] = ROUTE_ORDER["firered-leafgreen"]
ROUTE_ORDER["yellow"] = ROUTE_ORDER["firered-leafgreen"]
ROUTE_ORDER["lets-go"] = ROUTE_ORDER["firered-leafgreen"]
ROUTE_ORDER["gold-silver"] = ROUTE_ORDER["heartgold-soulsilver"]
ROUTE_ORDER["crystal"] = ROUTE_ORDER["heartgold-soulsilver"]
ROUTE_ORDER["ruby-sapphire"] = ROUTE_ORDER["emerald"]
ROUTE_ORDER["omega-ruby-alpha-sapphire"] = ROUTE_ORDER["emerald"]
# Collect all pokemon dex numbers across games
all_pokemon_dex: set[int] = set()

View File

@@ -0,0 +1,422 @@
{
"_comment": "Route progression order by version group. Aliases at the bottom map version groups that share the same ordering.",
"routes": {
"firered-leafgreen": [
"Starter",
"Pallet Town",
"Route 1",
"Viridian City",
"Route 22",
"Route 2",
"Viridian Forest",
"Pewter City",
"Route 3",
"Mt Moon",
"Route 4",
"Cerulean City",
"Route 24",
"Route 25",
"Route 5",
"Route 6",
"Vermilion City",
"Ss Anne",
"Route 11",
"Digletts Cave",
"Route 9",
"Route 10",
"Rock Tunnel",
"Power Plant",
"Route 8",
"Route 7",
"Celadon City",
"Saffron City",
"Lavender Town",
"Route 16",
"Route 17",
"Route 18",
"Fuchsia City",
"Safari Zone",
"Route 15",
"Route 14",
"Route 13",
"Route 12",
"Pokemon Tower",
"Sea Route 19",
"Sea Route 20",
"Seafoam Islands",
"Cinnabar Island",
"Pokemon Mansion",
"Sea Route 21",
"Route 23",
"Victory Road 2",
"Cerulean Cave",
"One Island",
"Kindle Road",
"Treasure Beach",
"Mt Ember",
"Cape Brink",
"Berry Forest",
"Bond Bridge",
"Three Isle Port",
"Four Island",
"Icefall Cave",
"Resort Gorgeous",
"Water Labyrinth",
"Five Island",
"Five Isle Meadow",
"Memorial Pillar",
"Outcast Island",
"Green Path",
"Water Path",
"Ruin Valley",
"Lost Cave",
"Pattern Bush",
"Trainer Tower",
"Canyon Entrance",
"Sevault Canyon",
"Tanoby Ruins",
"Monean Chamber",
"Liptoo Chamber",
"Weepth Chamber",
"Dilford Chamber",
"Scufib Chamber",
"Rixy Chamber",
"Viapos Chamber",
"Altering Cave"
],
"heartgold-soulsilver": [
"Starter",
"New Bark Town",
"Route 29",
"Cherrygrove City",
"Route 30",
"Route 31",
"Dark Cave",
"Violet City",
"Sprout Tower",
"Route 32",
"Ruins Of Alph",
"Union Cave",
"Route 33",
"Slowpoke Well",
"Route 34",
"Ilex Forest",
"National Park",
"Route 35",
"Goldenrod City",
"Route 36",
"Route 37",
"Ecruteak City",
"Burned Tower",
"Bell Tower",
"Route 38",
"Route 39",
"Olivine City",
"Sea Route 40",
"Sea Route 41",
"Cianwood City",
"Route 42",
"Mt Mortar",
"Lake Of Rage",
"Route 43",
"Route 44",
"Ice Path",
"Blackthorn City",
"Dragons Den",
"Route 45",
"Route 46",
"Route 47",
"Route 48",
"Safari Zone",
"Whirl Islands",
"Tohjo Falls",
"Route 27",
"Route 26",
"Victory Road 1",
"Route 28",
"Mt Silver",
"Pallet Town",
"Route 1",
"Viridian City",
"Viridian Forest",
"Pewter City",
"Route 2",
"Route 3",
"Mt Moon",
"Route 4",
"Cerulean City",
"Route 24",
"Route 25",
"Cerulean Cave",
"Route 5",
"Route 6",
"Vermilion City",
"Route 7",
"Route 8",
"Route 9",
"Route 10",
"Rock Tunnel",
"Route 11",
"Digletts Cave",
"Route 12",
"Route 13",
"Route 14",
"Route 15",
"Fuchsia City",
"Route 16",
"Route 17",
"Route 18",
"Celadon City",
"Sea Route 19",
"Sea Route 20",
"Seafoam Islands",
"Cinnabar Island",
"Sea Route 21",
"Route 22",
"Unknown All Poliwag",
"Unknown All Rattata",
"Unknown All Bugs"
],
"emerald": [
"Starter",
"Route 101",
"Oldale Town",
"Route 103",
"Route 102",
"Petalburg City",
"Route 104",
"Petalburg Woods",
"Rusturf Tunnel",
"Route 116",
"Rustboro City",
"Route 105",
"Route 106",
"Dewford Town",
"Granite Cave",
"Route 107",
"Route 108",
"Route 109",
"Slateport City",
"Route 110",
"New Mauville",
"Route 117",
"Route 111",
"Mirage Tower",
"Route 112",
"Fiery Path",
"Jagged Pass",
"Lavaridge Town",
"Route 113",
"Route 114",
"Meteor Falls",
"Route 115",
"Route 118",
"Route 119",
"Route 120",
"Route 121",
"Safari Zone",
"Lilycove City",
"Route 122",
"Mt Pyre",
"Route 123",
"Magma Hideout",
"Route 124",
"Mossdeep City",
"Route 125",
"Shoal Cave",
"Route 126",
"Sootopolis City",
"Cave Of Origin",
"Route 127",
"Route 128",
"Seafloor Cavern",
"Route 129",
"Route 130",
"Route 131",
"Pacifidlog Town",
"Route 132",
"Route 133",
"Route 134",
"Ever Grande City",
"Victory Road",
"Sky Pillar",
"Abandoned Ship",
"Desert Underpass",
"Artisan Cave",
"Altering Cave"
],
"platinum": [
"Canalave City",
"Pastoria City",
"Sunyshore City",
"Pokemon League",
"Oreburgh Mine",
"Oreburgh Mine (1F)",
"Oreburgh Mine (B1F)",
"Valley Windworks",
"Eterna Forest",
"Eterna City",
"Fuego Ironworks",
"Mt Coronet",
"Mt Coronet (1F Route 207)",
"Mt Coronet (2F)",
"Mt Coronet (3F)",
"Mt Coronet (Exterior Snowfall)",
"Mt Coronet (Exterior Blizzard)",
"Mt Coronet (4F)",
"Mt Coronet (4F Small Room)",
"Mt Coronet (5F)",
"Mt Coronet (6F)",
"Mt Coronet (1F From Exterior)",
"Mt Coronet (1F Route 216)",
"Mt Coronet (1F Route 211)",
"Mt Coronet (B1F)",
"Great Marsh",
"Great Marsh (Area 1)",
"Great Marsh (Area 2)",
"Great Marsh (Area 3)",
"Great Marsh (Area 4)",
"Great Marsh (Area 5)",
"Great Marsh (Area 6)",
"Solaceon Ruins",
"Solaceon Ruins (2F)",
"Solaceon Ruins (1F)",
"Solaceon Ruins (B1F A)",
"Solaceon Ruins (B1F B)",
"Solaceon Ruins (B1F C)",
"Solaceon Ruins (B2F A)",
"Solaceon Ruins (B2F B)",
"Solaceon Ruins (B2F C)",
"Solaceon Ruins (B3F A)",
"Solaceon Ruins (B3F B)",
"Solaceon Ruins (B3F C)",
"Solaceon Ruins (B3F D)",
"Solaceon Ruins (B3F E)",
"Solaceon Ruins (B4F A)",
"Solaceon Ruins (B4F B)",
"Solaceon Ruins (B4F C)",
"Solaceon Ruins (B4F D)",
"Solaceon Ruins (B5F)",
"Victory Road",
"Victory Road (1F)",
"Victory Road (2F)",
"Victory Road (B1F)",
"Victory Road (Inside B1F)",
"Victory Road (Inside)",
"Victory Road (Inside Exit)",
"Ravaged Path",
"Oreburgh Gate",
"Oreburgh Gate (1F)",
"Oreburgh Gate (B1F)",
"Stark Mountain (Entrance)",
"Stark Mountain (Inside)",
"Stark Mountain",
"Turnback Cave",
"Turnback Cave (Pillar 1)",
"Turnback Cave (Pillar 2)",
"Turnback Cave (Pillar 3)",
"Turnback Cave (Before Pillar 1)",
"Turnback Cave (Between Pillars 1 And 2)",
"Turnback Cave (Between Pillars 2 And 3)",
"Turnback Cave (After Pillar 3)",
"Snowpoint Temple",
"Snowpoint Temple (1F)",
"Snowpoint Temple (B1F)",
"Snowpoint Temple (B2F)",
"Snowpoint Temple (B3F)",
"Snowpoint Temple (B4F)",
"Snowpoint Temple (B5F)",
"Wayward Cave",
"Wayward Cave (1F)",
"Wayward Cave (B1F)",
"Ruin Maniac Cave",
"Ruin Maniac Cave (0 9 Different Unown Caught)",
"Ruin Maniac Cave (10 25 Different Unown Caught)",
"Trophy Garden",
"Iron Island (1F)",
"Iron Island (B1F Left)",
"Iron Island (B1F Right)",
"Iron Island (B2F Right)",
"Iron Island (B2F Left)",
"Iron Island (B3F)",
"Iron Island",
"Old Chateau",
"Old Chateau (Entrance)",
"Old Chateau (Dining Room)",
"Old Chateau (2F Private Room)",
"Old Chateau (2F)",
"Old Chateau (2F Leftmost Room)",
"Old Chateau (2F Left Room)",
"Old Chateau (2F Middle Room)",
"Old Chateau (2F Right Room)",
"Old Chateau (2F Rightmost Room)",
"Lake Verity",
"Lake Verity (Before Galactic Intervention)",
"Lake Verity (After Galactic Intervention)",
"Lake Valor",
"Lake Acuity",
"Valor Lakefront",
"Acuity Lakefront",
"Route 201",
"Route 202",
"Route 203",
"Route 204",
"Route 204 (South Towards Jubilife City)",
"Route 204 (North Towards Floaroma Town)",
"Route 205",
"Route 205 (South Towards Floaroma Town)",
"Route 205 (East Towards Eterna City)",
"Route 206",
"Route 207",
"Route 208",
"Route 209",
"Lost Tower",
"Lost Tower (1F)",
"Lost Tower (2F)",
"Lost Tower (3F)",
"Lost Tower (4F)",
"Lost Tower (5F)",
"Route 210",
"Route 210 (South Towards Solaceon Town)",
"Route 210 (West Towards Celestic Town)",
"Route 211",
"Route 211 (West Towards Eterna City)",
"Route 211 (East Towards Celestic Town)",
"Route 212",
"Route 212 (North Towards Hearthome City)",
"Route 212 (East Towards Pastoria City)",
"Route 213",
"Route 214",
"Route 215",
"Route 216",
"Route 217",
"Route 218",
"Route 219",
"Route 221",
"Route 222",
"Route 224",
"Route 225",
"Route 227",
"Route 228",
"Route 229",
"Twinleaf Town",
"Celestic Town",
"Resort Area",
"Sea Route 220",
"Sea Route 223",
"Sea Route 226",
"Sea Route 230",
"Sendoff Spring",
"Maniac Tunnel"
]
},
"aliases": {
"red-blue": "firered-leafgreen",
"yellow": "firered-leafgreen",
"lets-go": "firered-leafgreen",
"gold-silver": "heartgold-soulsilver",
"crystal": "heartgold-soulsilver",
"ruby-sapphire": "emerald",
"omega-ruby-alpha-sapphire": "emerald"
}
}

View File

@@ -0,0 +1,395 @@
{
"red-blue": {
"versions": ["red", "blue"],
"generation": 1,
"region": "kanto",
"region_id": 1,
"games": {
"red": {
"name": "Pokemon Red",
"slug": "red",
"release_year": 1996,
"color": "#FF1111"
},
"blue": {
"name": "Pokemon Blue",
"slug": "blue",
"release_year": 1996,
"color": "#1111FF"
}
}
},
"yellow": {
"versions": ["yellow"],
"generation": 1,
"region": "kanto",
"region_id": 1,
"games": {
"yellow": {
"name": "Pokemon Yellow",
"slug": "yellow",
"release_year": 1998,
"color": "#FFD733"
}
}
},
"gold-silver": {
"versions": ["gold", "silver"],
"generation": 2,
"region": "johto",
"region_id": 2,
"extra_regions": [1],
"games": {
"gold": {
"name": "Pokemon Gold",
"slug": "gold",
"release_year": 1999,
"color": "#DAA520"
},
"silver": {
"name": "Pokemon Silver",
"slug": "silver",
"release_year": 1999,
"color": "#C0C0C0"
}
}
},
"crystal": {
"versions": ["crystal"],
"generation": 2,
"region": "johto",
"region_id": 2,
"extra_regions": [1],
"games": {
"crystal": {
"name": "Pokemon Crystal",
"slug": "crystal",
"release_year": 2000,
"color": "#4FD9FF"
}
}
},
"ruby-sapphire": {
"versions": ["ruby", "sapphire"],
"generation": 3,
"region": "hoenn",
"region_id": 3,
"games": {
"ruby": {
"name": "Pokemon Ruby",
"slug": "ruby",
"release_year": 2002,
"color": "#A00000"
},
"sapphire": {
"name": "Pokemon Sapphire",
"slug": "sapphire",
"release_year": 2002,
"color": "#0000A0"
}
}
},
"emerald": {
"versions": ["emerald"],
"generation": 3,
"region": "hoenn",
"region_id": 3,
"games": {
"emerald": {
"name": "Pokemon Emerald",
"slug": "emerald",
"release_year": 2005,
"color": "#00A000"
}
}
},
"firered-leafgreen": {
"versions": ["firered", "leafgreen"],
"generation": 3,
"region": "kanto",
"region_id": 1,
"games": {
"firered": {
"name": "Pokemon FireRed",
"slug": "firered",
"release_year": 2004,
"color": "#FF7327"
},
"leafgreen": {
"name": "Pokemon LeafGreen",
"slug": "leafgreen",
"release_year": 2004,
"color": "#00DD00"
}
}
},
"diamond-pearl": {
"versions": ["diamond", "pearl"],
"generation": 4,
"region": "sinnoh",
"region_id": 4,
"games": {
"diamond": {
"name": "Pokemon Diamond",
"slug": "diamond",
"release_year": 2006,
"color": "#AAAAFF"
},
"pearl": {
"name": "Pokemon Pearl",
"slug": "pearl",
"release_year": 2006,
"color": "#FFAAAA"
}
}
},
"platinum": {
"versions": ["platinum"],
"generation": 4,
"region": "sinnoh",
"region_id": 4,
"games": {
"platinum": {
"name": "Pokemon Platinum",
"slug": "platinum",
"release_year": 2008,
"color": "#999999"
}
}
},
"heartgold-soulsilver": {
"versions": ["heartgold", "soulsilver"],
"generation": 4,
"region": "johto",
"region_id": 2,
"extra_regions": [1],
"games": {
"heartgold": {
"name": "Pokemon HeartGold",
"slug": "heartgold",
"release_year": 2010,
"color": "#B69E00"
},
"soulsilver": {
"name": "Pokemon SoulSilver",
"slug": "soulsilver",
"release_year": 2010,
"color": "#C0C0E0"
}
}
},
"black-white": {
"versions": ["black", "white"],
"generation": 5,
"region": "unova",
"region_id": 5,
"games": {
"black": {
"name": "Pokemon Black",
"slug": "black",
"release_year": 2010,
"color": "#444444"
},
"white": {
"name": "Pokemon White",
"slug": "white",
"release_year": 2010,
"color": "#E1E1E1"
}
}
},
"black-2-white-2": {
"versions": ["black-2", "white-2"],
"generation": 5,
"region": "unova",
"region_id": 5,
"games": {
"black-2": {
"name": "Pokemon Black 2",
"slug": "black-2",
"release_year": 2012,
"color": "#424B50"
},
"white-2": {
"name": "Pokemon White 2",
"slug": "white-2",
"release_year": 2012,
"color": "#E3CED0"
}
}
},
"x-y": {
"versions": ["x", "y"],
"generation": 6,
"region": "kalos",
"region_id": 6,
"games": {
"x": {
"name": "Pokemon X",
"slug": "x",
"release_year": 2013,
"color": "#025DA6"
},
"y": {
"name": "Pokemon Y",
"slug": "y",
"release_year": 2013,
"color": "#EA1A3E"
}
}
},
"omega-ruby-alpha-sapphire": {
"versions": ["omega-ruby", "alpha-sapphire"],
"generation": 6,
"region": "hoenn",
"region_id": 3,
"games": {
"omega-ruby": {
"name": "Pokemon Omega Ruby",
"slug": "omega-ruby",
"release_year": 2014,
"color": "#CF3025"
},
"alpha-sapphire": {
"name": "Pokemon Alpha Sapphire",
"slug": "alpha-sapphire",
"release_year": 2014,
"color": "#26649C"
}
}
},
"sun-moon": {
"versions": ["sun", "moon"],
"generation": 7,
"region": "alola",
"region_id": 7,
"games": {
"sun": {
"name": "Pokemon Sun",
"slug": "sun",
"release_year": 2016,
"color": "#F1912B"
},
"moon": {
"name": "Pokemon Moon",
"slug": "moon",
"release_year": 2016,
"color": "#5599CA"
}
}
},
"ultra-sun-ultra-moon": {
"versions": ["ultra-sun", "ultra-moon"],
"generation": 7,
"region": "alola",
"region_id": 7,
"games": {
"ultra-sun": {
"name": "Pokemon Ultra Sun",
"slug": "ultra-sun",
"release_year": 2017,
"color": "#E95B2B"
},
"ultra-moon": {
"name": "Pokemon Ultra Moon",
"slug": "ultra-moon",
"release_year": 2017,
"color": "#204E8C"
}
}
},
"lets-go": {
"versions": ["lets-go-pikachu", "lets-go-eevee"],
"generation": 7,
"region": "kanto",
"region_id": 1,
"games": {
"lets-go-pikachu": {
"name": "Pokemon Let's Go Pikachu",
"slug": "lets-go-pikachu",
"release_year": 2018,
"color": "#F5DA00"
},
"lets-go-eevee": {
"name": "Pokemon Let's Go Eevee",
"slug": "lets-go-eevee",
"release_year": 2018,
"color": "#D4924B"
}
}
},
"sword-shield": {
"versions": ["sword", "shield"],
"generation": 8,
"region": "galar",
"region_id": 8,
"games": {
"sword": {
"name": "Pokemon Sword",
"slug": "sword",
"release_year": 2019,
"color": "#00D4E7"
},
"shield": {
"name": "Pokemon Shield",
"slug": "shield",
"release_year": 2019,
"color": "#EF3B6E"
}
}
},
"brilliant-diamond-shining-pearl": {
"versions": ["brilliant-diamond", "shining-pearl"],
"generation": 8,
"region": "sinnoh",
"region_id": 4,
"games": {
"brilliant-diamond": {
"name": "Pokemon Brilliant Diamond",
"slug": "brilliant-diamond",
"release_year": 2021,
"color": "#44BAE5"
},
"shining-pearl": {
"name": "Pokemon Shining Pearl",
"slug": "shining-pearl",
"release_year": 2021,
"color": "#E18AAA"
}
}
},
"legends-arceus": {
"versions": ["legends-arceus"],
"generation": 8,
"region": "hisui",
"region_id": 9,
"games": {
"legends-arceus": {
"name": "Pokemon Legends: Arceus",
"slug": "legends-arceus",
"release_year": 2022,
"color": "#36597B"
}
}
},
"scarlet-violet": {
"versions": ["scarlet", "violet"],
"generation": 9,
"region": "paldea",
"region_id": 10,
"games": {
"scarlet": {
"name": "Pokemon Scarlet",
"slug": "scarlet",
"release_year": 2022,
"color": "#F93C3C"
},
"violet": {
"name": "Pokemon Violet",
"slug": "violet",
"release_year": 2022,
"color": "#A96EEC"
}
}
}
}