Opposed Roll
POST /api/creative/mechanics/analysis/opposed
POST
/api/creative/mechanics/analysis/opposed
Analyze an opposed roll between two dice pools (weight-based).
Request Body required
Section titled “Request Body required ” OpposedRollRequest
Request for opposed roll analysis.
object
attackerPool
required
Attackerpool
integer
defenderPool
required
Defenderpool
integer
attackerBonus
Attackerbonus
number
defenderBonus
Defenderbonus
number
outcomeMapping
required
DiceOutcomeMapping
Defines how individual die faces map to categorical outcomes.
For a d10 pool system: faces 1-10 map to bands like Critical Success, Advantage, Neutral, Consequence, Critical Failure — each with a weight that determines net outcome when advantages and consequences cancel.
object
dieFaces
required
Diefaces
integer
bands
required
Bands
Array<object>
DiceOutcomeBandA range of die face values with a categorical meaning and weight.
Example: on a d10, faces 8-9 are “Advantage” with weight +1.
object
name
required
Name
string
minValue
required
Minvalue
integer
maxValue
required
Maxvalue
integer
weight
Weight
integer
color
Color
string
Responses
Section titled “ Responses ”Successful Response
OpposedResult
Result of comparing two dice pools head-to-head.
object
attackerPool
required
Attackerpool
integer
defenderPool
required
Defenderpool
integer
attackerWinProb
required
Attackerwinprob
number
defenderWinProb
required
Defenderwinprob
number
tieProb
required
Tieprob
number
expectedMargin
required
Expectedmargin
number
marginDistribution
required
Margindistribution
Array<object>
DistributionBucketobject
value
required
Value
number
probability
required
Probability
number
cumulative
required
Cumulative
number
Validation Error
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context