It isn't possible outside of scripts. The best you could hope for is an approximation. With the probability of getting at least a single 8 on 3d8 being 33% we could use 1d3! as a means of handling the dice explosions then converting it to the appropriate amount of 8's and non-8's. This would give you an approximation with an error rate around 1 in 200 [[ [[ceil([[1d8>8]]d3!/3) * 2]]d11r<4 + 1d7]] So the ceil([[1d8>8]]d3!/3) is a count of the number of 8's rolled. The number of non-8's rolled is twice the count plus one The final value is (8 * count) + (2 * count)d7 + 1d7 but you cannot use the outcome of a roll twice but in this instance we can fold the value onto the dice adding +4 to each side of the dice which times by (2 * count) dice is (8 * count) and the remaining 1d7 added at the end