# RQ3 Story Tool — To-Do ## High priority (mechanics gaps) - [ ] Call `resolveHeadInjury()` in the attack handler when a Head hit penetrates armor - [x] 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