Character creation: - Full RQ3 Previous Experience wizard (4-step: identity, characteristics, culture/occupation/skills, review+save) with all 29 occupations across 4 cultures; skills computed as base + category modifier + years × multiplier - Character sheet expanded to show culture, occupation, derived stats (HP/FP/MP/ DB/SR), all 7 skill category modifier badges, computed skill percentages grouped by category, weapon attack/parry %, hit locations with armour AP - Location/destination tracker on character sheet (auto-saves on blur) - parry_percent stored on combatant_weapons Personality traits: - 24 predefined traits (Brave, Greedy, Cautious, etc.) each rated 0-100% - Trait → action bias map drives scene choice weighting - rollPersonalityAction() rolls d100 per trait, sums biases, returns suggestion - Trait editor (pill UI) on both character sheet and NPC view - Adventure tab: Roll Personality button fires traits, highlights suggested choice Tables and data: - Import RQ3 character creation tables (Culture d8, Occupation d100 ×4, Craft sub-tables, Language Proficiency, Dropped Oil Lamp, Aging, Armor Points) - Cross-table links: Culture → Occupation, Barbarian/Civilized Crafter → Craft - Fix rollOnTable to use actual dice notation instead of flat random row index - Remove unused resolveHeadInjury function Session tools: - Clear All button wipes all session data (characters, NPCs, enemies, combat, adventure, log) while keeping tables and spell mappings - PATCH /api/characters/:id/traits and /api/npcs/:id/traits endpoints - GET /api/rules/personality-traits reference endpoint - POST /api/adventure/personality-roll endpoint
46 lines
2.5 KiB
Markdown
46 lines
2.5 KiB
Markdown
# RQ3 Story Tool — To-Do
|
||
|
||
## High priority (mechanics gaps)
|
||
|
||
- [x] Fix `rollOnTable` to roll the table's actual dice notation instead of picking a flat random row — now affects the adventure engine (Culture Table, Occupation Tables) where unequal row ranges matter
|
||
- [x] Resolve stuck-weapon follow-up after impale/slash special hits (`attemptWeaponRemoval`, `removeStuckWeaponFromSelf`, `removeStuckWeaponWithFirstAid`)
|
||
|
||
## Medium priority (missing features)
|
||
|
||
### Adventure / CYOA
|
||
- [x] Add character location / destination tracker — where the PC currently is and where they are heading; used to auto-select which encounter table to roll
|
||
- [ ] Add Layer 3 (and possibly Layer 4) sub-tables to the Norse encounter tables so scene descriptions cascade into richer detail
|
||
- [ ] Add a Previous Experience step to the PC generator (culture → occupation → skills, magic, equipment) using the imported occupation tables
|
||
- [ ] Wire PC weapon skills into adventure scene choices so "Fight" shows the correct attack %
|
||
- [ ] Persist scene history so the adventure log reads as a continuous narrative
|
||
|
||
### Combat
|
||
- [ ] Build strike-rank round scheduling UI (round counter, Next Round button, SR-ordered action display using `buildStrikeRankSchedule`)
|
||
|
||
### Other
|
||
- [ ] 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)
|
||
- [ ] Add item editing (change qty inline) and ENC-per-item display to inventory UI
|
||
|
||
## Correctness fixes
|
||
|
||
- [ ] Fix `state.dirty` being set to `true` on GET requests
|
||
|
||
## Cleanup
|
||
|
||
- [ ] Remove dead `state.reactionType` from frontend state
|
||
|
||
## Done
|
||
|
||
- [x] Player character generator — random/deliberate/combined methods, correct RQ3 derived stats
|
||
- [x] Fix total HP formula (was CON+SIZ, now ceil((CON+SIZ)/2)); fix hit location HPs
|
||
- [x] Skill category modifiers (all 7, primary/secondary/negative influences) + fatigue points
|
||
- [x] Inventory system — items with ENC tracking, effective FP = STR+CON − total ENC
|
||
- [x] Adventure scene engine — procedural CYOA choices resolved via skill checks; scene state persisted
|
||
- [x] Import RQ3 character creation tables (Culture, Occupation, Craft, Language, Aging, etc.) with cross-table links
|