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
- Player rolls
numRequireddice - Results processed based on
type - First matching outcome rule executes
isAnyoutcomes 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"
}
}