Co-authored-by: Julian Tabel <juliantabel.jt@gmail.com> Co-committed-by: Julian Tabel <juliantabel.jt@gmail.com>
45 lines
2.2 KiB
Markdown
45 lines
2.2 KiB
Markdown
---
|
|
# nuzlocke-tracker-4ni4
|
|
title: Fix seed data with encounter conditions
|
|
status: completed
|
|
type: task
|
|
priority: high
|
|
created_at: 2026-02-17T07:37:25Z
|
|
updated_at: 2026-02-17T17:52:29Z
|
|
parent: oqfo
|
|
---
|
|
|
|
## Context
|
|
|
|
Some Pokémon games have different encounter tables depending on time of day, weather, season, or special mechanics (SOS calls in Sun/Moon). A proof-of-concept exists on branch `feature/encounter-conditions` that adds the backend/frontend infrastructure for encounter conditions (a `condition` field on `RouteEncounter`, seed loader support for a `conditions` dict, frontend condition selector and badges). However, the actual seed data has not been updated with real condition data yet.
|
|
|
|
The existing seed data has curated route ordering and normalized route names (from beans r48e, qvww, j28y) that must be preserved — only encounter condition data should be added/changed.
|
|
|
|
## Checklist
|
|
|
|
### Infrastructure (merge from PoC)
|
|
- [x] Merge backend model + migration for `condition` field on `RouteEncounter`
|
|
- [x] Merge seed loader changes to handle `conditions` dict format
|
|
- [x] Merge API/schema changes to expose `condition` field
|
|
- [x] Merge frontend type updates (`RouteEncounter.condition`)
|
|
- [x] Merge frontend UI (condition selector tabs/badges in EncounterModal)
|
|
- [x] Add horde/SOS method badges to EncounterMethodBadge
|
|
- [x] Add condition column to AdminRouteDetail
|
|
|
|
### Import tool updates
|
|
- [x] Update `tools/import-pokedb` to extract per-condition rates instead of flattening to `max()`
|
|
- [x] Fix encounter method mappings (horde, SOS as distinct methods)
|
|
- [x] Write merge script (`tools/merge-conditions.py`)
|
|
|
|
### Seed data updates
|
|
- [x] Gen 2: Gold, Silver, Crystal (morning/day/night)
|
|
- [x] Gen 4: HeartGold, SoulSilver, Diamond, Pearl, Platinum, Brilliant Diamond, Shining Pearl (morning/day/night)
|
|
- [x] Gen 5: Black, White, Black 2, White 2 (spring/summer/autumn/winter)
|
|
- [x] Gen 7: Sun, Moon, Ultra Sun, Ultra Moon (day/night)
|
|
- [x] Gen 8: Sword, Shield (weather conditions)
|
|
- [x] Verify all hooks pass (`prek run --all-files`)
|
|
|
|
## Notes
|
|
- X/Y had no condition data in PokeDB (horde encounters already tracked as separate method)
|
|
- 5,684 encounters updated across 22 games
|