Files
nuzlocke-tracker/.beans/nuzlocke-tracker-4ni4--fix-seed-data-with-encounter-conditions.md

45 lines
2.2 KiB
Markdown
Raw Normal View History

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