How is the weapon damage on this weapon calculated?

Solution 1:

First note that the white version of this weapon has a base damage range of (651-659)-(712-728) Damage - Source: http://d3db.com/item/i/doom-hammer

Because we don't know the damage that the item rolled initially, we can use the average range of 655-720 as an assumption and get a roughly accurate calculation (or once you learn the mechanics, you could reverse the process to find the exact damage roll).

Secondly, minimum damage is added to the damage range before maximum damage. If the minimum damage is boosted above the maximum damage, then the maximum damage is also boosted to the same amount plus one. Afterwards, the maximum damage is added.

+284 min damage +361 max damage 49% damage increase.

minimum = 651 + 284 = 935. maximum = 936 + 361 = 1297 (the max damage was boosted because min damage overlapped).

Next multiply the damage ranged by damage increase.

minimum = 935*1.49 = 1393. maximum = 1297*1.49 = 1932.

This is very close to the weapon range you gave and the discrepancy we can somewhat blame on the initial damage range assumption we made. The rest of the discrepancy we can blame or some rounding issues or technical mechanic that I may not be aware of :)

Conclusion: Min damage is added before Max Damage. Max damage is boosted if Min overlaps due to the boost. Min damage that overlaps Max Damage is worth twice as much damage. Max damage is then added afterwards. Damage increase % is then applied.

Solution 2:

Here is the calculation.

First we prove that it is possible to reach this damage value:

  • min range is 651 - 659, so min_max = 659
  • min_bonus = 284
  • max_bonus = 361
  • dmg_fact = 1,494 (we do not know the exact value, because it is rounded. best case is 1,4949999...)
  • min_pre = min_max + min_bonus = 659 + 284 = 943
  • min_final = min_pre * dmg_fact = 943 * 1,494 = 1408,...
  • max_pre = min_pre + max_bonus = 943 + 361 = 1304
  • max_final = max_pre * dmg_fact = 1304 * 1,494 = 1948,...

And what do you know, this is almost the expected value: 1408-1948. Basically the weapon rolled the maximal min value and the max value was calculated accordingly. The difference is due to the unknown decimals from the dmg_fact (Damage Increase).

Bonus: If you happen to guess the dmg_fact = 1,49044, then min_final = 1405,48492 and max_final = 1943,53376, thus you get the exact range of 1405 - 1944.