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:
@@ -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()
|
||||
|
||||
|
||||
422
backend/src/app/seeds/route_order.json
Normal file
422
backend/src/app/seeds/route_order.json
Normal 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"
|
||||
}
|
||||
}
|
||||
395
backend/src/app/seeds/version_groups.json
Normal file
395
backend/src/app/seeds/version_groups.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user