Diablo 3 Effective Health Pool Calculator

General Discussion
1 2 3 8 Next
SUPER UPDATE; ITEM COMPARE HAS BEEN ADDED

I've created a tool to calculate your effective health pool based on your stats.

The tool is now build so that it can support all classes,
Curently implemented are:
- Barbarian
- Wizzard
- Monk
- Witch Doctor
- Demon Hunter

Features:
- with / without dodge
- with melee / ranged / magic specific reduction
- with skills increasing your EHP someway
- toggling skills on and off to compare them
- EHP gain for +1 vit, +1 resist, +10 armor, +1 str
- Item Compare

So here you can find the working version:
http://rubensayshi.github.com/d3-ehp-calculator/

It's completely clientside javascript, so changing stuff will make it calculate everything on your machine, hence you might find a small spike/freeze when you do,
this is mostly because I haven't bothered with optimizing it (atm the onchange events trigger itself, thankfully backbone handles that fairly well).

You can input your base armor, resistance, VIT and life %, it will generate your final life, armor, resistance (which should match your character screen).

Behind all the checkboxes it displays the EHP if you would change it (checked<->uncked) and how much %% change that would be.
That's what you can use to see which ones increase your EHP the most.
For example you can easily see that War Cry with +resist rune is far better then the other two options.

Known issues / bugs:
- For skills with multiple interesting runes you could check them all, should change this to be a radio button or selectbox at some point

Upcoming changes priority list:
- Interface revamp, adding tabs and a better way to put in your intial stats
- Think of a way to include block
- Handle skillbuilds with different runes nicely (maybe seperate the skillbuild more)
- Add option to copy a link to your curently input/selection (like talent calculators do)
- Recieve buffs from other classes
- Pull in stats from blizzard API (kdmcclel is already working on some code eventhough the API ain't up yet)

Please let me know what you think of it :D
Please bump the thread a bit once in a while (preferably with constructive comments or positive feedback) so that it stays visible on page 1 :D :D

Contibuting
It's on github (the page you're opening is project page of it), code is here in case you're interested:
[url="https://github.com/rubensayshi/d3-ehp-calculator/"]https://github.com/r...ehp-calculator/[/url]

If you wanna join in and help out, you're very welcome! I already got some awesome pull requests on github from kdmcclel and MrMarvin and merged those almost instantly!
the project is all javascript, nothing serversided, I could easily host some serversided code too if needed but if we can stick to javascript only then that's preferred!

*** Authors / Contributors ***
Drakie (rubensayshi)
kdmcclel
Marv Cool (MrMarvin)

*** Changelog ***

Update 1 [2012/05/24 10:20]
Thanks to pull request from 'kdmcclel' we now have multi-class support and he already implemented wizzard!
Surely more classes will follow :)

Update 2 [2012/05/24 10:22]
Since it's no longer barb only I renamed the project, URLs are changed, old URL stopped working ;)

Update 3 [2012/05/24 10:46]
The stats you input are (locally) stored so you don't have to keep putting them in each visit, choices aren't stored yet though!

Update 4 [2012/05/25 09:23]
Fixed armor formula

Update 5 [2012/05/25 13:03]
Cleaned up code, made it possible to seperate classes from each other (classperclass xD).
Added dodge calculations, seperated it from the pure EHP though since dodge ain't part of traditional EHP calculations, but specially since it's also working on magic it's very much relevant ;)

Update 6 [2012/05/25 15:01]
Added first implementation of Monk class, needs some work though on the active skills which apply short duration buffs/debuffs and I need to double check if I haven't forgotten any skills.

Update 7 [2012/05/28 19:38]
Fixed how dodge is calculated (like a modifier instead of a static stat). Added warcry dodge rune.

Update 8 [2012/05/29 10:11]
Added a +1 VIT/armor/resist alternative display.

Update 9 [2012/05/29 15:53]
Finaly fixed the dodge chance madness properly!

Update 10 [2012/05/30 09:16]
Added 'extra options' to Monk (Crippling Wave, Deadly Reach) and Wizard (Archon).
(re)enabled displaying armor and resistance effective reduction %.

Update 11 [2012/05/30 10:01]
Added Mantra of Healing rune effects.

Update 12 [2012/05/30 12:35]
Added Fists of Thunder - Lightning Flash rune.
Redid EHP for alternatives to display the change instead of the new total.
using +10 armor as alternative now.

Update 13 [2012/05/31 09:25]
Added Witch Doctor!! Thanks to MrMarvin!
Also cleaned up the code a lot.

Update 14 [2012/06/01 09:26]
I redid all the code responsible for the UI, this will allow me more flexibility and I'll be able to make it easier for users to input their characters stats (when I make the above button work properly!).
There is a chance I might have broken something in the display logic though, however the calculations should be fine.

I deployed the experimental version as a stable version!
Please let me know asap if you find anything, I'll be tailing this topic all night should anything pop up!

Update 15 [2012/06/02 20:00]
!!MAJOR UPDATE!!
- New UI (fluid, so it should behave nicely on mobile too)
- More explicit and better saving of characters
- Better / easier way to add a new character (you can tick which buffs are on when you copy the stats, it will recalculate the base stats)
- Code is now in a way that should easily allow me to add item compare (soon!)

Update 16 [2012/06/08 09:20]
!! SUPER UPDATE !!
- Item Compare added
- Str/Int/Dex +1 alternatives added
- Demon Hunter added
- Mystic Ally - Earth added
- Enchantress added
- more minor bug fixes & features
Very nice guide! Really helps me twink my skills and gear.
If you're looking for other skills to add, here are some for Monk (my class):
1. Mantra of Conviction - Intimidation: Enemies affected by Mantra of Conviction deal 10% less damage.
2. Mystic Ally - Earth Ally: Imbue the ally with the essence of earth. Maximum Life for you and the ally is increased by 10%. The ally also gains the ability to create a wave of earth, dealing 60% of your weapon damage as Physical to a single enemy and forcing that enemy to attack the ally for 3 seconds.
3. Cyclone Strike - Wall of Wind: After using Cyclone Strike, gain a 20% chance to dodge attacks for 3 seconds.
Not sure about Cyclone Strike since it costs 50 spirit and lasts only 3 seconds. But, when I play my evasion build I manage to keep this up 70-90% of the time (especially if I'm not kiting).
Nice, though in my oppinion, it seems kinda much. It could be alot simpler with the same function :)
Very nice, thanks!
Very good tool to make it more useful I suggest to add gear comparison.

It would be something like that:
to current sections add 3 new:

1) section for currently equipped piece where you enter its stats

2) and section for new piece where you enter its stats

3) then a section for your stat changes (effective HP etc)

With blizzard tooltips it's hard to decide which piece of gear is better for your effective HP (because they do not factor resists in "protection" but do factor dodge)
Appriciate the effort in making the tool, will help a lot of people.

Perhaps you should add a total EHP in the buttom :)
Very good tool to make it more useful I suggest to add gear comparison.


I will be adding that soon and I think it will be about what you described :D
Atm I need to make it a little bit more easier to add your stats without having to remove your current defensive passives before putting in the stats, after that item comparison is up since I need that too myself ^_^

Appriciate the effort in making the tool, will help a lot of people.

Perhaps you should add a total EHP in the buttom :)


it has total at the bottom, the melee / ranged is for when you hve melee or ranged only stuff :-) it should be the same or more then the normal EHP
It's excellent! Adding block, as you've mentioned, would be a great improvement seeing as it is a huge part of (1h+shield) barbarians' survivability and since players have a hard time quantifying how good blocking is.
Many thanks, assuming all math is right this is simply a MUST-HAVE tool.

One thing that I would love is to have 2 vertical columns to comparing left/right build stats.
Update 14 [2012/06/01 09:26]
I redid all the code responsible for the UI, this will allow me more flexibility and I'll be able to make it easier for users to input their characters stats (when I make the above button work properly!).
There is a chance I might have broken something in the display logic though, however the calculations should be fine.

Should you find any problems please let me know!

Please let me know what you think of it :D
Please bump the thread a bit once in a while (preferably with constructive comments or positive feedback) so that it stays visible on page 1 :D :D


Hi, let me emphasize this matter: your ehp is vs level 60 mobs. Resistances at least are calculated vs the level of the enemy (don't know about armor though). Values shown are always against the same levell (10 vs 10, and finally level 60 vs level 60), but in Inferno the monster level continually raises. Like level 63 and 65. That's where the resistances aren't even as effective anymore. And EHP is reduced!

->THe programm needs the option to set the enemy level or additional level, like +5 levels.

Besides that, great tool. It's realy realy useful. Another advanced idea (for me) would be simple sample fights. Like a statistic result of a fight vs an Inferno Act1 monster, one starter monster of each act, and maybe a later one from act4! How many hits does the monster need to kill you, and how hard does he hit actually (% of your hp lost per hit).

Cheers!
You can set the mob level and the default is lvl63, this means that everything I calculate is accurate for inferno mobs/bosses!
It also means that my numbers (armor reduction % and resist reduction %) won't be the same as your character screen since that is lvl60
Nice. Could you add combined protection pls (60% armor + 50% resist = 80% protection)?
Also add effective heal modifier. (Real HP = 40K, EHP = 400k => Heal is ten times effective.)
smooth calc.
dont know if anyone posted this before but:
just noticed you have a typo in 2 spells of monk
Mantra of Evasion - Heavenly Body
Mantra of Evasion - Time of Need
those are both runes of the Mantra of Healing (as said in the changelog)
as of mantras and the inclusion of resolve and crippling wave - concussion you could include the mantra of conviction - intimidation
Can't wait for this to have block added!

As I see it...

For all attacks you don't dodge you have a (block chance) to prevent (average block * resistances + reductions) amount of damage. Now, depending on what is attacking you this could completely mitigate the attack or simply reduce the damage.

So I feel the best way of dealing with this is to just provide a "best case" scenario where the damage mitigation from block is fully utilized (the attack does more dmg than your block total)

Therefore you take the current EHP (with or without dodge) and go....

New EHP = Old EHP * ((1+ Block Chance) * (Average Block Amount / HP))
Can you provide any on how damage reduction from meele and ranged attacks are calculated when coming from different items?
I have 14% meele damage reduction from my belt and 4% from my shield. In my character window it says I have 17,44% reduction from meele attacks.
This is awesome material =)

Would you consider making one about your damage as well?
AH SRY, it's already in there (monster level). I'm slowing you down :/

One thing that comes to my mind - is that you might add a "donate" button (paypal). Because often ppl thank you for the great help. And you don't have to make it in an obvious spot, just that it's there.

Feedback: I think the most important part is equipment slots as option, because ppl will often have the issue, is this thing better than my old or worth the cost looking at the Auction House. ( i know you're workign on it)
The issue I see here is, that you can't put in the new dodge value for example, because you need that gear to be equipped first. So calculating dodge of from dex would be a nice thing.
Can you provide any on how damage reduction from meele and ranged attacks are calculated when coming from different items?
I have 14% meele damage reduction from my belt and 4% from my shield. In my character window it says I have 17,44% reduction from meele attacks.


anything that's % based will always be calculated a bit special to make sure you never reach 100% basicly;

4% + 14% is calculated like this:
1 - ((1 - 0.04) * (1 - 0.14)) = 0.18

Update 15 [2012/06/02 20:00]
!!MAJOR UPDATE!!
- New UI (fluid, so it should behave nicely on mobile too)
- More explicit and better saving of characters
- Better / easier way to add a new character (you can tick which buffs are on when you copy the stats, it will recalculate the base stats)
- Code is now in a way that should easily allow me to add item compare (soon!)
This new UI is amazing.

However you lack the -damage from elites statistic, still.

Join the Conversation

Return to Forum