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