Compare commits

...

2 Commits

Author SHA1 Message Date
Julian Tabel
157e9ed987 Add starters for all games to special_encounters.json
All checks were successful
CI / backend-lint (push) Successful in 7s
CI / frontend-lint (push) Successful in 30s
Added starter data for Gen 4-9, Legends Arceus, and Legends Z-A.
Fixed Yellow and Let's Go which were incorrectly aliased to the
firered-leafgreen Gen 1 trio — they now have their own entries.
Added aliases for Platinum, BD/SP, B2/W2, and USUM.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 14:52:38 +01:00
Julian Tabel
9a0cf7a552 Remove redundant gift/fossil entries from special_encounters.json
Gifts, trades, and fossils are already in the per-game encounter data.
Only starters need to remain in special_encounters.json. Updated the
corresponding bean to reflect the narrowed scope.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 14:48:23 +01:00
2 changed files with 88 additions and 81 deletions

View File

@@ -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

View File

@@ -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"
}
}