2026-07-01 07:48:13 +10:00
# RQ3 Story Tool — To-Do
## High priority (mechanics gaps)
- [ ] Call `resolveHeadInjury()` in the attack handler when a Head hit penetrates armor
2026-07-01 08:19:01 +10:00
- [x] Resolve stuck-weapon follow-up after impale/slash special hits (`attemptWeaponRemoval` , `removeStuckWeaponFromSelf` , `removeStuckWeaponWithFirstAid` )
2026-07-01 07:48:13 +10:00
## Medium priority (missing features)
- [ ] Build strike-rank round scheduling UI (round counter, Next Round button, SR-ordered action display using `buildStrikeRankSchedule` )
- [ ] Add API routes and UI for the experience/improvement system (`markWeaponExperienceChecked` , `updateWeaponSkillPercent` , `applyImprovement` )
2026-07-03 16:00:54 +10:00
- [ ] Add Layer 3 (and possibly Layer 4) sub-tables to the Norse encounter tables so rolls can cascade deeper
- [ ] Add a character location / destination tracker — where the PC currently is and where they are heading (used to contextualise encounters and travel events)
- [x] Player character generator — stat rolls, derived stats, skills, weapons, hit locations; needed for combat and skill checks
2026-07-01 07:48:13 +10:00
## Low priority (polish)
- [ ] Wire up the export reminder modal (show on `beforeunload` , hook up Export Now / Leave Anyway / Cancel buttons)
- [ ] Add `DELETE /api/spell-mappings/:id` endpoint and a spell mapping management UI
- [ ] Add weapon and spell editing forms to NPC stat block view (currently only available for enemies)
## Correctness fixes
- [ ] Fix `rollOnTable` to roll the table's actual dice notation and match the range, instead of picking a flat random row index
- [ ] Fix `state.dirty` being set to `true` on GET requests
## Cleanup
- [ ] Remove dead `state.reactionType` from frontend state