I made it work. It ain't pretty, but... Well, no. There's no "but" to it. It just isn't pretty. Here is an option using ZeroFrame and MathOps (metascripts): [\][\]1d[[3d6]]r<{&math $[[0]] - 1}cs>10\]\] And here is an option using just ZeroFrame: [\\][\\]1d[[3d6]].valuer<[\][\]$[[0]] - 1\]\].valuecs>10\\]\\] In both cases, your initial roll of 3d6 is in a position where it will be interpreted as roll index 0, so we can refer to it later. This is important to understand if you replace 3d6 with some other roll that has a nested roll inside of it, or if 3d6 isn't the very first roll in the message. In those cases, change the $[[0]] roll marker accordingly. The thinking here is to take your result and brute-force it into a single-die roll of that many sides where we are rerolling anything but a top result: 3d6 => becomes => 15 => becomes => 1d15r<14cs<10 With the whole thing being reduced to a single die, you can apply your critical success threshold and get your green-rimmed result.