You definitely can evaluate a roll twice in the same roll template. Why not post your rolltemplate code, so we can see exactly what you're doing, and we can suggest tweaks. One thing you need: Once for success (is it below a particular target number) and once to determine if it's a critical (the raw roll is evenly divisible by 5). To get this in a format you can use in a rolltemplate, you need to set up the roll to give appropriate criticals, so that you can use the rolltemplate RollWasCrit function. Assuming you're using 1d100, this roll will tell the rolltemplate if a result is critical (exactly divisibly by 5). Note that this will set failed rolls higher than skill rating as criticals too, but don't worry, the rolltemplate below will catch that. /roll 1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100<57 Change the <57 at the end to <@{skill} or whatever the target number is. If it's a calculation, make sure you use an inline roll, like so: /roll 1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100<[[@{INITIATIVE_ML} - @{PHYSICAL_PENALTY}]] Of course, in a roll designed for a rolltemplate, you would have it setup like this, rather than starting it with /roll: &{template:yourtemplatename} {{name=Test Attack}} {{roll=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100<[[@{INITIATIVE_ML} - @{PHYSICAL_PENALTY}]] ]] }} Then within your rolltemplate code, you would have something like this: {{#^rollGreater() roll }}
{{#rollWasCrit() roll }}
// enter your code here for what happens when the roll is critical
{{/rollWasCrit() roll }}
{{#^rollWasCrit() roll }}
// enter your code here for what happeneds when the roll succeeds, but is not a critical
{{/^rollWasCrit() roll }}
{{/^rollGreater() roll }}
Note: ^rollGreater means the roll is NOT greater than "roll", or in other words, IS equal to or less than "roll". If something happens when the roll fails, and fumbles also occur on a number divisible by 5, you can expand it like so: {{#^rollGreater() roll }}
{{#rollWasCrit() roll }}
// enter your code here for what happens when the roll is critical
{{/rollWasCrit() roll }}
{{#^rollWasCrit() roll }}
// enter your code here for what happeneds when the roll succeeds, but is not a critical
{{/^rollWasCrit() roll }}
{{/^rollGreater() roll }}
{{#rollGreater() roll }}
{{#rollWasCrit() roll }}
// enter your code here for what happens when the failed roll is divisible by 5
{{/rollWasCrit() roll }}
{{#^rollWasCrit() roll }}
// enter your code here for an ordinary failed roll.
{{/^rollWasCrit() roll }}
{{/rollGreater() roll }}