Skip to main content

DiceRollRule

Purpose​

Prompts player to roll dice and executes outcome rules based on results.

Capabilities/Options​

Dice Roll Types​

  • default: Individual dice results checked against criteria
  • cumulative: Sum of all dice checked against criteria
  • allMatch: ALL dice must match criteria (or ANY if isAny: true)

Outcome Matching​

  • criteria: Array of values that trigger this outcome
  • isAny: If true, ANY dice matching criteria triggers outcome (even in allMatch mode)
  • rule: Rule to execute when outcome matches

Execution Flow​

  1. Player rolls numRequired dice
  2. Results processed based on type
  3. First matching outcome rule executes
  4. isAny outcomes take priority over regular outcomes

Examples​

Basic Roll with Outcomes​

{
"id": "rule_basic_roll",
"type": "DiceRollRule",
"diceRolls": {
"numRequired": 1,
"type": "default",
"outcomes": [
{
"criteria": [1, 2, 3],
"rule": { "id": "rule_low", "type": "DisplayRule" }
},
{
"criteria": [4, 5, 6],
"rule": { "id": "rule_high", "type": "DisplayRule" }
}
]
}
}

Cumulative Roll​

{
"id": "rule_sum_roll",
"type": "DiceRollRule",
"diceRolls": {
"numRequired": 2,
"type": "cumulative",
"outcomes": [
{
"criteria": [2, 3, 4, 5, 6],
"rule": { "id": "rule_low_sum", "type": "DisplayRule" }
},
{
"criteria": [7, 8, 9, 10, 11, 12],
"rule": { "id": "rule_high_sum", "type": "DisplayRule" }
}
]
}
}

AllMatch with isAny Fallback (Elite Four Pattern)​

{
"id": "rule_elite_four",
"type": "DiceRollRule",
"diceRolls": {
"numRequired": 4,
"type": "allMatch",
"outcomes": [
{
"criteria": [1, 2, 3, 4],
"rule": { "id": "rule_success", "type": "DisplayRule" }
},
{
"criteria": [5, 6],
"isAny": true,
"rule": { "id": "rule_failure", "type": "DisplayRule" }
}
]
}
}

No Outcomes (Roll for Display Only)​

{
"id": "rule_roll_no_outcome",
"type": "DiceRollRule",
"diceRolls": {
"numRequired": 1,
"type": "default"
}
}