With the 1.3 code freeze you probably won't appreciate me suggesting a code change for Hero Dice, but here goes anyway I have the code but won't submit anything unless explicitly told its okay. And if this post is in the wrong place feel free to slap my wrist
The Problem:
The existing hero dice chat macros work very well counting the stun and body. They only problem comes with half dice. When you roll a half die in the Hero System you roll a D6 and calculate the Stun and Body as below:
Code: Select all
Roll Stn Bdy
1 - 1 - 0
2 - 1 - 0
3 - 2 - 0
4 - 2 - 1
5 - 3 - 1
6 - 3 - 1
Proposed Solution:
My suggestion is to modify the dicelib to accept dice numbers with decimal places. Then, if the decimal is a suitable value, add a half die to the result. In the Hero System only half dice are valid (ignoring special/killing dice and their pesky +1), no other fraction is allowed. The number of dice rolled is based on STR/5. STR 5 gets you 1d6, STR 8 1 & 1/2. I thought it would be sensible to allow any range of decimal to be entered. That would allow macros to be created as follows:
Proposed Changes to Dicelib:[h: input("STR")]
[r:dice=STR/5]
Strength=[r:STR] Dice=[r:dice+"d6h"] Stun=[r:eval(dice+"d6h")] Body=[r:eval(dice+"d6b")]
- Add a new regular expression to ExpressionParser to accept examples such as "[4.5d6h] [4.5d6b]" and pass three parameters to HeroRoll, times, size, and the decimal. In this example 4, 6 & 5
- Modify HeroRoll to have a minimum of 2 parameters and a max of 3
- Modify HeroRoll to roll a half dice if the decimal component is a half or more.
- Modify HeroRoll to include the decimal component in the matching logic for stun and body rolls
cheers!