Files
story_builder/TODO.md
T
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

1.6 KiB

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)
  • 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)
  • 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