Are there anydice function(s) or code for Savage Worlds rolls?

I am trying to use the exploding function and the highest of functions, but I am having issues with the skill die or wild die side of the roll.

If I do output [highest 1 of 1d4 + 1d6] I get a minimum result of 2...which tells me I am doing this wrong. Is there a way to do highest of d4 OR d6?

The syntax for non-exploding and taking highest is:

output [highest of d4 and d6]


For exploding, simply add the [explode <roll>] tag, so the result will be something like:

output [highest of [explode d4] and [explode d6]]

• I see so I should be ok with this. output [highest of 1@[explode d4] and 1@[explode d6]] May 12, 2017 at 13:51
• There are some edge cases in Savage Worlds where dice do not explode, most notably damage to inanimate objects like busting down a door. So thanks for including both! May 12, 2017 at 18:05
• Also note a roll of 1 on a sorcery-based spell-casting roll results in backlash regardless of the roll on the Wild die. Jul 26, 2017 at 16:16
• I think that last one has too many highest of and could just be output [highest of [explode 1d4] and [explode 1d6]]. Not confident enough with anydice to just edit the answer though... Nov 29, 2017 at 14:41
• @Chris you are correct that they wield the same result. Back when I wrote this answer, I had some kind of issue with highest of that forced me to input a number (highest 1 of) and led me to this code. But explode already wields the highest result. Nov 29, 2017 at 17:23

I think I worked it out.

function: reroll R:n under N:n { if R < N { result: [highest of [explode 1d6] and [explode 1d6]] } else {result: R} }

output [reroll [highest of [explode 1d6] and [explode 1d6]] under 4] output [highest of [explode 1d6] and [explode 1d6]]

• Is this supposed to be a self-answer to your own question? We're Ok with those if they work, but obviously it needs to be in the right place :) Mar 25, 2021 at 15:32
• Also, this answer doesn't appear to be quite correct, since AFAIK rerolling using bennies in Savage Worlds lets you keep the original result if you roll lower on the reroll, whereas your function always returns the rerolled value if it rerolls at all. Of course, if you only reroll when your original roll would fail, then this doesn't really matter much. Mar 25, 2021 at 23:48