The Mathematics of Armour and Diminishing Returns
Originally posted on the Evil Empire guild website as a part of Satrina’s warrior guides. This was excavated from an archive made by the Wayback Machine. As such, offsite links will likely not work.
Tahh@Kalecgos - Last updated 18 April 2006
Sat - Tahh wrote up the math for this, saving me the effort!
Well, I got more bored than usual at work today, so I broke out a legal pad and started playing with the math regarding damage mitigation from AC. If you’re not interested in the math (and I can’t imagine who is) you can skip down to the bottom for the summary. Please note, this entire post deals only with physical damage as it is mitigated by AC. It does not touch the topic of spell damage and resists. I initially posted this in the druid forums, but I think it is probably more relevant to warriors than anyone.
The basic formula for physical damage mitigation from AC is:
AC M = --------------------- AC + (85*level + 400)
For the purposes here (85*level + 400) is a constant (“C”). The variable “x” will be used in this post to represent AC. Using these definitions, the basic formula for mitigation simply looks like:
x M = ----- x + C
Before I get into the math, it’s important to realize that there are two significant effects of damage mitigation:
- The effect on the rate of hp loss
- The effect on the amount of time it takes to go from full hp to dead.
Both are significant to a healer in different ways. The former affects how many hp/sec we have to heal to keep you alive, the latter affects the amount of mana we can regen between burst healing.
Effect of Armour on Rate of Hitpoint Loss
If h = health at any given time, H = your maximum hitpoints, D = pre-mitigation DPS, t = time, and P(t) represents healing as a function of time, then the formula for health at a given time looks like:
(Sat - and now the equations are more complex than my leet HTML skills allow - break out the equation editor!)
represents post-mitigation damage. The rate of change of health would be the derivitave of health with respect to t, so
This result is logical; dh/dt increases as x increases, and goes to (0 + dP/dt) as x goes to infinity. Now we can examine the effect change in AC has on the rate of health loss. The change in the rate of health loss with the change of AC (that is “x”) can be found by taking the derivative of the above equation with respect to x. Note that as healing is not a function of AC, the healing term P(t) drops out.
(remember back to Calc 1 if you don’t see how to get here (d/dx)(u/v)=[v(du/dx)-u(dv/dx)]/v2). This equation represents the change in hp/sec of damage taken with change in AC. As you can see the slope of the AC v. Damage Mitigation Curve is on the order of 1/(x+C)2. The extent of diminishing returns (i.e. the change in the slope of the relationship between AC and damage mitigation) can be found by taking the second derivative with respect to x:
(if you’ve forgotten, the rule to get here is (d/dx)(u^n)=nu^(n-1)(du/dx)). The negative second derivative signifies a flattening of the slope as AC increases, meaning a lessening of returns for each quantitiy of AC added. So, while it’s currently trendy on the forums to claim there’s no diminishing returns on AC, that isn’t true. There are diminishing returns on AC with respect to hp/sec mitigated. It diminishes as -2DC(1/(x+C)3).
Sat - You can also take the second derivative with respect to AC of the mitigation function above and see that it is also negative, and thus there are diminishing returns on mitigation in the absence of time. As you would expect, mitigation alone diminishes as -2C/(x+C)3 - the same as the hp/sec mitigation less the damage per second component).
Effect of AC on Lifespan
It may seem contradictory to say the effect of AC on time it takes to go from full HP to dead is different thatn the effect on hp/sec mitigated, but it is. For the purposes of this portion, I will refer to the amount of time it takes to go from full health to dead as “lifespan” or the variable T. The difference between the analysis of lifespan and the analysis of damage mitigated stems from the nature of mitigation. As you approach 100% mitigation, each 1% increase has a greater effect on lifespan than the last. (e.g. going from 50% mitigation to 51% mitigation will extend your lifespan approximately 2%; whereas going from 98% mitigation to 99% mitigation will extend your lifespan by 100%). Using the basic formula for health (“h”) from the previous section, t=T where h=0; therefore, solving for T (that is, lifespan) with h=0 yields:
(Sat - Bonus points if you spot my transcription errors in the formulas. I will fix it one day, but the final equation is correct)
Now with this equation, we can examine the effect of AC on lifespan by taking the derivative of T with respect to x (uses the same division rule noted above).
This is actually a very interesting equation. I was stuck here for bit (because I hate factoring) but once I figured it out, the answer was obvious, and fairly revealing. The equation above can be rearranged as:
and then further rearranged as:
Multiplying the last two terms gives:
The term x²+Cx factors into x(x+C), which cancels the denominator and results in x, giving:
which leads simply to:
I spelled out the derivation here because it’s very interesting (and significant) that dT/dx is not a function of x. This means that the slope of AC v. Lifespan is a constant (i.e. d²T/dx²=0) so there is no diminishing returns on lifespan as armor increases. This is what people have begun to see from empirical evidence and you see it brought up now and then on the forums, but (to nerds like me) it’s interesting to see it shown mathematically rather than empirically.
As armor increases, the damage mitigated per second is subject to diminishing returns. The effects diminish as:
Where “D” is the unmitigated damage per second, “x” represents AC, and C=85*level+400.
As armor increases, the effect of increasing the amount of time required to go from full HP to dead is not subject to diminishing returns. Each increase in quantity of armor will increase a tank’s lifespan equally (i.e. if going from 4000 to 6000 AC increases your lifespan by 1 minute, then going from 12000 to 14000 AC will also increase your lifespan by 1 minute).