Needs to support all of the following (even in the same expression):
Total value is within a certain range (e.g. >= 16, < 3 or >= 8).
Individual expressions within a compound expression can force a success or failure (e.g. a 1d20 in a larger expression rolling 1 is a failure for the expression as a whole).
Expressions can report success, failure, or not determined, the default being not determined. These values trickle up through compound expressions (related to the above point).
What happens if two siblings report conflicting success results?
Needs to support all of the following (even in the same expression):
>= 16
,< 3 or >= 8
).1d20
in a larger expression rolling1
is a failure for the expression as a whole).