What I’m shooting for is (once again) an over-engineered RPG dice roller which can handle anything we want from it....
Options will include:
Rolling sets of multiple dice of various sides. 3 sets of 2d10 would result in 3 numbers generated by rolling two different 10-sided dice. (Not 3 sets of INT(RND *19) + 2 to generate values of 2 to 20, but 3 sets of 2 rolls of INT(RND * 10) + 1... The two may generate the same values, but at a distinctly different probability curve.)
Modifiers per dice: +1 per dice, for example, so 2D6+1 will generate 2 numbers from 2 to 7, add them together for a total of 4 to 14.
Modifiers per set: (3S2D6)+1 would be 3 sets of 2D6, with 1 added to each set. Rolls might be:
(1,3) + 1 = 5
(2,3) + 1 = 6
(4,5) + 1 = 10
Modifiers to total roll: 3S2D6T+1... much like above, 3 sets of 2D6, with 1 added to the total sum:
(1,3) = 4
(2,3) = 5
(4,5) = 9
—————-
+1 = 19
Ability to keep/discard dice: 4D6K3h — roll 4 6-sided dice, keep the three highest:
(1, 2, 5, 5) = 12
Ability to reroll edge cases: 2D6R1R6 — roll 2 6-sided dice, reroll 1’s, reroll 6,s:
(1, 2, 4) = 6 <— in this case, the one got rerolled.
Ability to use “open dice”: 2D6O6 — roll 2 6-sided dice, open roll 6’s:
(3, 6, 4) = 13 <— a 6 was rolled, roll another dice (which was the 4)
And most of these “dice rules” will apply to sets as well, so we can:
Roll 10 sets of 2D10, and drop the lowest set, for 9 numbers from 2-20...
And so on, with every customizable option I can imagine from all my years playing various pen-and-paper RPGs.