diff --git a/.beans/nuzlocke-tracker-zdig--remove-route-order-aliases-between-originals-and-r.md b/.beans/nuzlocke-tracker-zdig--remove-route-order-aliases-between-originals-and-r.md new file mode 100644 index 0000000..d51e34f --- /dev/null +++ b/.beans/nuzlocke-tracker-zdig--remove-route-order-aliases-between-originals-and-r.md @@ -0,0 +1,11 @@ +--- +# nuzlocke-tracker-zdig +title: Remove route order aliases between originals and remakes +status: completed +type: task +priority: normal +created_at: 2026-02-14T12:46:38Z +updated_at: 2026-02-14T12:48:57Z +--- + +Remove aliases in route_order.json that share route orderings between original games and remakes. Each version group gets its own standalone route list so they can be fine-tuned independently. \ No newline at end of file diff --git a/backend/src/app/seeds/route_order.json b/backend/src/app/seeds/route_order.json index fb5e87f..05c3f8c 100644 --- a/backend/src/app/seeds/route_order.json +++ b/backend/src/app/seeds/route_order.json @@ -1,7 +1,170 @@ { - "_comment": "Route progression order by version group. Aliases at the bottom map version groups that share the same ordering.", + "_comment": "Route progression order by version group. Each version group has its own standalone ordering.", "routes": { + "red-blue": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave" + ], + "yellow": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave" + ], + "lets-go": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave" + ], "firered-leafgreen": [ + "Starter", "Pallet Town", "Professor Oak's Laboratory", "Route 01 (Kanto)", @@ -83,7 +246,202 @@ "Birth Island", "Navel Rock" ], + "gold-silver": [ + "Starter", + "New Bark Town", + "Route 29 (Johto)", + "Cherrygrove City", + "Route 30 (Johto)", + "Route 31 (Johto)", + "Dark Cave", + "Violet City", + "Sprout Tower", + "Route 32 (Johto)", + "Ruins of Alph", + "Union Cave", + "Route 33 (Johto)", + "Azalea Town", + "Slowpoke Well", + "Ilex Forest", + "Route 34 (Johto)", + "Goldenrod City", + "Route 35 (Johto)", + "National Park", + "Route 36 (Johto)", + "Route 37 (Johto)", + "Ecruteak City", + "Burned Tower", + "Bell Tower", + "Route 38 (Johto)", + "Route 39 (Johto)", + "Olivine City", + "Route 40 (Johto)", + "Route 41 (Johto)", + "Cianwood City", + "Route 42 (Johto)", + "Mt Mortar", + "Mt. Mortar", + "Lake of Rage", + "Route 43 (Johto)", + "Route 44 (Johto)", + "Ice Path", + "Blackthorn City", + "Dragons Den", + "Dragon's Den", + "Route 45 (Johto)", + "Route 46 (Johto)", + "Whirl Islands", + "Tohjo Falls", + "Route 27 (Kanto)", + "Route 26 (Kanto)", + "Victory Road (Kanto 2F)", + "Route 28 (Kanto)", + "Mt. Silver", + "Mt. Silver (Cave)", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Viridian Forest", + "Pewter City", + "Pewter Museum of Science", + "Kanto Route 2", + "Route 03 (Kanto)", + "Mt. Moon (B2F)", + "Mt. Moon Square", + "Route 04 (Kanto)", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Cerulean Cave", + "Route 05 (Kanto)", + "Route 06 (Kanto)", + "Vermilion City", + "Route 07 (Kanto)", + "Route 08 (Kanto)", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 12 (Kanto)", + "Route 13 (Kanto)", + "Route 14 (Kanto)", + "Route 15 (Kanto)", + "Fuchsia City", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Celadon City", + "Saffron City", + "Silph Co.", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Route 21 (Kanto)", + "Route 22 (Kanto)" + ], + "crystal": [ + "Starter", + "New Bark Town", + "Route 29 (Johto)", + "Cherrygrove City", + "Route 30 (Johto)", + "Route 31 (Johto)", + "Dark Cave", + "Violet City", + "Sprout Tower", + "Route 32 (Johto)", + "Ruins of Alph", + "Union Cave", + "Route 33 (Johto)", + "Azalea Town", + "Slowpoke Well", + "Ilex Forest", + "Route 34 (Johto)", + "Goldenrod City", + "Route 35 (Johto)", + "National Park", + "Route 36 (Johto)", + "Route 37 (Johto)", + "Ecruteak City", + "Burned Tower", + "Bell Tower", + "Route 38 (Johto)", + "Route 39 (Johto)", + "Olivine City", + "Route 40 (Johto)", + "Route 41 (Johto)", + "Cianwood City", + "Route 42 (Johto)", + "Mt Mortar", + "Mt. Mortar", + "Lake of Rage", + "Route 43 (Johto)", + "Route 44 (Johto)", + "Ice Path", + "Blackthorn City", + "Dragons Den", + "Dragon's Den", + "Route 45 (Johto)", + "Route 46 (Johto)", + "Whirl Islands", + "Tohjo Falls", + "Route 27 (Kanto)", + "Route 26 (Kanto)", + "Victory Road (Kanto 2F)", + "Route 28 (Kanto)", + "Mt. Silver", + "Mt. Silver (Cave)", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Viridian Forest", + "Pewter City", + "Pewter Museum of Science", + "Kanto Route 2", + "Route 03 (Kanto)", + "Mt. Moon (B2F)", + "Mt. Moon Square", + "Route 04 (Kanto)", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Cerulean Cave", + "Route 05 (Kanto)", + "Route 06 (Kanto)", + "Vermilion City", + "Route 07 (Kanto)", + "Route 08 (Kanto)", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 12 (Kanto)", + "Route 13 (Kanto)", + "Route 14 (Kanto)", + "Route 15 (Kanto)", + "Fuchsia City", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Celadon City", + "Saffron City", + "Silph Co.", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Route 21 (Kanto)", + "Route 22 (Kanto)" + ], "heartgold-soulsilver": [ + "Starter", "New Bark Town", "Route 29 (Johto)", "Cherrygrove City", @@ -188,7 +546,178 @@ "Team Rocket HQ (B1F)", "Sinjoh Ruins" ], + "ruby-sapphire": [ + "Starter", + "Littleroot Town", + "Hoenn Route 101", + "Hoenn Route 103", + "Hoenn Route 102", + "Petalburg City", + "Hoenn Route 104", + "Petalburg Woods", + "Rusturf Tunnel", + "Hoenn Route 116", + "Rustboro City", + "Devon Corporation", + "Hoenn Route 105", + "Hoenn Route 106", + "Dewford Town", + "Granite Cave", + "Hoenn Route 107", + "Hoenn Route 108", + "Hoenn Route 109", + "Slateport City", + "Hoenn Route 110", + "New Mauville", + "Hoenn Route 117", + "Hoenn Route 111", + "Desert Ruins", + "Mirage Tower", + "Hoenn Route 112", + "Fiery Path", + "Jagged Pass", + "Lavaridge Town", + "Hoenn Route 113", + "Hoenn Route 114", + "Meteor Falls", + "Hoenn Route 115", + "Fortree City", + "Weather Institute", + "Hoenn Route 118", + "Hoenn Route 119", + "Route 119", + "Hoenn Route 120", + "Hoenn Route 121", + "Safari Zone (Hoenn)", + "Lilycove City", + "Hoenn Route 122", + "Mt. Pyre", + "Hoenn Route 123", + "Team Magma Hideout", + "Team Aqua Hideout", + "Magma Hideout (Jagged Pass)", + "Hoenn Route 124", + "Mossdeep City", + "Hoenn Route 125", + "Shoal Cave", + "Hoenn Route 126", + "Sootopolis City", + "Cave of Origin", + "Hoenn Route 127", + "Hoenn Route 128", + "Seafloor Cavern", + "Hoenn Route 129", + "Hoenn Route 130", + "Hoenn Route 131", + "Pacifidlog Town", + "Hoenn Route 132", + "Hoenn Route 133", + "Hoenn Route 134", + "Ever Grande City", + "Victory Road (Hoenn)", + "Sky Pillar", + "Abandoned Ship", + "Desert Underpass", + "Artisan Cave", + "Altering Cave (Sevii Islands)", + "Ancient Tomb", + "Island Cave", + "Battle Frontier (Hoenn)", + "Southern Island", + "Marine Cave", + "Terra Cave", + "Mirage Island", + "Birth Island", + "Faraway Island", + "Navel Rock" + ], "emerald": [ + "Starter", + "Littleroot Town", + "Hoenn Route 101", + "Hoenn Route 103", + "Hoenn Route 102", + "Petalburg City", + "Hoenn Route 104", + "Petalburg Woods", + "Rusturf Tunnel", + "Hoenn Route 116", + "Rustboro City", + "Devon Corporation", + "Hoenn Route 105", + "Hoenn Route 106", + "Dewford Town", + "Granite Cave", + "Hoenn Route 107", + "Hoenn Route 108", + "Hoenn Route 109", + "Slateport City", + "Hoenn Route 110", + "New Mauville", + "Hoenn Route 117", + "Hoenn Route 111", + "Desert Ruins", + "Mirage Tower", + "Hoenn Route 112", + "Fiery Path", + "Jagged Pass", + "Lavaridge Town", + "Hoenn Route 113", + "Hoenn Route 114", + "Meteor Falls", + "Hoenn Route 115", + "Fortree City", + "Weather Institute", + "Hoenn Route 118", + "Hoenn Route 119", + "Route 119", + "Hoenn Route 120", + "Hoenn Route 121", + "Safari Zone (Hoenn)", + "Lilycove City", + "Hoenn Route 122", + "Mt. Pyre", + "Hoenn Route 123", + "Team Magma Hideout", + "Team Aqua Hideout", + "Magma Hideout (Jagged Pass)", + "Hoenn Route 124", + "Mossdeep City", + "Hoenn Route 125", + "Shoal Cave", + "Hoenn Route 126", + "Sootopolis City", + "Cave of Origin", + "Hoenn Route 127", + "Hoenn Route 128", + "Seafloor Cavern", + "Hoenn Route 129", + "Hoenn Route 130", + "Hoenn Route 131", + "Pacifidlog Town", + "Hoenn Route 132", + "Hoenn Route 133", + "Hoenn Route 134", + "Ever Grande City", + "Victory Road (Hoenn)", + "Sky Pillar", + "Abandoned Ship", + "Desert Underpass", + "Artisan Cave", + "Altering Cave (Sevii Islands)", + "Ancient Tomb", + "Island Cave", + "Battle Frontier (Hoenn)", + "Southern Island", + "Marine Cave", + "Terra Cave", + "Mirage Island", + "Birth Island", + "Faraway Island", + "Navel Rock" + ], + "omega-ruby-alpha-sapphire": [ + "Starter", "Littleroot Town", "Hoenn Route 101", "Hoenn Route 103", @@ -273,6 +802,7 @@ "Navel Rock" ], "platinum": [ + "Starter", "Twinleaf Town", "Lake Verity", "Route 201 (Sinnoh)", @@ -352,6 +882,7 @@ "Iron Ruins (Sinnoh)" ], "diamond-pearl": [ + "Starter", "Twinleaf Town", "Lake Verity", "Route 201 (Sinnoh)", @@ -425,6 +956,7 @@ "Rock Peak Ruins (Sinnoh)" ], "black-white": [ + "Starter", "Nuvema Town", "Unova Route 1", "Unova Route 2", @@ -477,6 +1009,7 @@ "Liberty Garden" ], "black-2-white-2": [ + "Starter", "Aspertia City", "Unova Route 19", "Floccesy Town", @@ -543,6 +1076,7 @@ "Nature Preserve" ], "x-y": [ + "Starter", "Vaniville Town", "Aquacorde Town", "Kalos Route 02", @@ -597,6 +1131,7 @@ "Friend Safari" ], "sun-moon": [ + "Starter", "Iki Town", "Alola Route 1", "Trainer’s School (Alola)", @@ -668,7 +1203,7 @@ "Ruins of Conflict" ], "ultra-sun-ultra-moon": [ - "Iki Town", + "Starter", "Alola Route 1", "Trainer’s School (Alola)", "Hau'oli City", @@ -753,6 +1288,7 @@ "Ruins of Abundance" ], "sword-shield": [ + "Starter", "Postwick", "Slumbering Weald", "Wedgehurst", @@ -838,6 +1374,7 @@ "Meetup Spot" ], "brilliant-diamond-shining-pearl": [ + "Starter", "Twinleaf Town", "Lake Verity", "Route 201 (Sinnoh)", @@ -932,6 +1469,7 @@ "Hall of Origin" ], "legends-arceus": [ + "Starter", "Jubilife Village", "Aspiration Hill", "Floaro Gardens", @@ -1022,6 +1560,7 @@ "Lake Verity #2" ], "scarlet-violet": [ + "Starter", "Cabo Poco", "Poco Path", "Area One (South Province)", @@ -1094,6 +1633,7 @@ "Random (Around Terrarium)" ], "legends-z-a": [ + "Starter", "Wild Zone 1", "Wild Zone 2", "Wild Zone 3", @@ -1116,13 +1656,5 @@ "Wild Zone 20" ] }, - "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" - } + "aliases": {} } diff --git a/tools/generate_route_order.py b/tools/generate_route_order.py index 168ea26..cdbafd7 100644 --- a/tools/generate_route_order.py +++ b/tools/generate_route_order.py @@ -13,7 +13,7 @@ SEEDS_DIR = Path(__file__).resolve().parent.parent / "backend" / "src" / "app" / DATA_DIR = SEEDS_DIR / "data" # ============================================================================ -# Route orderings by version group +# Route orderings by version group (each version group has its own standalone list) # Each list starts with "Starter" and then lists locations in game progression order. # Names must match the encounter data files exactly OR use the startswith matching # (e.g. "Mt. Moon" matches "Mt. Moon (B2F)" because name.startswith("Mt. Moon (")) @@ -21,7 +21,181 @@ DATA_DIR = SEEDS_DIR / "data" ROUTE_ORDERS = { # ======================================================================== - # Gen 1 - FireRed/LeafGreen (also used by Red/Blue, Yellow, Let's Go) + # Gen 1 - Red/Blue + # ======================================================================== + "red-blue": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave", + ], + + # ======================================================================== + # Gen 1 - Yellow + # ======================================================================== + "yellow": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave", + ], + + # ======================================================================== + # Gen 1 - Let's Go Pikachu/Eevee + # ======================================================================== + "lets-go": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave", + ], + + # ======================================================================== + # Gen 1 - FireRed/LeafGreen # ======================================================================== "firered-leafgreen": [ "Starter", @@ -110,7 +284,211 @@ ROUTE_ORDERS = { ], # ======================================================================== - # Gen 2 - HeartGold/SoulSilver (also used by Gold/Silver, Crystal) + # Gen 2 - Gold/Silver + # ======================================================================== + "gold-silver": [ + "Starter", + "New Bark Town", + "Route 29 (Johto)", + "Cherrygrove City", + "Route 30 (Johto)", + "Route 31 (Johto)", + "Dark Cave", + "Violet City", + "Sprout Tower", + "Route 32 (Johto)", + "Ruins of Alph", + "Union Cave", + "Route 33 (Johto)", + "Azalea Town", + "Slowpoke Well", + "Ilex Forest", + "Route 34 (Johto)", + "Goldenrod City", + "Route 35 (Johto)", + "National Park", + "Route 36 (Johto)", + "Route 37 (Johto)", + "Ecruteak City", + "Burned Tower", + "Bell Tower", + "Route 38 (Johto)", + "Route 39 (Johto)", + "Olivine City", + "Route 40 (Johto)", + "Route 41 (Johto)", + "Cianwood City", + "Route 42 (Johto)", + "Mt Mortar", + "Mt. Mortar", + "Lake of Rage", + "Route 43 (Johto)", + "Route 44 (Johto)", + "Ice Path", + "Blackthorn City", + "Dragons Den", + "Dragon's Den", + "Route 45 (Johto)", + "Route 46 (Johto)", + "Whirl Islands", + "Tohjo Falls", + "Route 27 (Kanto)", + "Route 26 (Kanto)", + "Victory Road (Kanto 2F)", + # Kanto postgame + "Route 28 (Kanto)", + "Mt. Silver", + "Mt. Silver (Cave)", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Viridian Forest", + "Pewter City", + "Pewter Museum of Science", + "Kanto Route 2", + "Route 03 (Kanto)", + "Mt. Moon (B2F)", + "Mt. Moon Square", + "Route 04 (Kanto)", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Cerulean Cave", + "Route 05 (Kanto)", + "Route 06 (Kanto)", + "Vermilion City", + "Route 07 (Kanto)", + "Route 08 (Kanto)", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 12 (Kanto)", + "Route 13 (Kanto)", + "Route 14 (Kanto)", + "Route 15 (Kanto)", + "Fuchsia City", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Celadon City", + "Saffron City", + "Silph Co.", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Route 21 (Kanto)", + "Route 22 (Kanto)", + ], + + # ======================================================================== + # Gen 2 - Crystal + # ======================================================================== + "crystal": [ + "Starter", + "New Bark Town", + "Route 29 (Johto)", + "Cherrygrove City", + "Route 30 (Johto)", + "Route 31 (Johto)", + "Dark Cave", + "Violet City", + "Sprout Tower", + "Route 32 (Johto)", + "Ruins of Alph", + "Union Cave", + "Route 33 (Johto)", + "Azalea Town", + "Slowpoke Well", + "Ilex Forest", + "Route 34 (Johto)", + "Goldenrod City", + "Route 35 (Johto)", + "National Park", + "Route 36 (Johto)", + "Route 37 (Johto)", + "Ecruteak City", + "Burned Tower", + "Bell Tower", + "Route 38 (Johto)", + "Route 39 (Johto)", + "Olivine City", + "Route 40 (Johto)", + "Route 41 (Johto)", + "Cianwood City", + "Route 42 (Johto)", + "Mt Mortar", + "Mt. Mortar", + "Lake of Rage", + "Route 43 (Johto)", + "Route 44 (Johto)", + "Ice Path", + "Blackthorn City", + "Dragons Den", + "Dragon's Den", + "Route 45 (Johto)", + "Route 46 (Johto)", + "Whirl Islands", + "Tohjo Falls", + "Route 27 (Kanto)", + "Route 26 (Kanto)", + "Victory Road (Kanto 2F)", + # Kanto postgame + "Route 28 (Kanto)", + "Mt. Silver", + "Mt. Silver (Cave)", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Viridian Forest", + "Pewter City", + "Pewter Museum of Science", + "Kanto Route 2", + "Route 03 (Kanto)", + "Mt. Moon (B2F)", + "Mt. Moon Square", + "Route 04 (Kanto)", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Cerulean Cave", + "Route 05 (Kanto)", + "Route 06 (Kanto)", + "Vermilion City", + "Route 07 (Kanto)", + "Route 08 (Kanto)", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 12 (Kanto)", + "Route 13 (Kanto)", + "Route 14 (Kanto)", + "Route 15 (Kanto)", + "Fuchsia City", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Celadon City", + "Saffron City", + "Silph Co.", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Route 21 (Kanto)", + "Route 22 (Kanto)", + ], + + # ======================================================================== + # Gen 2 - HeartGold/SoulSilver # ======================================================================== "heartgold-soulsilver": [ "Starter", @@ -222,7 +600,97 @@ ROUTE_ORDERS = { ], # ======================================================================== - # Gen 3 - Emerald (also used by Ruby/Sapphire, ORAS) + # Gen 3 - Ruby/Sapphire + # ======================================================================== + "ruby-sapphire": [ + "Starter", + "Littleroot Town", + "Hoenn Route 101", + "Hoenn Route 103", + "Hoenn Route 102", + "Petalburg City", + "Hoenn Route 104", + "Petalburg Woods", + "Rusturf Tunnel", + "Hoenn Route 116", + "Rustboro City", + "Devon Corporation", + "Hoenn Route 105", + "Hoenn Route 106", + "Dewford Town", + "Granite Cave", + "Hoenn Route 107", + "Hoenn Route 108", + "Hoenn Route 109", + "Slateport City", + "Hoenn Route 110", + "New Mauville", + "Hoenn Route 117", + "Hoenn Route 111", + "Desert Ruins", + "Mirage Tower", + "Hoenn Route 112", + "Fiery Path", + "Jagged Pass", + "Lavaridge Town", + "Hoenn Route 113", + "Hoenn Route 114", + "Meteor Falls", + "Hoenn Route 115", + "Fortree City", + "Weather Institute", + "Hoenn Route 118", + "Hoenn Route 119", + "Route 119", + "Hoenn Route 120", + "Hoenn Route 121", + "Safari Zone (Hoenn)", + "Lilycove City", + "Hoenn Route 122", + "Mt. Pyre", + "Hoenn Route 123", + "Team Magma Hideout", + "Team Aqua Hideout", + "Magma Hideout (Jagged Pass)", + "Hoenn Route 124", + "Mossdeep City", + "Hoenn Route 125", + "Shoal Cave", + "Hoenn Route 126", + "Sootopolis City", + "Cave of Origin", + "Hoenn Route 127", + "Hoenn Route 128", + "Seafloor Cavern", + "Hoenn Route 129", + "Hoenn Route 130", + "Hoenn Route 131", + "Pacifidlog Town", + "Hoenn Route 132", + "Hoenn Route 133", + "Hoenn Route 134", + "Ever Grande City", + "Victory Road (Hoenn)", + "Sky Pillar", + "Abandoned Ship", + "Desert Underpass", + "Artisan Cave", + "Altering Cave (Sevii Islands)", + # Postgame/special + "Ancient Tomb", + "Island Cave", + "Battle Frontier (Hoenn)", + "Southern Island", + "Marine Cave", + "Terra Cave", + "Mirage Island", + "Birth Island", + "Faraway Island", + "Navel Rock", + ], + + # ======================================================================== + # Gen 3 - Emerald # ======================================================================== "emerald": [ "Starter", @@ -311,6 +779,96 @@ ROUTE_ORDERS = { "Navel Rock", ], + # ======================================================================== + # Gen 3 - Omega Ruby/Alpha Sapphire + # ======================================================================== + "omega-ruby-alpha-sapphire": [ + "Starter", + "Littleroot Town", + "Hoenn Route 101", + "Hoenn Route 103", + "Hoenn Route 102", + "Petalburg City", + "Hoenn Route 104", + "Petalburg Woods", + "Rusturf Tunnel", + "Hoenn Route 116", + "Rustboro City", + "Devon Corporation", + "Hoenn Route 105", + "Hoenn Route 106", + "Dewford Town", + "Granite Cave", + "Hoenn Route 107", + "Hoenn Route 108", + "Hoenn Route 109", + "Slateport City", + "Hoenn Route 110", + "New Mauville", + "Hoenn Route 117", + "Hoenn Route 111", + "Desert Ruins", + "Mirage Tower", + "Hoenn Route 112", + "Fiery Path", + "Jagged Pass", + "Lavaridge Town", + "Hoenn Route 113", + "Hoenn Route 114", + "Meteor Falls", + "Hoenn Route 115", + "Fortree City", + "Weather Institute", + "Hoenn Route 118", + "Hoenn Route 119", + "Route 119", + "Hoenn Route 120", + "Hoenn Route 121", + "Safari Zone (Hoenn)", + "Lilycove City", + "Hoenn Route 122", + "Mt. Pyre", + "Hoenn Route 123", + "Team Magma Hideout", + "Team Aqua Hideout", + "Magma Hideout (Jagged Pass)", + "Hoenn Route 124", + "Mossdeep City", + "Hoenn Route 125", + "Shoal Cave", + "Hoenn Route 126", + "Sootopolis City", + "Cave of Origin", + "Hoenn Route 127", + "Hoenn Route 128", + "Seafloor Cavern", + "Hoenn Route 129", + "Hoenn Route 130", + "Hoenn Route 131", + "Pacifidlog Town", + "Hoenn Route 132", + "Hoenn Route 133", + "Hoenn Route 134", + "Ever Grande City", + "Victory Road (Hoenn)", + "Sky Pillar", + "Abandoned Ship", + "Desert Underpass", + "Artisan Cave", + "Altering Cave (Sevii Islands)", + # Postgame/special + "Ancient Tomb", + "Island Cave", + "Battle Frontier (Hoenn)", + "Southern Island", + "Marine Cave", + "Terra Cave", + "Mirage Island", + "Birth Island", + "Faraway Island", + "Navel Rock", + ], + # ======================================================================== # Gen 4 - Platinum # ======================================================================== @@ -1248,16 +1806,8 @@ ROUTE_ORDERS = { ], } -# Aliases: maps version group keys that share the same ordering -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", -} +# Aliases: no longer used — each version group has its own standalone route ordering. +ALIASES = {} def validate_route_order(vg_key: str, order_list: list[str]) -> list[str]: @@ -1314,7 +1864,7 @@ def validate_route_order(vg_key: str, order_list: list[str]) -> list[str]: def main(): output = { - "_comment": "Route progression order by version group. Aliases at the bottom map version groups that share the same ordering.", + "_comment": "Route progression order by version group. Each version group has its own standalone ordering.", "routes": ROUTE_ORDERS, "aliases": ALIASES, } diff --git a/tools/import-pokedb/import_pokedb/loader.py b/tools/import-pokedb/import_pokedb/loader.py index bce5092..3ec7554 100644 --- a/tools/import-pokedb/import_pokedb/loader.py +++ b/tools/import-pokedb/import_pokedb/loader.py @@ -150,9 +150,6 @@ def load_seed_config(seeds_dir: Path) -> SeedConfig: ro_raw = json.load(f) route_order: dict[str, list[str]] = dict(ro_raw.get("routes", {})) - for alias, target in ro_raw.get("aliases", {}).items(): - if target in route_order: - route_order[alias] = route_order[target] # Load special_encounters.json (optional) se_path = seeds_dir / "special_encounters.json"