Damage Calculation Formula for Dice

Hopefully I haven’t been duplicating work of an easily-available resource, but I have been working on a formula/algorithm to calculate the average damage for a particular weapon. Though I developed this initially for Neverwinter Nights, theoretically, this should work for any DND-like dice game (e.g. Knights of the Old Republic).

As I have found, this calculation depends on several factors, and doesn’t follow easy linear trajectories. Obviously, the average value of a 2D6 roll is 7, but that calculation does not consider things like criticals, damage reduction, or hit chance.

In summary, the algorithm follows these steps:

  1. Calculate the relative probabilities for each roll value. For example, the relative frequency of each result for 2D6:
    Value 2 3 4 5 6 7 8 9 10 11 12
    Probability 1 2 3 4 5 6 5 4 3 2 1
    To calculate this in a generic fashion, you must perform polynomial expansion to the degree of the number of dice to roll.
  2. For each possible value of the dice roll, you must then calculate the eventual damage of both a hit and a critical hit, ensuring that you include the damage bonuses in the critical hit calculation, but not the damage reduction, which should come after the critical hit multiplier. Currently, my algorithm does not handle dice rolls in the Massive Critical calculation since we’d probably have to perform another polynomial expansion. It only handles a static Massive Critical value. For overall values where the damage reduction causes the sum to total a value less than zero, treat the value as zero.
    1. Also calculate the hit chance for non-critical hits and the hit chance for critical hits, and then multiply those values against the damage values for the hit and critical hit, respectively.
      • Under normal rules, a D20 attack roll of 1 always misses, and a roll of 20 always hits and always hits critically.
  3. Add the expected damage results (non-critical hit chance * non-critical hit damage + critical hit chance * critical hit damage) for each value of the dice roll, then divide by the total number of outcomes for the dice roll (e.g. 2D6 has 36 possible outcomes).

So, in conclusion, the answer to which weapon produces the most damage is obviously “it depends”.

I have packaged this algorithm into an ODS file, which does contain macros. LibreOffice may not let you run it by default, but hopefully you can examine the code easily enough. I had to dip back in to VB Script, which I thought I had abandoned so many years ago, so forgive me for ignorance of any language features. If you don’t want to download the file from the Project page, I have also encoded the ODS file in Base64 in the following block:

Base64 encoding of the calculation Spreadsheet

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

1 Like

I purposefully didn’t include additional damage of other types (e.g. +1D6 Fire Damage), since those essentially require their own calculation with this algorithm, with different types of damage having potentially different resistance values for each enemy. So, you’d just add the algorithm’s value for normal damage to the algorithm’s value for these other types of damage.

Also, I didn’t include support for multiple attacks to calculate damage per round, but to calculate, just add the results of this algorithm for each attack according to the attack bonus for each attack.

Your link does not work and what on earth am I supposed to do with that block of data?

Just bite the bullet and make a project of it. On the front page of this site Contribute/Project. Fill in the form and upload your spreadsheet in an archive.

TR

base64 -d data.txt > 'Damage Calculator.ods' # Assuming you copied the data to 'data.txt'

Or you can try a browser decoder.

But, I did create a project for this tool, and the file linkage seems to work better there than in the old forums.