You might need someone like RainbowEncoder to give you a definitive solution (if can even be done, short of a rollable table, which I don't think solves all of your requirements, anyway). If scripts are available, you can do this with Plugger + ZeroFrame. I know you don't have a Pro tag beside your name, but if the game-creator is a Pro subscriber, then scripts are available to you. In any case, for those who might happen on this who are Pro subs, this is the basic way to do something like this: !&{template:default}[[?{Dice pool?|1}d10>?{Target Number|7}f1cs>9]]{{name=Proof Of Concept}}{{Base Roll=$[[0]]}}{{Number of Criticals={&eval}getDiceByVal($[[0]] >1 crit count){&/eval}}}{{Final Result=[\][\]$[[0]].value + {&eval}getDiceByVal($[[0]] >1 crit count){&/eval}\]\]}} {&simple} You can replace the '9' with whatever critical success you want, or with a query for the threshold. The EVAL line basically is going to count the number of crit dice in Roll $0 which are also over 1 (in other words, all of the crit dice). I can go more in depth if scripts are available, but chances are they are not... so... someone light the RainbowEncoder beacon.