I am building a dice pool system using three polyhedral dice. Possible dice types are d4, d6, d8, d10 and d12. You roll three dice - which may be any dice combination of the types mentioned above - and use the highest two to determine success against a base DC (12). Achieving a higher DC (18/24/30) represents higher grades of success (i.e. „raises“).
The dice explode, on their respective highest number (4 on a d4, 6 on a d6, etc.) they are rerolled. There is no limit for dice explosions.
The reroll is additive. This way a single exploding die can surpass it's numerical value. An exploding d6, rerolled for a 4 would be a result of 10 [6+4] for that single die.
I am looking for the probability for such a roll hitting the DC's (12/18/24/30).
I have used anydice in the past to look into this, but sadly this only works for pools of the same dice.
function: highest N:n of A:s B:s C:s D:s E:s{
result: {1..N}@[sort {A, B, C}]
}
output [highest 2 of 3d[explode d4]]
output [highest 2 of 3d[explode d6]]
output [highest 2 of 3d[explode d8]]
output [highest 2 of 3d[explode d10]]
output [highest 2 of 3d[explode d12]]
It does, however not work for mixed pools of exploding dice. Making this work would in essence answer the question, since not only specefied DCs, but probabilities for every result would be modeled.
Help would be greatly appreciated, thank you in advance!