There are some issues with dice() in relation to it's documentaiton.
gives examples, but the example for '1' and '2' are reversed.
The example for '0'/'default' says 'both' when it should be 'all' I assumed this happened as the examples involve rolling 2 dice. I might also slightly reword this otherwise to make it read like the other five which have a more consistent style.'Display the totals of all dice. ' is closer to what I might do.
botval/fail/crit is what really confused me. botval is spoken of in terms of 'low ceiling' where as fail and crit in terms 'offset values' There's also a break between these two sections, so they don't connect easily.
Along with that, different game systems define things differently, and here you have a failure and a critical, but don't define what the things that fall between those two would be considered.
I was testing dice() out for WoD, and to roll 8 dice against a difficulty of 6 my assumption would be that:
dice(8,10,4,,,1,6) is what I would need. Giving me a section of botches (1), failures (2-5), and successes (6-10)
Ambrosia showed me to do this it's actually dice(8,10,4,,,,0,4), which I get now, but no way I would have gotten that from the docs
So, some examples would be good here, in my opinion.
Ok, those are my doc suggestions, here's some further code suggestion. I expect the current system to remain in place, but I could see some of these ideas either being added in or creating a dice2() or something ...
1. For modifying dice() you could add another optional section (or even multiple). The current dice() gives you three categories each die could land in, but some games have four and I imagine it's possible some have more.
2. Adding a dice2() or a beter name where the dice rolled get compared against the categories set like A
There are some issues with dice() in relation to it's documentaiton.
Believe it or not, this issue is holding my attention, Ash. I think this might be a good starter issue for me. :)
Wolf