# +% life vs +% resistance

This is regarding the invigorate and Impunity runes of Barbarian's warcry. In short, impunity gives +50% to resistance, while invigorate gives +10% life (+ some regeneration).

Many people come to rely on this EHP (Effective Health Pool) calculator to compare the effect of these two runes. According to this calculator, impunity is the clear winner.

However, I started doing some calculations myself from the information and links taken from [this question], specifically the Diablo III formula list.

Here is the effective health fomula:

``````Effective Health = Health Pool * Total Damage Reduction,
i.e. Health * (1 - ((1 - DR from Armor) × (1 - DR from Resistance) × (1 - other DR)))

DR means "damage reduction"
``````

Let's simplify the formula:

``````A = DR from Armor (for example 75%, but we are not using numbers)
R = DR from Resistance (for example 66%, but we are not using numbers)
O = DR from Other
``````

For the sake of this example, let's say "DR from Other" is zero. This means that only health, armor and resistance is being taken into account.

So the effective health becomes:

``````x = Effective Health = Health * (1 - ((1 - A) × (1 - R)))
= Health * (A + R - AR)
``````

Also, this is how damage reduction from resistance is calculated:

``````Elemental damage reduction = Resistance / (5 × Monster Level + Resistance)
``````

Due to the hyperbolic shape of the resistance formula, +50% in the Resistance when converted to damage reduction doesn't increase as the resistance goes up, but actually the increase in damage reduction decreases. For example with monster level 63 (taken from this answer):

``````Resistance = 600 --> Reduction = 65.6%
+ 50% = 900 --> Reduction = 74.1% (which is 65.6% + 8.5%)
Resistance = 1200 --> Reduction = 79.2%
+ 50% = 1800 --> Reduction = 85.1% (which is 79.2% + 5.9% (less increase))
``````

This means that while invigorate adds 10% to health, impunity adds a smaller value to the damage reduction. This means that in the formula for effective health, invigorate replaces `Health` by `1.1 * Health` while impunity replaces `R` by `(R + y)` where `y` is the increase in damage reduction (in the two examples above, `8.5%` `5.9%` respectively).

``````Invigorate Health = (1.1 * Health) * (A + R - AR)
= 1.1 * (Health * (A + R - AR))
= 110% x
``````

which means 10% increase in health is equal to 10% increase in effective health.

2. Adding `y` to the value of reduction from resistance:

``````Impunity Health = Health * (1 - (1 - A) × (1 - (R + y)))
= Health * (1 - (1 - A) * (1 - R - y))
= Health * (1 - (1 - R - y - A + AR + yA))
= Health * (A + R - AR + y (1 - A))
= x + y * Health * (1 - A)
``````

So with invigorate, you get `10% * x` bonus, while with impunity you get `y * Health * (1 - A)`.

To get an idea which one is better, let's put numbers from my build in to see which is worth what. My base life is 50k. Resistances are at 56% reduction. Armor is at 78% reduction. 50% increase in my resistance gives about 65% reduction. This means `y` is 9%.

Bonus from invigorate:

``````10% x = 10% * Health * (A + R - AR)
= 0.1 * 50k * (0.75 + 0.56 - 0.75 * 0.56)
= 0.089 * 50k
``````

Bonus from impunity:

``````y * Health * (1 - A)
= 0.09 * 50k * (1 - 0.75)
= 0.0225 * 50k
``````

As you can see, the bonus from impunity is about one fourth of that of invigorate.

My question is then, in what way is impunity superior to invigorate? How does the other calculator calculate effective health that the numbers are different?

• I think your your calculations are wrong, even though resistance % is not linear, EHP from resistance is. at level 60, every 300 resistance points is equivalent to 100% EHP. – l I Sep 9 '12 at 12:40
• I would think the onyl time 10% health bonus out weighs the 50% resistance is if your EHP is already over 1000% and impunity only gives 300 resistance (an impossible situation since to get 1000% EHP your resistance is probably much higher in the first place.) – l I Sep 9 '12 at 12:42
• @yx, the link to battle.net forum from the other post was really interesting. It seems like the website I got my formula from has a different fromula than the one in that post (note that, my website is up-to-date while that post is from 3 months ago). Nevertheless, playing with impunity definitely "feels" easier, so I guess the other formula is more accurate. – Shahbaz Sep 9 '12 at 17:16
• EHP = Health * (A + R - AR). So, if you'd theoretically have 0 armor and 0 resistance, your EHP would be 0, even if you have 42 billion hp... In other words, you'd be dead, even if you do not get hit by a monster. – Alderath Sep 10 '12 at 17:33

I am afraid to say the EHP formula you quoted is very wrong. EHP should be HP divided by combined damage taken rate, not multiplied by damage reduction rate. For example if you have 10k HP and 60% combined DR, which means you're only taking 40% damage, it is equivalent to having 25k HP without any damage reduction, so your EHP is `10k / (1 - 60%) = 25k`.

Using your simplified model and numbers, base EHP is `50k / ((1 - 56%)(1 - 78%)) = 516529`.

With Invigorate, total EHP is `1.1 * 50k / ((1 - 56%)(1 - 78%)）= 568182`, or a 10% increase.

With Impunity, total EHP is `50k / ((1 - 65%)(1 - 78%)) = 649351`, or a 26% increase.

As @yx pointed out, every 300 resistance equals to 100% EHP*, so the only case Invigorate will beat Impunity in terms of EHP increase is when 50% of your resistance is less than 30. Invigorate unlocks at lv41 and usually a character don't have much resistance (or HP) at that time, and the 310 regen could be something. However when a character reaches lv60 and enters Inferno, Impunity is the clear winner.

*Based on assumption of mLvl=60, while your DR numbers were calculated based on mLvl=63, so there might be a small gap but doesn't change the big picture.

• Thanks. And for future reference, this battle.net forum post helps a lot. – Shahbaz Sep 10 '12 at 11:48
• It's also worth noting that lower health but lower intake of damage means that Life on Hit weapons are more effective. – Vael Victus Sep 10 '12 at 15:38