Implement d6 wild dice/fumble skills and die-state rolls

This commit is contained in:
2026-02-26 08:26:12 +01:00
parent 0f44cc466b
commit 11ab7c959b
22 changed files with 560 additions and 50 deletions

View File

@@ -98,6 +98,8 @@
* name
* diceRollDefinition (ruleset-compliant expression, e.g. `5D+4`, `2d12+2`)
* wildDice (d6 only; number of wild dice)
* allowFumble (d6 only; whether wild-1 fumbles remove dice)
* Behavior:
* Can be rolled
@@ -198,6 +200,7 @@
* System must:
* Validate dice expressions against the campaign ruleset
* Validate d6 skill options (`wildDice`, `allowFumble`) as part of skill create/edit
---
@@ -213,7 +216,9 @@
* System must:
* Evaluate dice expressions deterministically and fairly
* For d6 skills, apply wild-die explosions and fumble-removal logic
* Record all rolls in the campaign log
* Return die-by-die roll states so the frontend can visualize critical/fumble/wild/removed/added outcomes
---
@@ -263,6 +268,7 @@
### Skills
* As a **player**, I want to define skills with dice formulas so that I can perform actions.
* As a **player**, I want to configure wild dice and fumble behavior for d6 skills so the roll follows my table rules.
* As a **GM**, I want to edit character skills so that I can enforce or adjust rules.
---
@@ -270,6 +276,7 @@
### Dice Rolling
* As a **player**, I want to roll dice for a skill so that I can resolve actions.
* As a **player**, I want to see which dice were wild, exploded, fumbled, removed, or added so that I can audit the roll result.
* As a **user**, I want to choose whether a roll is public or private so that I can control information visibility.
* As a **GM**, I want to see all rolls (including private ones) so that I can oversee the game.