Merge pull request 'Fix route ordering' (#15) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#15
This commit was merged in pull request #15.
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
---
|
||||
# nuzlocke-tracker-1e9k
|
||||
title: Populate encounter data for Gen 8+ stub games
|
||||
status: todo
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-10T08:59:02Z
|
||||
updated_at: 2026-02-10T08:59:02Z
|
||||
updated_at: 2026-02-11T13:39:09Z
|
||||
parent: nuzlocke-tracker-rzu4
|
||||
---
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
---
|
||||
# nuzlocke-tracker-2b4r
|
||||
title: Add route ordering for Gen 5+ games
|
||||
status: todo
|
||||
status: scrapped
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-10T08:58:55Z
|
||||
updated_at: 2026-02-10T08:58:55Z
|
||||
updated_at: 2026-02-11T13:54:47Z
|
||||
parent: nuzlocke-tracker-rzu4
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
# nuzlocke-tracker-4ph2
|
||||
title: Fix and complete route ordering for all games
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-11T13:55:09Z
|
||||
updated_at: 2026-02-11T14:21:24Z
|
||||
parent: nuzlocke-tracker-rzu4
|
||||
---
|
||||
|
||||
Audit existing route ordering and add missing ordering for all games in `route_order.json`. Use Bulbapedia walkthrough/appendix pages as the primary reference for game progression order.
|
||||
|
||||
## Approach:
|
||||
- Reference Bulbapedia walkthrough pages (e.g. `Appendix:FireRed_and_LeafGreen_walkthrough`) to determine correct progression order
|
||||
- Cross-reference route names from walkthroughs against actual route names in encounter data files
|
||||
- Consider building a script to semi-automate this (scrape walkthrough pages → match against encounter data → generate ordering)
|
||||
|
||||
## Games to fix (existing but incorrect):
|
||||
- [x] Platinum — fixed ordering to start with Twinleaf Town, matched names to encounter data
|
||||
|
||||
## Games to add ordering for:
|
||||
- [x] Diamond/Pearl (separate ordering, slight differences from Platinum)
|
||||
- [x] Black/White
|
||||
- [x] Black 2/White 2
|
||||
- [x] X/Y
|
||||
- [x] Sun/Moon
|
||||
- [x] Ultra Sun/Ultra Moon (separate ordering, has additional areas)
|
||||
- [x] Sword/Shield
|
||||
- [x] Brilliant Diamond/Shining Pearl (separate ordering with Grand Underground)
|
||||
- [x] Scarlet/Violet
|
||||
- [x] Legends Arceus
|
||||
- [x] Legends Z-A
|
||||
|
||||
## Games to audit (existing, likely correct):
|
||||
- [x] FireRed/LeafGreen (and aliases: Red/Blue, Yellow, Let's Go) — rewritten with correct encounter data names
|
||||
- [x] HeartGold/SoulSilver (and aliases: Gold/Silver, Crystal) — rewritten with correct encounter data names
|
||||
- [x] Emerald (and aliases: Ruby/Sapphire, ORAS) — rewritten with correct encounter data names
|
||||
|
||||
## Notes:
|
||||
- Route names must match exactly what's in the encounter data files (case-sensitive)
|
||||
- "Starter" should be the first entry for each game
|
||||
- Post-game areas placed after main story areas
|
||||
- Replaces beans nuzlocke-tracker-6lud and nuzlocke-tracker-2b4r
|
||||
@@ -1,10 +1,11 @@
|
||||
---
|
||||
# nuzlocke-tracker-6lud
|
||||
title: Audit and fix route ordering for Gen 1-4 games
|
||||
status: todo
|
||||
status: scrapped
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-10T08:59:16Z
|
||||
updated_at: 2026-02-10T08:59:16Z
|
||||
updated_at: 2026-02-11T13:54:47Z
|
||||
parent: nuzlocke-tracker-rzu4
|
||||
---
|
||||
|
||||
|
||||
@@ -1,33 +1,27 @@
|
||||
---
|
||||
# nuzlocke-tracker-7jba
|
||||
title: Review and complete special encounters for all games
|
||||
status: todo
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-10T08:59:24Z
|
||||
updated_at: 2026-02-10T08:59:24Z
|
||||
updated_at: 2026-02-11T13:52:06Z
|
||||
parent: nuzlocke-tracker-rzu4
|
||||
---
|
||||
|
||||
Audit \`special_encounters.json\` to ensure starters, gifts, fossils, and other non-wild encounters are covered for all games.
|
||||
Only starters were missing from the encounter data. Gifts, trades, and fossils are already present in the per-game encounter JSON files.
|
||||
|
||||
## What counts as special encounters:
|
||||
- **Starters** — the three (or more) starter Pokémon choices
|
||||
- **Gift Pokémon** — NPCs that give you Pokémon (e.g. Eevee in Celadon, Lapras in Silph Co.)
|
||||
- **Fossils** — Pokémon revived from fossils (e.g. Omanyte/Kabuto, Lileep/Anorith)
|
||||
- **In-game trades** — Pokémon received via NPC trades (if tracked)
|
||||
- **Static encounters** — Legendaries, Snorlax blocking the road, Sudowoodo, etc.
|
||||
- **Event-specific** — One-time encounters tied to story events
|
||||
The `special_encounters.json` file previously contained starters, gifts, and fossils for Gen 1-3 — but only the starters were actually needed (the rest was redundant). Additionally, starters were missing for Gen 4+ games. Yellow and Let's Go were incorrectly aliased to firered-leafgreen (wrong starters).
|
||||
|
||||
## Checklist:
|
||||
- [ ] Audit Gen 1 (Red/Blue/Yellow/FR/LG) special encounters
|
||||
- [ ] Audit Gen 2 (Gold/Silver/Crystal/HG/SS) special encounters
|
||||
- [ ] Audit Gen 3 (Ruby/Sapphire/Emerald/ORAS) special encounters
|
||||
- [ ] Audit Gen 4 (Diamond/Pearl/Platinum/BD/SP) special encounters
|
||||
- [ ] Audit Gen 5 (Black/White/B2/W2) special encounters
|
||||
- [ ] Audit Gen 6 (X/Y) special encounters
|
||||
- [ ] Audit Gen 7 (Sun/Moon/USUM) special encounters
|
||||
- [ ] Audit Gen 8+ (Sword/Shield/Scarlet/Violet/Legends) special encounters
|
||||
|
||||
## Notes:
|
||||
- Cross-reference with Bulbapedia "Gift Pokémon" and "In-game trade" pages
|
||||
- The current file appears focused on Gen 1-2 — later gens likely need additions
|
||||
- [x] Remove non-starter entries from special_encounters.json
|
||||
- [x] Add Yellow starter (Pikachu) — was incorrectly aliased to firered-leafgreen
|
||||
- [x] Add Let's Go starters (Pikachu, Eevee) — was incorrectly aliased to firered-leafgreen
|
||||
- [x] Add Gen 4 starters (Diamond/Pearl/Platinum/BD/SP)
|
||||
- [x] Add Gen 5 starters (Black/White/B2/W2)
|
||||
- [x] Add Gen 6 starters (X/Y)
|
||||
- [x] Add Gen 7 starters (Sun/Moon/USUM)
|
||||
- [x] Add Gen 8 starters (Sword/Shield)
|
||||
- [x] Add Gen 9 starters (Scarlet/Violet)
|
||||
- [x] Add Legends Arceus starters
|
||||
- [x] Add Legends Z-A starters
|
||||
@@ -1,10 +1,11 @@
|
||||
---
|
||||
# nuzlocke-tracker-ceeh
|
||||
title: Clean up old seed generation tools
|
||||
status: in-progress
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-11T12:52:31Z
|
||||
updated_at: 2026-02-11T12:52:31Z
|
||||
updated_at: 2026-02-11T13:55:49Z
|
||||
---
|
||||
|
||||
Remove the old Go fetch-pokeapi tool from tools/fetch-pokeapi/ and update README.md references to point to the new import-pokedb tool instead.
|
||||
@@ -1,10 +1,11 @@
|
||||
---
|
||||
# nuzlocke-tracker-v5zc
|
||||
title: Complete ORAS and Let's Go encounter data
|
||||
status: todo
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-10T08:59:09Z
|
||||
updated_at: 2026-02-10T08:59:09Z
|
||||
updated_at: 2026-02-11T13:39:09Z
|
||||
parent: nuzlocke-tracker-rzu4
|
||||
---
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,25 +5,11 @@
|
||||
{"pokeapi_id": 1, "pokemon_name": "bulbasaur", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 4, "pokemon_name": "charmander", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 7, "pokemon_name": "squirtle", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
],
|
||||
"Route 4": [
|
||||
{"pokeapi_id": 129, "pokemon_name": "magikarp", "method": "gift", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
],
|
||||
"Celadon City": [
|
||||
{"pokeapi_id": 133, "pokemon_name": "eevee", "method": "gift", "encounter_rate": 100, "min_level": 25, "max_level": 25}
|
||||
],
|
||||
"Saffron City": [
|
||||
{"pokeapi_id": 131, "pokemon_name": "lapras", "method": "gift", "encounter_rate": 100, "min_level": 25, "max_level": 25},
|
||||
{"pokeapi_id": 106, "pokemon_name": "hitmonlee", "method": "gift", "encounter_rate": 100, "min_level": 25, "max_level": 25},
|
||||
{"pokeapi_id": 107, "pokemon_name": "hitmonchan", "method": "gift", "encounter_rate": 100, "min_level": 25, "max_level": 25}
|
||||
],
|
||||
"Cinnabar Island": [
|
||||
{"pokeapi_id": 138, "pokemon_name": "omanyte", "method": "fossil", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 140, "pokemon_name": "kabuto", "method": "fossil", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 142, "pokemon_name": "aerodactyl", "method": "fossil", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
],
|
||||
"Water Labyrinth": [
|
||||
{"pokeapi_id": 175, "pokemon_name": "togepi", "method": "gift", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"yellow": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 25, "pokemon_name": "pikachu", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"heartgold-soulsilver": {
|
||||
@@ -31,30 +17,6 @@
|
||||
{"pokeapi_id": 152, "pokemon_name": "chikorita", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 155, "pokemon_name": "cyndaquil", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 158, "pokemon_name": "totodile", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
],
|
||||
"Violet City": [
|
||||
{"pokeapi_id": 175, "pokemon_name": "togepi", "method": "gift", "encounter_rate": 100, "min_level": 1, "max_level": 1}
|
||||
],
|
||||
"Goldenrod City": [
|
||||
{"pokeapi_id": 133, "pokemon_name": "eevee", "method": "gift", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
],
|
||||
"Cianwood City": [
|
||||
{"pokeapi_id": 213, "pokemon_name": "shuckle", "method": "gift", "encounter_rate": 100, "min_level": 20, "max_level": 20}
|
||||
],
|
||||
"Mt Mortar": [
|
||||
{"pokeapi_id": 236, "pokemon_name": "tyrogue", "method": "gift", "encounter_rate": 100, "min_level": 10, "max_level": 10}
|
||||
],
|
||||
"Dragons Den": [
|
||||
{"pokeapi_id": 147, "pokemon_name": "dratini", "method": "gift", "encounter_rate": 100, "min_level": 15, "max_level": 15}
|
||||
],
|
||||
"Pewter City": [
|
||||
{"pokeapi_id": 138, "pokemon_name": "omanyte", "method": "fossil", "encounter_rate": 100, "min_level": 20, "max_level": 20},
|
||||
{"pokeapi_id": 140, "pokemon_name": "kabuto", "method": "fossil", "encounter_rate": 100, "min_level": 20, "max_level": 20},
|
||||
{"pokeapi_id": 142, "pokemon_name": "aerodactyl", "method": "fossil", "encounter_rate": 100, "min_level": 20, "max_level": 20},
|
||||
{"pokeapi_id": 345, "pokemon_name": "lileep", "method": "fossil", "encounter_rate": 100, "min_level": 20, "max_level": 20},
|
||||
{"pokeapi_id": 347, "pokemon_name": "anorith", "method": "fossil", "encounter_rate": 100, "min_level": 20, "max_level": 20},
|
||||
{"pokeapi_id": 408, "pokemon_name": "cranidos", "method": "fossil", "encounter_rate": 100, "min_level": 20, "max_level": 20},
|
||||
{"pokeapi_id": 410, "pokemon_name": "shieldon", "method": "fossil", "encounter_rate": 100, "min_level": 20, "max_level": 20}
|
||||
]
|
||||
},
|
||||
"emerald": {
|
||||
@@ -62,29 +24,80 @@
|
||||
{"pokeapi_id": 252, "pokemon_name": "treecko", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 255, "pokemon_name": "torchic", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 258, "pokemon_name": "mudkip", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
],
|
||||
"Route 119": [
|
||||
{"pokeapi_id": 351, "pokemon_name": "castform", "method": "gift", "encounter_rate": 100, "min_level": 25, "max_level": 25}
|
||||
],
|
||||
"Lavaridge Town": [
|
||||
{"pokeapi_id": 360, "pokemon_name": "wynaut", "method": "gift", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
],
|
||||
"Mossdeep City": [
|
||||
{"pokeapi_id": 374, "pokemon_name": "beldum", "method": "gift", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
],
|
||||
"Rustboro City": [
|
||||
{"pokeapi_id": 345, "pokemon_name": "lileep", "method": "fossil", "encounter_rate": 100, "min_level": 20, "max_level": 20},
|
||||
{"pokeapi_id": 347, "pokemon_name": "anorith", "method": "fossil", "encounter_rate": 100, "min_level": 20, "max_level": 20}
|
||||
]
|
||||
},
|
||||
"diamond-pearl": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 387, "pokemon_name": "turtwig", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 390, "pokemon_name": "chimchar", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 393, "pokemon_name": "piplup", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"black-white": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 495, "pokemon_name": "snivy", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 498, "pokemon_name": "tepig", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 501, "pokemon_name": "oshawott", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"x-y": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 650, "pokemon_name": "chespin", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 653, "pokemon_name": "fennekin", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 656, "pokemon_name": "froakie", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"sun-moon": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 722, "pokemon_name": "rowlet", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 725, "pokemon_name": "litten", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 728, "pokemon_name": "popplio", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"lets-go": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 25, "pokemon_name": "pikachu", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 133, "pokemon_name": "eevee", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"sword-shield": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 810, "pokemon_name": "grookey", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 813, "pokemon_name": "scorbunny", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 816, "pokemon_name": "sobble", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"legends-arceus": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 722, "pokemon_name": "rowlet", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 155, "pokemon_name": "cyndaquil", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 501, "pokemon_name": "oshawott", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"scarlet-violet": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 906, "pokemon_name": "sprigatito", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 909, "pokemon_name": "fuecoco", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 912, "pokemon_name": "quaxly", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
},
|
||||
"legends-z-a": {
|
||||
"Starter": [
|
||||
{"pokeapi_id": 152, "pokemon_name": "chikorita", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 158, "pokemon_name": "totodile", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5},
|
||||
{"pokeapi_id": 498, "pokemon_name": "tepig", "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5}
|
||||
]
|
||||
}
|
||||
},
|
||||
"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"
|
||||
"omega-ruby-alpha-sapphire": "emerald",
|
||||
"platinum": "diamond-pearl",
|
||||
"brilliant-diamond-shining-pearl": "diamond-pearl",
|
||||
"black-2-white-2": "black-white",
|
||||
"ultra-sun-ultra-moon": "sun-moon"
|
||||
}
|
||||
}
|
||||
|
||||
1353
tools/generate_route_order.py
Normal file
1353
tools/generate_route_order.py
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user