From 9a0cf7a5521982af8ebd6b7939fc28428ca0553e Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Wed, 11 Feb 2026 14:48:23 +0100 Subject: [PATCH] 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 --- ...complete-special-encounters-for-all-gam.md | 36 +++++------- backend/src/app/seeds/special_encounters.json | 56 ------------------- 2 files changed, 14 insertions(+), 78 deletions(-) diff --git a/.beans/nuzlocke-tracker-7jba--review-and-complete-special-encounters-for-all-gam.md b/.beans/nuzlocke-tracker-7jba--review-and-complete-special-encounters-for-all-gam.md index e7cbcbe..5975be5 100644 --- a/.beans/nuzlocke-tracker-7jba--review-and-complete-special-encounters-for-all-gam.md +++ b/.beans/nuzlocke-tracker-7jba--review-and-complete-special-encounters-for-all-gam.md @@ -1,33 +1,25 @@ --- # nuzlocke-tracker-7jba title: Review and complete special encounters for all games -status: todo +status: in-progress type: task +priority: normal created_at: 2026-02-10T08:59:24Z -updated_at: 2026-02-10T08:59:24Z +updated_at: 2026-02-11T13:47:35Z 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 are 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 currently contains starters, gifts, and fossils for Gen 1-3 — but only the starters are actually needed (the rest is redundant). Additionally, starters are missing for Gen 4+ games. ## 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 \ No newline at end of file +- [x] Remove non-starter entries from special_encounters.json +- [ ] Add Gen 4 starters (Diamond/Pearl/Platinum/BD/SP) +- [ ] Add Gen 5 starters (Black/White/B2/W2) +- [ ] Add Gen 6 starters (X/Y) +- [ ] Add Gen 7 starters (Sun/Moon/USUM) +- [ ] Add Gen 8 starters (Sword/Shield) +- [ ] Add Gen 9 starters (Scarlet/Violet) +- [ ] Add Legends Arceus starters +- [ ] Add Legends Z-A starters \ No newline at end of file diff --git a/backend/src/app/seeds/special_encounters.json b/backend/src/app/seeds/special_encounters.json index 04b47cc..affd9f6 100644 --- a/backend/src/app/seeds/special_encounters.json +++ b/backend/src/app/seeds/special_encounters.json @@ -5,25 +5,6 @@ {"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} ] }, "heartgold-soulsilver": { @@ -31,30 +12,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,19 +19,6 @@ {"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} ] } },