Files
story_builder/TODO.md
stefwill 8bccf6f484 feat: inventory system, adventure scene engine, and PC generator fixes
- Inventory: items linked to PCs with name, qty, ENC, category; effective
  FP = STR+CON minus total ENC carried; CRUD API + inline UI on Characters tab
- Adventure scene engine: new tab with procedural CYOA choices (Fight, Sneak,
  Talk, Investigate, Flee) resolved via skill checks; scenes generated from
  any rollable table with automatic L2 cascade; scene state persisted in DB
- Fix total HP formula: was CON+SIZ, now correctly ceil((CON+SIZ)/2) per RQ3
- Fix hit location HPs: were computed from wrong total HP, now correct
- Add fatigue points (STR+CON) to derived stats
- Add all seven skill category modifiers computed from characteristics
  (primary/secondary/negative influences per rulebook), shown in generator UI
- Add base skill computation (computeBaseSkills) for use in scene engine
- Add RQ3 Players Book to docs/ as reference
2026-07-03 16:00:54 +10:00

30 lines
1.6 KiB
Markdown

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