This seems like the right thread to reply to
The algorithm which I reconstructed from the overly verbose language in the book, and which @MichaelCule told me was correct, was:
- specify number of botch dice B.
- set multiplier M to 1.
- roll d10 (range 1-10)
- if this is the first roll and roll = 10, roll B d10s as botch dice; if any of them is 10, a botch has happened. Result is “Botch” and the number of zeroes rolled. If no botch die is a zero (including B=0), result is “0”.
- if roll = 1, double M and continue from 3.
- otherwise, result is roll × M.
So when you rolled stress 1 + 25, what will have happened is:
first roll = 1, double multiplier to 2
second roll = 1, double multiplier to 4
third roll = 7, result is 7×4=28
add 25, total is 53
If that is not, after all, the algorithm you want, now would be a good time to tell me.
Addendum: the code that implements this is in the roll_stress
function at
https://github.com/Firedrake/discourse-dice-roller/blob/master/plugin.rb