Post by B+ on Jan 24, 2021 5:21:57 GMT
Funny enough I was busy trying to write, and debug, this *in the middle of* a DND campaign, since all the dice rollers out there are stupid, and can't handle the insane madness that actually happens in a real game. In this case, the madness is, "I need to roll, sometimes with advantage, a 1d20, add my modifier, then also roll damage, which is 1d8 + 6, but I also add +2 if using special ammo, and +2 again if its a favored enemy, plus I add 1d6 if I am using hunter's mark, but then if I am also using the bows phase ability I add another 1d8, then, if its the first shot, and I have a bonus action, I can also add another 2d8..." So.. How the F do you do that with all these dice rollers that exist already? Answer: You can't, because almost none of them let you roll more than one die at a time, of a different type, none of them let you roll your attack, along with damage, and absolutely none of them let you set up conditions, where some dice get rolled, and some don't, based on which freaking features/abilities you have active.
Say you want 2 twice a much as 1 and 3 twice as much as 2 and 4 twice as much as 3
1
2
4
8
=
15 units
for i = 1 to 1000
r = rnd(0)
select case
case r < 1/15 : print 1;" "; : t1 = t1 + 1 '1/15
case r < 3/15 : print 2;" "; : t2 = t2 + 1 '3/15 - 1/15 = 2/15
case r < 7/15 : print 3;" "; : t3 = t3 + 1 '7/15 - 3/15 = 4/15
case else : print 4;" "; : t4 = t4 + 1 ' 1 - 7/15 = 8/15
end select
if i mod 50 = 0 then print
next
print
print "1 count ";t1,"2 count "; t2, "3 count ";t3, "4 count ";t4
4 4 4 4 4 4 4 2 3 4 2 4 4 3 4 4 3 4 3 4 4 3 4 4 4 4 4 1 4 4 3 2 3 3 4 3 4 4 4 2 4 4 4 2 3 4 3 3 3 2
3 2 3 3 3 2 4 2 3 4 3 4 2 2 3 4 4 4 3 1 4 4 4 3 4 4 2 2 4 3 1 2 3 4 4 2 4 2 3 3 4 3 2 2 1 3 2 4 3 4
4 3 2 4 3 4 4 4 4 3 4 4 1 1 4 2 1 1 2 3 3 3 4 4 3 2 3 2 2 4 4 3 3 1 3 3 2 4 4 3 4 1 3 3 4 4 4 4 4 3
4 4 4 2 4 1 3 4 2 4 2 4 3 2 4 4 1 3 2 4 1 4 3 3 1 4 1 4 2 1 4 2 1 4 4 1 4 4 4 4 3 4 4 4 4 4 3 3 4 3
4 4 3 4 3 4 3 4 1 3 3 3 3 4 3 2 3 4 3 2 4 4 4 4 1 4 4 3 1 4 3 1 4 4 3 3 4 4 4 4 3 3 2 4 4 3 3 2 3 3
3 4 4 2 3 2 4 4 3 3 2 4 2 3 4 4 4 1 1 4 4 2 4 3 4 3 1 4 4 4 1 3 2 4 3 4 4 4 4 4 4 2 3 4 4 2 3 4 4 4
3 2 3 4 2 4 2 4 3 4 4 3 4 3 4 2 4 3 4 4 4 4 4 4 3 4 4 4 3 2 4 3 4 4 4 2 3 4 4 4 4 2 4 4 3 3 4 3 4 2
4 4 4 4 3 4 3 3 2 4 3 4 3 4 4 3 4 4 3 4 4 4 4 4 3 4 4 3 4 4 4 3 4 3 1 4 4 3 4 3 4 4 1 3 1 2 4 4 3 4
4 3 1 4 4 2 4 4 1 4 2 2 4 3 4 4 4 3 1 2 2 2 4 3 3 3 4 3 4 4 3 2 4 3 3 2 4 3 3 4 4 4 1 4 4 4 4 4 2 4
4 4 4 2 4 4 4 2 3 4 3 4 3 3 4 4 3 4 4 4 4 4 3 3 4 4 4 4 4 3 4 3 4 4 4 4 4 2 3 4 4 2 1 1 4 4 1 4 4 4
3 2 4 4 4 2 4 4 4 4 4 2 3 4 3 3 1 3 3 4 3 3 4 3 4 4 4 3 3 2 4 4 1 4 4 4 1 4 4 4 3 2 4 4 3 3 3 4 4 2
1 1 4 4 2 1 4 3 3 2 4 4 4 4 4 4 4 3 3 4 4 4 4 4 1 3 4 3 4 3 4 4 4 2 4 3 4 2 1 4 3 2 2 4 4 4 1 3 4 4
4 4 3 2 4 2 4 2 4 4 4 3 4 4 3 4 4 3 4 4 3 2 4 4 4 4 2 3 4 4 3 4 3 4 4 1 4 4 4 4 3 4 3 4 4 4 4 1 3 3
4 4 2 2 2 4 3 4 4 4 4 4 3 3 4 3 3 3 2 4 2 4 4 4 4 4 2 4 3 4 2 4 3 3 4 4 4 1 3 4 3 3 4 4 3 4 4 2 4 3
4 4 4 4 3 4 3 4 4 4 3 1 4 2 4 3 3 4 4 1 4 4 1 4 4 1 1 4 3 4 4 3 4 3 3 4 4 4 3 4 4 4 4 3 4 2 4 4 2 4
4 4 4 4 3 4 1 4 2 3 4 2 4 3 4 1 4 3 4 3 4 3 4 1 4 4 3 4 3 4 3 4 4 4 4 2 4 3 3 2 3 2 3 3 1 1 4 4 4 4
4 3 2 4 2 4 4 4 4 4 3 4 4 3 4 3 4 4 3 4 1 1 4 2 2 4 3 3 4 4 1 4 4 1 3 4 2 2 3 2 4 4 4 4 3 3 3 4 4 3
4 1 4 2 1 3 4 3 4 2 3 4 3 4 4 4 4 1 2 4 2 2 4 1 4 3 4 4 1 4 4 3 4 3 4 2 4 3 4 4 3 4 4 2 4 1 3 2 1 4
3 4 4 4 4 4 3 3 2 4 4 4 3 3 3 4 2 4 4 2 2 4 3 1 4 3 3 3 2 3 2 4 4 4 4 3 4 2 4 4 4 4 4 4 4 4 3 3 4 4
2 3 4 3 4 4 4 4 1 4 4 4 4 2 3 3 4 3 4 4 4 3 4 4 4 4 4 4 4 4 4 3 4 3 4 3 4 3 4 4 4 3 4 4 2 3 4 4 4 3
1 count 71 2 count 126 3 count 261 4 count 542
3 2 3 3 3 2 4 2 3 4 3 4 2 2 3 4 4 4 3 1 4 4 4 3 4 4 2 2 4 3 1 2 3 4 4 2 4 2 3 3 4 3 2 2 1 3 2 4 3 4
4 3 2 4 3 4 4 4 4 3 4 4 1 1 4 2 1 1 2 3 3 3 4 4 3 2 3 2 2 4 4 3 3 1 3 3 2 4 4 3 4 1 3 3 4 4 4 4 4 3
4 4 4 2 4 1 3 4 2 4 2 4 3 2 4 4 1 3 2 4 1 4 3 3 1 4 1 4 2 1 4 2 1 4 4 1 4 4 4 4 3 4 4 4 4 4 3 3 4 3
4 4 3 4 3 4 3 4 1 3 3 3 3 4 3 2 3 4 3 2 4 4 4 4 1 4 4 3 1 4 3 1 4 4 3 3 4 4 4 4 3 3 2 4 4 3 3 2 3 3
3 4 4 2 3 2 4 4 3 3 2 4 2 3 4 4 4 1 1 4 4 2 4 3 4 3 1 4 4 4 1 3 2 4 3 4 4 4 4 4 4 2 3 4 4 2 3 4 4 4
3 2 3 4 2 4 2 4 3 4 4 3 4 3 4 2 4 3 4 4 4 4 4 4 3 4 4 4 3 2 4 3 4 4 4 2 3 4 4 4 4 2 4 4 3 3 4 3 4 2
4 4 4 4 3 4 3 3 2 4 3 4 3 4 4 3 4 4 3 4 4 4 4 4 3 4 4 3 4 4 4 3 4 3 1 4 4 3 4 3 4 4 1 3 1 2 4 4 3 4
4 3 1 4 4 2 4 4 1 4 2 2 4 3 4 4 4 3 1 2 2 2 4 3 3 3 4 3 4 4 3 2 4 3 3 2 4 3 3 4 4 4 1 4 4 4 4 4 2 4
4 4 4 2 4 4 4 2 3 4 3 4 3 3 4 4 3 4 4 4 4 4 3 3 4 4 4 4 4 3 4 3 4 4 4 4 4 2 3 4 4 2 1 1 4 4 1 4 4 4
3 2 4 4 4 2 4 4 4 4 4 2 3 4 3 3 1 3 3 4 3 3 4 3 4 4 4 3 3 2 4 4 1 4 4 4 1 4 4 4 3 2 4 4 3 3 3 4 4 2
1 1 4 4 2 1 4 3 3 2 4 4 4 4 4 4 4 3 3 4 4 4 4 4 1 3 4 3 4 3 4 4 4 2 4 3 4 2 1 4 3 2 2 4 4 4 1 3 4 4
4 4 3 2 4 2 4 2 4 4 4 3 4 4 3 4 4 3 4 4 3 2 4 4 4 4 2 3 4 4 3 4 3 4 4 1 4 4 4 4 3 4 3 4 4 4 4 1 3 3
4 4 2 2 2 4 3 4 4 4 4 4 3 3 4 3 3 3 2 4 2 4 4 4 4 4 2 4 3 4 2 4 3 3 4 4 4 1 3 4 3 3 4 4 3 4 4 2 4 3
4 4 4 4 3 4 3 4 4 4 3 1 4 2 4 3 3 4 4 1 4 4 1 4 4 1 1 4 3 4 4 3 4 3 3 4 4 4 3 4 4 4 4 3 4 2 4 4 2 4
4 4 4 4 3 4 1 4 2 3 4 2 4 3 4 1 4 3 4 3 4 3 4 1 4 4 3 4 3 4 3 4 4 4 4 2 4 3 3 2 3 2 3 3 1 1 4 4 4 4
4 3 2 4 2 4 4 4 4 4 3 4 4 3 4 3 4 4 3 4 1 1 4 2 2 4 3 3 4 4 1 4 4 1 3 4 2 2 3 2 4 4 4 4 3 3 3 4 4 3
4 1 4 2 1 3 4 3 4 2 3 4 3 4 4 4 4 1 2 4 2 2 4 1 4 3 4 4 1 4 4 3 4 3 4 2 4 3 4 4 3 4 4 2 4 1 3 2 1 4
3 4 4 4 4 4 3 3 2 4 4 4 3 3 3 4 2 4 4 2 2 4 3 1 4 3 3 3 2 3 2 4 4 4 4 3 4 2 4 4 4 4 4 4 4 4 3 3 4 4
2 3 4 3 4 4 4 4 1 4 4 4 4 2 3 3 4 3 4 4 4 3 4 4 4 4 4 4 4 4 4 3 4 3 4 3 4 3 4 4 4 3 4 4 2 3 4 4 4 3
1 count 71 2 count 126 3 count 261 4 count 542