Wednesday, July 5, 2017

Formula for BD&D Ability Score Bonus

While working on an initiative tool, I worked out a formula for your Ability Score bonus using the Basic D&D bell curve spread. (18 = 3, 16-17 = 2, 9-12 =0, etc.)

It works well, with the bonus past 18 increasing by 1 for ever 2 points in your score, until you hit a score of 24, which is a third value of 5 instead of moving on to 6. You can't really push the breakdown point higher unless you're willing to get fancier than I am. However, unless you're playing 3rd ed (with its own bonus spread) you're unlikely to come across Ability Score that high anyway, so this should probably serve you.

Anyway, here's the formula. The symbols surrounding it refer to the floor function, meaning you round down. The forward slash means division.

Bonus = ⌊(Ability Score - 10.5) / 2.3⌋

Or spelled out:
  1. Subtract 10.5 from your ability score.
  2. Divide by 2.3
  3. Round down. That's your bonus.

Here's the Excel formula. ROW() is the Abiltity Score, just replace that if you want to do it by value instead of row.

=ROUNDDOWN((ROW()-10.5)/2.3,0)

Here it is in C#, the whole reason I wanted a formula.

int bonus = (int)Math.Truncate((18 - 10.5) / 2.3d)

No comments:

Post a Comment