OK, I've been working quietly away at enhancing the dice rolling options within FG. I've gotten quite a bit done already, but looking to get some feedback before finalizing.
Goals
- Enhance current dice rolling with common die mechanics
- NOT building a general purpose calculator that happens to process dice (i.e. no multiplication and division)
- NOT create a multi-roll command line tool (i.e. no rolling multiple rolls at once)
Those items I highlighted as non-goals are definitely "dice roller" features, since many complex die rollers offer pieces of functionality like this. However, they are not being tackled at this time. Something like those goals could be implemented within Lua scripts, but I'll leave the more advanced features for later or community developers. The main goal is to make life incrementally easier for developers and provide some better dice macro tools.
Current Features Targeted
- Individual die modes (reroll, explode, compound, penetrate, openlow) that support ranges (specific number, <=, >=) and limits (only can trigger X times). Die modes of the same type can stack for ranges.
- Rerolls will automatically drop dice from further consideration (totalling, etc), and generate a new die.
- Explode/compound/penetrate/openlow are mutually exclusive, and disable reroll after triggering.
- Explode/compoung/penetrate dice triggers will highlight dice in green.
- Openlow dice triggers will highlight dice in red.
- Dice set modes (keep, drop, success, failure, sort, sortdesc) with ranges and values for success/failure.
- For dice sets, brackets can be used to denote sets of multiple die clauses (i.e. {2d8+2d6}k2)
- Negative dice are supported.
- Percentile dice support built-in, including new percentile dice icon.
- Dice values that do not map to physical dice (i.e. not d4,d6,d8,d10,d12,d20,d100) can be passed to any dice field or function within FG. When these dice are rolled, a random value will be generated by the FG client, and the result shown along with any actual dice rolled.
- If the dice model limit is exceeded (i.e. 30 dice), the remaining dice results will still be generated randomly, instead of ignored.
- Die background, die icon, die icon coloration, die font and die font color can all be set on a per die basis.
Now for an example:
6d10e10r1l1k4
= Roll 6d10. If 10 rolled, mark die green and roll another die (with no reroll). If 1 rolled, mark die as dropped (grayed out) and roll another die. If reroll die also rolls 1, then keep it. Once all dice are rolled, keep the highest four dice. (all the rest are grayed out)
The current Savage Worlds ruleset rolling would match up to the explode mechanic (i.e. 1d8!+1d6! for d8 skill check plus d6 wild die)
The current Rolemaster ruleset would match up with a combination of the explode (>=96) and openlow (<=5) mechanics on the same die. (i.e. 1d100!>96ol<5)
Also, a screenshot attached with several of the features I already have working.
Thoughts?
Regards,
JPG