From 4742a7d876affa146e3962ba7784bb0357be0004 Mon Sep 17 00:00:00 2001 From: stefwill Date: Wed, 1 Jul 2026 07:48:13 +1000 Subject: [PATCH] Add TODO.md with prioritised backlog Co-Authored-By: Claude Sonnet 4.6 --- TODO.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..ac146ca --- /dev/null +++ b/TODO.md @@ -0,0 +1,26 @@ +# RQ3 Story Tool — To-Do + +## High priority (mechanics gaps) + +- [ ] Call `resolveHeadInjury()` in the attack handler when a Head hit penetrates armor +- [ ] Resolve stuck-weapon follow-up after impale/slash special hits (`attemptWeaponRemoval`, `removeStuckWeaponFromSelf`, `removeStuckWeaponWithFirstAid`) + +## 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