Dice rolling programs take too long.
Some demand syntax like /roll 2d6+2
, and I think 'you should know that 2d6 is a roll without my typing /roll
, and also everything I roll has been d6’s, so obviously if I type just 3
, I mean ‘3d6’.
So I wrote one with defaults. This is my second python project, so the code isn’t pretty, but it does the job.
You write:
“”
2d6
Result: 5
d8
2d8
Result: 12
3+1
3d8+1
Result: 8
If you give it a target number (TN), all rolls will tell you whether or not you’ve reached that TN.
If you give it a difficulty, it’ll tell you how many dice have landed on that number or above.
You can input these things in any reasonable format:
tn=18
TN 12
difficulty = 4
dif 9
I made one that uses a full infix expression parsing library so we can do arbitrary math like (3d6+4d8)*100+2d6
https://idiomdrottning.org/dicebot
This is really cool! But do I have to make an XMPP account to use it?
I don’t know why so many dice rollers insist on that awkward
/roll
syntax, instead of just listening to anything of the formxDy
.We’ve occasionally have had crashes when it heres us say like an URL or something and it happens to contain 30d0 in a longer string of line noise.
I handed
nd6
to my gf, and she immediately crashed it with 3d0. I’ve ended up with rather a lot of sanity checks and atest
command.Ooh - and I added a new feature a couple of days ago. Type
att = 2d6+1
, and thereafter if you typeatt
, it rolls that attack pool. Might be useful, but might be a headache for a multi-user program.Great idea, I wanna add that feature, too! Would solve a problem for us.