2.6.5 (updated) DH DPS Calculator

Demon Hunter
1 2 3 18 Next
05/14/2019: Updated for patch 2.6.5/Season 17

Apparently there is a 25 page limit to forum posts, so I renamed the old post as "archived," and created this new thread.

The old one can be found here: https://us.battle.net/d3/en/forum/topic/14926303061

8/26/15

Updated for some of the 2.3 changes. You can check my open issue list on github for more info.

Here's a link to the calculator:

https://dhcalc.dawg6.com/

I started this project a few months ago when I made my first M6 DH. Then I found the existing calculator (d3profile.com) but I had a few ideas of my own (e.g., import battle.net profile, show all the underlying calculations).

I've already received a number of additional suggestions from the reddit community which I will be incorporating into the tool over time.

Here's a link to the reddit thread where I keep the "to-do list" and change log up to date:

https://redd.it/2jiynj

Update 10/12:

I'll write up a more in-depth description of how to use the calculator and put it on the site some time this week.

In the mean time, here is a short how-to:

1. Select your Realm and enter your battle tag.

2. Click "Get Hero List" to retrieve the list of Demon Hunters on your account

3. Select your hero from the down and select "Import"

This will load all of your items and skills. After importing, the calculator will run a simulation to determine how much damage your character does under a specific scenario (see the box labeled "Situational").

Note: the battle.net API does not provide access to paragon points (except dexterity which can be calculated), so you will have to enter them manually. If you do this after hitting "Import" simply click "Simulate" to re-run the simulation. If you do this before hitting "Import" then they are already included in the simulation.

Under "Damage Log" you will see each attack your hero makes along with the calculations for each. Click the "Legend" button for an explanation of the various fields used in the calculations.

Under "Stat Calculator" you can see the effect of increasing or decreasing a particular stat.

Under "Compare Builds" you can store up to three builds to see the difference in damage for each.

Under "DPS/Break Point Calculator" you can see where you are with respect to breakpoints (along with how much you need for the next BP or how much extra IAS you have for the current BP).

Most fields have a mouse-over tooltip that explains what it means.
Today's updates:

- Added Yang's Recurve
- Added Hunter's Wrath (with import of legendary power)
- Fixed BreakPoint calculations for skills that depend on weapon type (e.g. EvasiveFire). This was shown correctly in break point table, but was not being calculated properly in the simulation, resulting in 1.02 APS for those skills.
- Added import of legendary powers from cube
- Removed Dead Man's Legacy bonus for MS fired by M4 Sentries
- Removed "freeze" from Cull the Weak legend description
- Sentry skill damage is now multiplicative for M4 skills, additive for sentry bolts and rockets
The new title and link will replace the old in the Sticky. Since you have a link to the archived thread here, I won't keep the old link in the Sticky.
Hi Dawg6,

Thanks, great tool, use it heaps. When we have yang's recurve equipped, the RCR section lists the weapon as just 10%, is this just a display issue or does it factor into the calculations as well? I.e. yang's is usually 40+ so will this skew the simulation results? Thanks.
Hit @Morbiuz, good catch! I forgot to change the limit for the main hand RCR spinner (input field)! Will fix right away. Should be up in about 10 minutes or so.

Edit: it's fixed now (I tested using your profile)
Nice! Thanks mate, seeing the updated values now.
Today's updates:

- Added Leech passive (no effect on dps)
- Next/Previous breakpoint calculator now takes into account Hunter's Wrath and Yang's Recurve
- Added Bane of the Stricken legendary Gem
08/26/2015 10:33 AMPosted by Dawg6
- Removed Dead Man's Legacy bonus for MS fired by M4 Sentries

this was patched and now works:
http://us.battle.net/d3/en/game/patch-notes/2-3-0
Fixed an issue that prevented Dead Man's Legacy from affecting Multishot when cast by
Marauder's Sentries

If you text search "Dead Man's Legacy" it'll take you right too it
Thanks, @TastySouP!

Additional changes:

- Dead Man's Legacy bonus now affects MS fired by M4 Sentries

Also,

FYI, I am looking for suggestion on which legendary powers to add to the calculator. You can either comment here or on my github issue for this specific feature (you can also see a list of which ones are currently implemented):

https://github.com/dawg6/dhcalc/issues/32
https://github.com/dawg6/dhcalc/issues/32
Implemented legendary powers to date:

Weapon/Offhand
Bombadier's Rucksack
Calamity
Kridershot
Dead Man's Legacy
Helltrapper
Meticulous Bolts
Odessey's End
Spines of Seething Hatred
Yang's Recurve

Armor
Cindercoat
Crashing Rain
Harrington Waistguard
Hexing Pants of Mr. Yuan
Hunter's Wrath
Leoric's Crown
Pride's Fall
Reaper's Wraps
Strongarm Bracers
Tasker and Theo

Jewelry
Convention of Elements
Haunt of Vaxo
Ring of Royal Grandeur


Current list of requested legendary powers:
Weapon/Offhand
http://us.battle.net/d3/en/item/fulminator
http://us.battle.net/d3/en/item/thunderfury-blessed-blade-of-the-windseeker
http://us.battle.net/d3/en/item/helltrapper <- ProcCoef * 10% * (DPS of procs/3)??
http://us.battle.net/d3/en/item/the-ninth-cirri-satchel

Armor
http://us.battle.net/d3/en/item/depth-diggers

Jewelry
http://us.battle.net/d3/en/item/broken-promises <- I'm working on an equarion

this isn't cube-able but:
http://us.battle.net/d3/en/item/sash-of-knives-1YueOj <--legacy
Thanks, @TastySouP, I'll get working on these.

Some implementation notes:

- For helltrapper, fulminator and thunderfury, I should also implement proc coefficients, which I already have on my to-do list.

- helltrapper is already implemented, although I may have only done it for sentries, back when it was big for M6. May need to re-look at how I implemented that.

- For ninth cirri satchel, I would need to implement pierce mechanics first, which I have on my to-do list.

- broken promises: there are a couple routes i could go here. One would be to run a monte carlo simulation and approximate an effective increase in crit chance, similar to what I currently do for sharpshooter. Another option would be to rework the damage simulation so that it actually rolls for crit and damage values (as opposed to using averages). I will probably defer this one, much like the sharpshooter fix.

- legacy sash of knives: since there is no legendary power, it should work fine as is.
I've run into a dilema with regards to calculating the average damage when taking into account the proc coefficients (PC) and internal cooldowns (ICD).

For example, for Thunderfury, there is a PC of 60% (which is also scaled by the skill/rune's PC) and an ICD of 1 second (according to this post: http://us.battle.net/d3/en/forum/topic/12187048616

So, if you are using Multishot/Arsenal with a PC of 18%, you get a 10.8% chance on every attack to apply Thunderfury's lightning proc, and at most, this can only happen once per second.

This is probably fine for Multishot, I could just take the Thunderfury damage (e.g. 372%) and multiply it by the proc coefficients and get an average multiplier to add to each attack and ignore the ICD (since at 10.8% chance per attack, the ICD would only come into play if you had an extremely high attack speed).

But for skills like Entangling Shot/Chain Gang, which have a PC of 100%, I can't simply multiply the Thunderfury damage by its PC of 60, since that doesn't take into account the ICD and we'd overestimate the damage. For example, if our APS is 3.0, then we'd be adding 180% of Thunderfurry's max damage per second. So we'd want to limit the multiplier to 1/APS, to avoid that case. So we'd add 33% of Thunderfury's max damage on every attack, indicating that Thunderfury would be "up" all the time. In reality, once in a while we might have a string "non procs" but generally, it should keep Thunderfury up all the time.

It gets even more complicated when you alternate between spender/generator as they will almost always have different PCs.

One solution would be for me to implement discrete rolls for each proc using a random number generator, taking into account PC and ICD. A problem I see with this approach, is that for short duration simulations, you could get a wide range of results, depending on the random numbers generated. It would also make it difficult to compare two different scenarios, unless we seed the random number generator exactly the same, in each case. We could run several simulations and take an average (a monte carlo simulation).

For now, I think I will just multiply the two PCs and limit the resulting value to to ICD/APS. That should give us a "close enough" approximation of the damage.

I'm open to other suggestions, if anyone has any thoughts on this.
Today's updates:

- Added Depth Diggers
- Added Fulminator. Ignores proc coefficient (assumes that if there are multiple targets within 10 yards of each other, all targets would eventually get the DoT).
- Added Thunderfury. See above post for details on implementation
09/09/2015 07:43 AMPosted by Dawg6
For example, for Thunderfury, there is a PC of 60% (which is also scaled by the skill/rune's PC) and an ICD of 1 second (according to this post: http://us.battle.net/d3/en/forum/topic/12187048616).

The 1 second internal cooldown is incorrect imo. I've been referencing this website for a long time and I haven't really found errors with it:
http://www.diablohub.com/database/item/thunderfury-blessed-blade-of-the-windseeker/information/
Go to the advanced information section.

In regards to the rest of the post, I'd like to see if I can help but I'll have to read it over later, sorry.
That site also states that it has a 1 second ICD.

On a related note: The item text is unclear whether the initial damage is only to the primary target, or also the other targets. Can anyone confirm whether the initial hit damages the additional targets?
09/09/2015 09:01 AMPosted by Dawg6
That site also states that it has a 1 second ICD.

On a related note: The item text is unclear whether the initial damage is only to the primary target, or also the other targets. Can anyone confirm whether the initial hit damages the additional targets?
it says the ICD is 1/aps, correct me if I'm wrong but doesn't that mean the ICD scales with your aps? The higher your aps the lower ICD. I'm pretty sure they did this when they "un-nerfed" shard of hate and made all weapons ICD scale with APS so you aren't punished by using a faster weapon. If it didn't scale with aps, you'd be punished hard for not using your lowest possible attack speed.

Also under the advanced info, it says that the first hit is on the initial target and it usually hits the initial target with a one of the 5 "jumps", meaning the first target is hit twice, then it jumps to 4 others. Not sure if that helps answer your other question.
09/09/2015 10:58 AMPosted by TastySouP
it says the ICD is 1/aps, correct me if I'm wrong but doesn't that mean the ICD scales with your aps? The higher your aps the lower ICD. I'm pretty sure they did this when they "un-nerfed" shard of hate and made all weapons ICD scale with APS so you aren't punished by using a faster weapon. If it didn't scale with aps, you'd be punished hard for not using your lowest possible attack speed.


I interpreted that as a cooldown of once per second. If that weren't the case, then the ICD would be simply once per attack. Why not just word it that way?

Has anyone tested to see if they can get it to proc more than once per second? Should be fairly easy with high attack speed and using a 100% PC skill like Impale. I don't have one (playing since D3 release and never got one to drop!), otherwise I'd experiment myself.

09/09/2015 10:58 AMPosted by TastySouP
Also under the advanced info, it says that the first hit is on the initial target and it usually hits the initial target with a one of the 5 "jumps", meaning the first target is hit twice, then it jumps to 4 others. Not sure if that helps answer your other question.


Yeah but each hit doesn't necessarily equate to each getting damage. There are 2 effects from Thunderfury stated in the tooltip:

1) Damage. "Chance on hit to blast your enemy with Lightning, dealing 279–372% weapon damage as Lightning..." The wording implies that this only applies to the target.

2) Slow. "...and then jumping to additional nearby enemies. Each enemy hit has their attack speed and movement speed reduced by 30% for 3 seconds. Jumps up to 5 targets." This applies to "each enemy hit" (primary target and up to 5 additional targets)

Again, this should be pretty easy to confirm if someone has a Thunderfury. Just choose a single target skill like Impale, and see if you see damage numbers from any surrounding monsters when it procs.
I found a Thunderfury on one of my non-season followers and I can confirm that the damage does effect those it jumps to.

I believe I was also able to confirm the ICD is less than once per second. It was hard for me to tell for certain, but I am pretty sure that my 2 APS DH was getting it to proc multiple times in a row.

I'll update the calculator tomorrow for both of these.
Today's updates:

- Thunderfury's damage proc will now affect multiple targets
- Thunderfury's internal cooldown set to 1 / APS
- Added Damage Procs (Thunderfury and Fulminator) to Skill Data popup

Join the Conversation

Return to Forum