Files
nuzlocke-tracker/.beans/nuzlocke-tracker-hm6t--pokemon-status-management.md

39 lines
1.6 KiB
Markdown
Raw Normal View History

2026-02-04 17:13:58 +01:00
---
# nuzlocke-tracker-hm6t
title: Pokemon Status Management
status: completed
2026-02-04 17:13:58 +01:00
type: task
priority: normal
2026-02-04 17:13:58 +01:00
created_at: 2026-02-04T15:44:37Z
updated_at: 2026-02-05T16:47:18Z
2026-02-04 17:13:58 +01:00
parent: nuzlocke-tracker-f5ob
---
Implement the system for tracking Pokémon status (alive, dead, boxed).
## Checklist
- [x] Create Pokémon card/tile component showing:
- [x] Sprite, name, nickname
- [x] Current status with visual indicator (green/red dot)
- [x] Location caught
- [x] Implement status transitions:
- [x] Alive → Dead (fainted in battle) via StatusChangeModal with confirmation
- [ ] Alive → Boxed (stored in PC) — deferred, no boxed tracking yet
- [ ] Boxed → Alive (added to party) — deferred, no boxed tracking yet
- [x] Add death recording:
- [x] Optional: record cause of death (free text, max 100 chars)
- [x] Optional: record level at death
- [x] Create "Graveyard" view for fallen Pokémon (on RunDashboard)
- [ ] Create "Box" view for stored Pokémon — deferred, no boxed tracking yet
## Implementation (death_cause feature)
- Backend: Alembic migration adds `death_cause` VARCHAR(100) to encounters
- Backend: Model + schemas updated with `death_cause` field
- Frontend: `StatusChangeModal` for recording death with confirmation from RunDashboard
- Frontend: `PokemonCard` now clickable with status indicator dot and death cause display
- Frontend: `EncounterModal` includes death cause input alongside faint level
- Frontend: `RunEncounters` shows death cause in route list
2026-02-04 17:13:58 +01:00
## Notes
- Status changes should be confirmable (prevent accidental deaths) ✓
- Consider undo functionality for misclicks — not implemented (Nuzlocke rules: death is permanent)