I could be wrong-- I'm probably wrong. But. I think most of the tricks that might accomplish this would require you to always know the number of dice you needed to roll, because they would utilize a series of 1d10 rolls that were first compared against 7 and then reused and compared against 10. A different way of going about it would be with a script. Using Plugger and ZeroFrame (metascripts), you can have the same equation service any number of dice, even an ad hoc number. It can feed into another script, or just hit the chat with the result. Here is the solution broken out into a roll template just so you can see the component parts: !&{template:default}{{name=Roll Proof of Concept}}{{Base=[[?{Number of d10|10}d10>7]]}}{{Extra={&eval}getDiceByVal($[[0]] 10 all count){&/eval}}}{{Total=[\][\]$[[0]].value + {&eval}getDiceByVal($[[0]] 10 all count){&/eval}\]\]}}{&simple} And here is the basic roll equation with everything condensed: [\][\][[?{Number of d10|10}d10>7]].value + {&eval}getDiceByVal($[[0]] 10 all count){&/eval}\]\] If you embed that roll equation in a command line that includes other rolls, just make sure that the getDiceByVal plug-in is referencing the correct roll in the order. Since there is only one roll in this line (and therefore the roll we need to reevaluate is the first one), it uses $[[0]].