Now that I've sat down and worked it out, I'm fairly certain there's an error somewhere in his math, probably nestled deep in Zarko's spreadsheet (so not Wrathblood's fault). In any event, I don't want to equationspam the EJ thread, but I did want to put the full version of the derivation somewhere easy to find and link to. So you get another [Derivation] thread to chew on.
I. Damage taken formula and problem set-up
The question we're trying to answer is, "How much armor does it take to reduce damage intake by the same amount as 1 mastery rating?" We're only going to consider blockable damage in this derivation. Obviously for unblockable (and unavoidable) damage, block and avoidance are useless and armor is the strongest of the three. Since none of them help against magical damage, we can ignore it entirely (since we're not trying to relate mastery to stamina).
For a boss melee swing of damage Do, the actual damage we take is
- Code: Select all
D = Do*Fa*[0*Av + 0.6*B + 1*(1-Av-B)] = Do*Fa*[1-Av-0.4*B] (1)
Where Av is your decimal avoidance (i.e. 30%=0.3), B is your decimal block chance, and Fa is your armor mitigation factor. The armor mitigation factor is defined as follows:
- Code: Select all
Fa = 1 - Ma = 1 - Ar/(Ar+K) = K/(Ar+K) (2)
dFa = -dAr*Fa/(Ar+K) (3)
where Ar is your armor, K is the armor coefficient for a level 88 boss (K(88)=32573), and I've evaluated the derivative of Fa with respect to armor for future use.
Differentiating the expression for D, we get:
- Code: Select all
dD/Do = dFa*[1-Av-0.4*B] + Fa*[-dAv-0.4*dB]
= -dAr*Fa/(Ar+K)*[1-Av-0.4*B] + Fa*[-dAv-0.4*dB]
= -dAr*Fa/(Ar+K)*[1-Av-0.4*B] - Fa*[dAv+0.4*dB] (4)
II. Mastery and Armor
To determine an equivalency between Armor and Mastery for damage taken, we want to set these two terms equal to one another and solve for either dB or dAr. dB is both easier and slightly more logical, so let's do that. We'll ignore dAv for now by setting it equal to zero.
Thus, we get
- Code: Select all
0.4*dB = dAr*[1-Av-0.4*B]/(Ar+K) (5)
dB is linear in mastery, at 2.25 percent per point of mastery, or 0.0225/Cm percent per point of mastery rating, with Cm being the mastery rating conversion factor (Cm=179.28 @ level 85). In other words, dB = 0.0225/Cm*dRm for mastery rating dRm. So we can write an exact expression for how much mastery rating it takes to see an equal amount of damage reduction as dAr points of armor:
- Code: Select all
dRm = Cm/(0.4*0.0225)*[1-Av-0.4*B]/(Ar+K)*dAr = (Cm/0.009)*[1-Av-0.4*B]/(Ar+K)*dAr (6)
Now, let's plug in some simple numbers. Let Ar=40k, Av=30%=0.30, B=45%=0.45. With the values given above for Cm and K, this evaluates to
- Code: Select all
dRm=0.14273*dAr (7)
or in other words, it takes 7 armor to give you the same damage reduction as one point of mastery rating (or 1255 armor to match 1 point of mastery skill). You can double-check the numbers; plug 40k armor, 30% avoidance, and 45% block into the first two equations in this post. Then do it again for 40k armor but 47.25% block, and again for 41278 armor and 45% block. the last two should come out the same (0.2294), indicating that 1278 armor is the same as 1 mastery or 179.28 rating. Note that the exact values will vary as we change armor, avoidance, or block.
In any event, given this, 1 armor should be equivalent to ~1/7 a point of mastery, or 0.143 (14.3% as effective), rather than the 0.35 that Wrathblood found. On the other hand, in terms of itemization, it seems that you get 4 armor for every ipoint (trinkets give 1285 armor, 321 mastery/agi/etc., or 482 stam), making it 57.14% as good as mastery in terms of raw itemization. Thus, a mastery trinket should be better than an armor trinket in most cases (i.e. for blockable damage), ignoring on-use effects.
Considering the 160 armor enchant in this light, it's worth about 160/7 = 23 mastery, which is less than the 36 afforded by the Blocking enchant.
III. Avoidance and Armor:
You can do a similar calculation for avoidance instead of block. For the moment, let A be pre-DR avoidance, A' post-DR avoidance, and k and C be the avoidance constants found here (k=0.9560 and C=0.65631440 at level 85 in our notation). If one differentiates the diminishing returns equation (1/A' = k/A + 1/C) and solves for dA' in terms of dA and A, they get:
- Code: Select all
1/A' = k/A + 1/C (8)
-dA'/A'^2 = -k*dA/A^2
dA' = -k*dA*(A'/A)^2 (9)
And if we solve the DR equation for A'/A and plug in, we get dA' in terms of dA and A':
- Code: Select all
dA' = (dA/k)*(1-A'/C)^2 (10)
Now that we have the post-DR avoidance gained by adding dA pre-DR avoidance to our existing A' post-DR (i.e. character sheet) avoidance, we can plug dA' in for dAv in (4) to get the equivalent to equation (5) for avoidance. I'll use dA here to indicate that it's pre-DR, since we're going to use that to convert to rating:
- Code: Select all
dAv = dA' = (dA/k)*(1-A'/C)^2 = dAr*[1-Av-0.4*B]/(Ar+K) (11)
Note: A' is only our post-DR dodge or parry (depending on which one you're considering for dA'), so it's either (char_sheet_dodge_% - 3.9705) or (char_sheet_parry_% - 5):
dA is simply equal to 0.01*dRv/Ca, the added avoidance rating divided by the avoidance rating conversion factor (Ca=176.7189) times 0.01 to put it in decimal notation. So plugging in for dA, we get:
- Code: Select all
dRv = dAr*(100*k*Ca)/(1-A'/C)^2*[1-Av-0.4*B]/(Ar+K) (12)
This is the equivalent to equation 6, with all of the same definitions for Av, B, and Ar. Plugging in Av=0.3, B=0.45, Ar=40k, A'=0.075 (i.e. 12.5% parry minus the base 5%) and the constants k,C, K, and [/b]Ca[/b], we get:
- Code: Select all
dRv = 0.1543*dAr (13)
Which is the avoidance equivalent to equation (7).
IV. Avoidance and Mastery:
This is easy, because since dAr=0, the first term in equation (4) is zero. We only need to solve:
- Code: Select all
dAv = 0.4*dB
- Code: Select all
(0.01*dRv/Ca)/k*(1-A'/C)^2 = 0.4*0.0225/Cm*dRm
dRv = (Ca/0.01)*(0.009/Cm)*k/(1-A'/C)^2*dRm
dRv = (0.9*Ca*k/Cm)/(1-A'/C)^2*dRm (14)
Plugging in the same numbers as before, we find that dRv = 1.0811*dRm at this level of diminishing returns, which is expected (mastery should eclipse parry at around 10% parry due to DR, we're at 12.5% parry). We can double-check that this gives us the right value of A' by letting dRv = dRm = 1 and solving for A':
A' = C*[1- sqrt(0.9*Ca*k/Cm)] = 5.1896%
Or 10.1896% on your character sheet, corresponding to 952 rating. Note that this is in excellent agreement with the numerical solution found here (the difference of 10 points is due to discretization; we were finding x parry rating such that x+10 parry rating made mastery and parry equivalent for damage reduction; the exact crossover point is thus 952 rating).
