Ravenswatch

Ravenswatch

Not enough ratings
Armor, Damage Reduction, Effective Health & Sustain
By Doodelinquent
Ever wondered if you should pick Vitality or Armor at a Grimoire? About diminishing returns? Damage reduction and EHP? This is the guide for you.
4
2
   
Award
Favorite
Favorited
Unfavorite
Key Takeaways
  • When presented with the choice between Armor and Vitality you should usually pick Armor.
  • Armor does not have diminishing returns in the way a lot of people think.
  • Having x Armor increases your EHP by x%.
    EHP = HP * (1 + Armor%)
    e.g. 150 HP, 20 Armor => 150 * 1.2 = 180 EHP
Damage Reduction
Armor reduces the damage you take. These are the basic formulas to calculate the damage reduction provided by armor:



Here are some example values:

Armor
Damage Reduction %
10
9.09
25
20
50
33.33
100
50
200
66.66

And here are some examples with real enemies on Adventure Difficulty. One column is without having any Armor. The other one is with 20 Armor, which grants 16,66% Damage Reduction, so you only take 83,33% of the damage.

Enemy
0 Armor
20 Armor
Damage avoided
Ghost (Projectile)
11
9
2
Scythe Pig
20
17
3
Butcher (Elite Pig)
39
33
6
Big Tree (AOE stomp)
71
59
12

This is what the plot for Damage Reduction looks like (x-axis is Armor, y-axis is Damage Reduction):



Obviously the function's growth is slowing down. Many people claim based on this that "Armor has diminishing returns". While this does come down to your definition of "diminishing returns", this plot is arguably misleading.

There is nothing inherently "wrong" with the plot itself, but it's hard to interpret correctly. After all, I don't want to know how much less relative damage I'm taking, I want to know how much Damage it actually takes to kill me. It's a bit like plotting the amount of hits required to kill a specific enemy instead of plotting the Damage done per hit. Both are valid ways to look at the data, but you have to think about how to read the plot. Here's how such a plot looks like for a 200 Hp enemy, with 10 base damage per hit, the number of hits required to kill on the y-axis and the player's Damage stat on the x-axis:



The next section introduces a better way to think about armor: Effective Health.
Effective Health
Effective Hp (EHP) is the amount of incoming damage that is required to kill you. If you check the table above, you can see that 100 Armor translates into 50% Damage Reduction. By taking only 50% of the incoming damage, you effectively have twice as much Hp.

This is the formula for EHP:



Having x Armor increases your EHP by x%.

Examples:

10 Armor => 9.09% Damage Reduction
  • 100HP => 100 * 1.1 = 110 EHP
    => 110 incoming Damage required to kill you
    Test: 110 * (1 - 0.0909) = 100

  • 150HP => 150 * 1.1 = 165 EHP
    => 165 incoming Damage required to kill you
    Test: 165 * (1 - 0.0909) = 150

50 Armor => 33.33% Damage Reduction
  • 100HP => 100 * 1.5 = 150 EHP
    => 150 incoming Damage required to kill you
    Test: 150 * (1 - 0.3333) = 100

  • 150HP => 150 * 1.5 = 225 EHP
    => 225 incoming Damage required to kill you
    Test: 225 * (1 - 0.3333) = 150



Plotting Effective HP tells a very different story than plotting Damage Reduction did. The plot is for 50 Hp. Armor is on the x-axis, Effective Hp on the y-Axis.



Looking at the EHP plot its obvious that Armor has no artificial diminishing returns, its simply a linear function.
Armor has diminishing returns in exactly the same way Damage does. Increasing your Damage from 200 to 210 is less impactful than increasing your Damage from 10 to 20.

If you consider this diminishing returns or not is up to your definition. But if you do, make sure you're aware that Damage, Vitality, Crit Chance and Crit Damage have the same diminishing returns.
Optimizing Effective Health
Hp is increased not only by Vitalty, but by Level as well. However, the formula shows that Vitality and Amor have exactly the same influence on your EHP. As they are both factors, EHP is maxmized simply by having the same amount of Vitality and Armor.


Availability of Armor and Vitality
Vitality
Vitality can be gained by using Healing Fountains. There's a few items to increase Vitality, with Philosopher's Stone being especially powerful.
  • Consumables (not recommended)
  • Grimoires
  • Healing Fountain (+10 Vitality)
  • Items
    • Philosopher's Stone (Legendary)
    • Water of Life (Legendary)
    • Cauldron of Dyrnwch (Cursed)

Armor
Armor can be gained almost exclusively from Grimoires and items. Though the available items aren't that great. Raven Skull only provides armor once you stacked 3 for its super effect, while Dragon Hide is just not that good in general. Green Armor is a decent option if you're stacking commons. Stacking Green Armor itself is good too as the super effect will also consider Rare items.
  • Consumables (not recommended)
  • Grimoires
  • Items
    • Green Armor (Common)
    • Dragon Hide (Rare) (not great)
    • Raven Skull Super Effect (Epic)

Conclusion
Vitality is a lot more available than Armor, so when presented with the choice between them you should pick Armor most of the time. Even if your Armor exceeds your Vitality, it can still be advisable to pick Armor, so as to "make room" for upcoming Vitality gains from Healing Fountains to maximize your EHP in the long run.

I generally would not recommend getting Armor or Vitality from Consumables, as they are more efficiently used for offensive stats. For more info, see https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=3456123934
Sustain - Healing & Shielding
There's another factor going into being tanky other than just high Ehp: having good healing / shielding sources to recover or protect your hp.

Armor and Vitality can affect healing/shielding in different ways, so we will distinguish 2 types:

Hp-scaling
This type of healing/shielding always recovers an amount of health proportional to your max Hp, so increasing either Vitality or Armor does not increase/decrease the relative amount of Ehp recovered, which will always be equivalent to the relative amount of Hp recovered.
  • Regeneration effects
  • Queen of Hearts (Rare)
  • Full heals (technically)
    • Healing Fountains
    • Water of Life (Legendary)

Non-Hp-scaling
This type of healing/shielding scales with something other than your max Hp, so increasing your max Hp by gaining Vitality decreases the relative amount of Ehp that is recovered. Gaining Armor instead keeps the relative amount of Ehp recovered the same.

Imagine you are healed by 5 hp (fixed). At 100 Hp and x Armor this recovers 5% Ehp. After increasing your Hp by 20 , the 5 Hp are only 5/120 = 4% of your Hp. While the absolute amount of healing stayed the same, your healing by a smaller portion of your Ehp (4% instead of 5%).
If you instead increase your Armor by 20, the 5Hp recovered will still be 5% of your Ehp.
  • Most Hero Talents (scale with Level)
  • Lifesteal (Black Lotus, Sun Wukong Yin stance, Scarlet werewolf-form Defense)
  • Fairy Dust (Rare, fixed amount)
  • Holy Grail (Legendary, scales with Level)
  • Healing Orbs
    Orbs heal a fixed amount based on chapter and difficulty.
    Chapter
    Adventure, Twilight
    Darkness, Nightmare
    Chapter 1
    25
    15
    Chapter 1
    40
    24
    Chapter 1
    65
    39


Conclusion
Many healing and shielding sources don't scale with Hp. If you rely on these you should prioritize Armor over Vitality to get the most out of their effects. There might be Hero talents that scale with Hp, but I don't know of any.
Deriving the Formula for Effective Health
This section just serves as proof for the Ehp formula used above.

EffectiveHealth is the amount of damage that kills you exactly. So we can calculate it by setting the remaining hp to 0 and solving for (incoming) damage.

Tools
Plots are generated using Desmos https://www.desmos.com/calculator
Math is typeset using Latex.
Credits
Thanks to Lovrand for reviewing and improving my math as well as proof-reading!
Thanks to Pam for providing lots of valuable feedback!
Thanks to Hagane who shared the specifics on healing orbs.
8 Comments
Doodelinquent  [author] 7 Jul @ 8:19am 
Adding to 2)
The reason that those values work out nicely is of course that 1 Armor = 1% EHP when choosing x=100 .
Doodelinquent  [author] 3 Jul @ 2:58pm 
3) "Why don't we just take the derivative of the dmg reduction function? The graph tells that the derivative is a constant function therefore we can say that armor doesn't give diminishing return value"
I don't really see how finding the derivative would help over using the plot generated by desmos. Ofc if you want to plot the function yourself, using the derivatives is very important. Let me know if you have a specific example on using the derivative here.

Sidenote: The linear graph with the constant derivative is EHP, not damage reduction. You could derive that function to show that the derivative is constant, but that does ont provide any additional info over stating that the function is linear. So you could do either of the 2, and when making the guide I decided that simply showing the linear graph was easier to understand.
Doodelinquent  [author] 3 Jul @ 2:57pm 
2) "Also kind of understand the design behind the formula now, A/(x + A), if x is 0 then you have 100% dmgreduc, tweaking the variable x and you can control the armor scaling speed of the characters"
100% correct, right on the money.
Its easy to see that x = A is always the point at which 50% damage reduction is reached. You can choose any x as long as you tweak how much armor your items / level ups give.
Choosing x=100 is "pretty" because a lot of values work out nicely: 100 armor is exactly 50% damage reduction, 50 armor is exactly 1/3 and 25 armor is 20.
Doodelinquent  [author] 3 Jul @ 2:57pm 
@hmq1125 Good questions / observations.
(My comment is too long, so I have to break it into separate messages)

1) "How did ppl come up with the dmgreduction formula?"
I expect that people first decided on what the formula should do. In this case you want 1% EHP per 1 point of armor.
Now that you know your goal, you need to come up with a function that translates armor into damage reduction in a way that respects this 1 Armor = 1% EHP.
To do this you basically do the same thing I did in "Deriving the Formula for Effective Health", but in reverse.
hmq1125 1 Jul @ 2:56am 
Not really good at math but why don't we just take the derivative of the dmg reduction function? The graph tells that the derivative is a constant function therefore we can say that armor doesn't give diminishing return value. Also kind of understand the design behind the formula now, A/(x + A), if x is 0 then you have 100% dmgreduc, tweaking the variable x and you can control the armor scaling speed of the characters.
hmq1125 1 Jul @ 1:30am 
How did ppl come up with the dmgreduction formula? Lol also has the same formula. Is it like a trial and error process? Ppl just randomly think of it? Or is there some kind of science going on here?
Doodelinquent  [author] 15 Jun @ 12:02pm 
Thanks for the kind words!
Autonym 13 Jun @ 9:24pm 
Great guide, thanks for the math.