Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Multiplying Exploding dice

I am wanting to make exploding dice that roll two or more additional exploding dice every time they explode, rather than just the single explosion chain.


Effectively I want it so every time a d6! explodes instead of only chaining another 1d6 I'd like to be able to roll 2d6 on the explosion.


I've searched for a solution every way I could think of and have come up blank. I tried counting successes and rolling additional exploding dice that way but was unable to create a closed formula. Best I could manage is counting the successes and manually inputting another exploding dice command after the fact based on the amount of successes. 

Is there a way to do this or at the very least streamline the process?

May 07 (2 years ago)

Edited May 07 (2 years ago)
Gauss
Forum Champion

To clarify, you would like explosions to roll 2d6 rather than an extra 1d6? 
And you want it to explode only once? 

I think I can get you close, but you will have to mentally add the exploding dice together with the original die. 

&{template:default} {{name=Test}} [[[[{[[1d6]],0}>6*2]]d6]] {{Roll=$[[0]] + $[[2]]}} 

What this will do is give you a roll that is the d6, and then if that d6 is a 6 it will roll 2d6 and spit that out as another number. 
It shows like this: 


If you have more information on how you'd like it to be displayed then I may be able to make things look better. 

A Mod (API Script) can do all this more cleanly, but that requires a Pro account. 

May 08 (2 years ago)
GiGs
Pro
Sheet Author
API Scripter

It sounds like you want to treat exploded dice as a single die, so a d6 that explodes adding an extra d6 is not a range of 7-12, instead of a 6 and another 1-6.

The way to do this is to use !! instead of !.

So if you normally used 1d6!, now use 1d6!!. You can use !! exactly like ! (so 1d6!!6, or 1d10!!>8), but it converts the exploded die into a single die, not multiple dice.

May 08 (2 years ago)
Gauss
Forum Champion

GiGs, I don't think that will do what the user wants it to do. 

If I understand correctly they want it to roll 2d6 on a single explosion rather than 1d6. 
Example: 1d6 rolls a 6 and explodes. An additional 2d6 (instead of an additional 1d6) are rolled for a total of 3d6. 

Also, if I understand correctly they want it to explode only once, not repeatedly. 
Using my previous example, a 1d6 rolls a 6 and explodes. The additional 2d6 are rolled and roll a 4 and a 6, there is no additional explosion. 

Of course, I am waiting confirmation from Askyw on their desires here. :)

May 08 (2 years ago)

Edited May 08 (2 years ago)
GiGs
Pro
Sheet Author
API Scripter

Oh you're right. I skimmed it too quickly. Your approach looks good, Gauss.

To OP, the reaosn you havent found any good advice on doing it this way, is because it's not directly possible with Roll20 dice. Gauss's method is likely the only way to do it (until RainbowEncoder comes along, anyway), and that is using an undocumented hack. Doing a roll like this would normally need a Pro level subscription and a custom script.

To me it reads as the exploded 2d6 could also explode given their best attempt involved 'counting the successes and manually inputting another exploding dice command' and that is a whole different world of hurt. I don't have the time right now to make a recursive macro to handle that but if it's required I can do so later.

For the single d6 explodes once into 2d6 problem, Gauss' macro can be changed into a /roll command to handle the arithmetic.

/r [[ [[{[[1d6]],0}>6*2]]d6]] + $[[0]]

However d6 systems tend to like to roll dice pools. So for multiple d6's explode into 2d6 once each you'd need

/r ([[?{How Many|1}d6>6]]*2)d6 + 6*$[[0]] + (?{How Many}-$[[0]])d5


Also of there is an open suggestion Allow Exploding and Penetrating dice to roll a different-sized die on subsequent rolls that could be worth voting for since it could potentially handle this kind of exploding dice.

May 12 (2 years ago)

Edited May 12 (2 years ago)

thanks for the help guys!

I did indeed intend for the dice to continue to explode but without scripts i don't think that's possible to automate. 

To further clarify, the end result I care about is the total value of the dice, displaying the individual rolls is only really needed if full automation isn't possible, although it is still appreciated.

This doesn't need to be an infinite chain either, only needing to chain maybe 3-4 times before the chances of further chaining is so low that it's not necessary to account for. Not sure if that's easier to write up as a long chain or if sticking with an infinite chain is easier. 


RainbowEncoder said:


However d6 systems tend to like to roll dice pools. So for multiple d6's explode into 2d6 once each you'd need

/r ([[?{How Many|1}d6>6]]*2)d6 + 6*$[[0]] + (?{How Many}-$[[0]])d5

^So far this feels like the closest to what I'm going for, although as i'm not quite sure what all is going on in this formula, I don't know what I'd need to do to stack it 3-4 layers deep.

Again, thanks for the help.

The chance of needing more than 4 layers deep is surprisingly high. So I made the manually recursing macro to handle it. It consists of two macros

d6explode (This is the one you run)

#d6explode-base [[0]] [[?{How Many|1}]] [[?{How Many}]] [[1]] 

and d6explode-base (This does most the work)

&{template:default} [[ [[ ($[[1]]-[[ [[ 6*[[ $[[2]]d6>6cf0 ]] ]]/3]]/2)d5cs0 ]] ]] {{[0](" hidden)}} {{[[[{$[[8]],-1}>1 ]]](" hidden)=**Sixes** $[[3]]
**Sub Total** $[[0.computed]]+$[[4]]+$[[6]]
[Continue](!
#d6explode-base [[ $[[0]]+$[[4]]+$[[7]] ]] [[ $[[5]] ]][[ $[[5]] ]][[ $[[5]] ]])}} {{[0](" hidden)=**Running Total** $[[0]]}} [[[

It looks like this

It prompts for how many dice to roll, then you just keep clicking continue until the button disappears

The #d6explodes-base uses HTML entities so once it's saved as a macro don't open it. A long-standing bug causes the entities to revert which would then break it.