A little while ago Ghostcrawler gave us something you don’t usually see coming from the game developers. The exact formula for calculating Armor Penetration. And with it, some new light shed on exactly how armor penetration works for us. So the point of this post is to break down that formula so we have a better understanding of what we are looking at, and see if Armor Penetration is any better for us.
The first thing Ghostcrawler talks about is a variable we are going to call “Armor Constant” which will be represented by the letter ‘C.’ We are only going to worry about the effectiveness of Armor Penetration on a raid boss so we are going to calculate everything assuming our target is level 83.
C = 400+85*targetlevel+4.5*85*(targetlevel-59)
So the actual formula with our values inserted looks like this:
C = 400 + 85 * 83 + 4.5 * 85 * (83 -59)
That calculates out to be 16635.
Ghostcrawler also told us that we will never get 100% of our Armor Penetration and that the formula for figuring out exactly how much of our Armor Penetration is being used is:
(Armor + C)/3
We know that all raid bosses as this point in time are believed to have 13083 armor. We haven’t seen anything to the contrary yet so that is the number we use. So assuming we have no other armor debuffs at the moment we calculate our cap for Armor Penetration like so:
(13083 + 16635)/3 = 9906
The game now runs a check to see which value is uses for Armor Penetration. It will either use the boss armor value or use the number we just calculated as our cap for Armor Penetration (9906). It will use the lowest value, therefore we are going to further our calculations using the 9906 number.
Currently I have 12.42% Armor Penetration in my gear. So the next step is to take my current Armor Penetration and multiply it by our lowest value that we determined above. In this case it as follows:
9906 * 12.42% = 1230.32
So we take that number, which is now the actual armor amount that our Armor Penetration is allowing us to ignore and subtract it from the bosses armor value.
13083 – 1230.32 = 11852.68
So by taking that number and dividing it by the original armor value:
11852.68/13083 = .9059
We now see that I only actually was able to get 9.5% Armor Penetration as opposed to the 12.42% that my tooltip indicates I *might* be able to reduce.
So the last calculation we want to do is using the modified armor value from a boss after Sunder Armor and Faerie Fire are applied. Faerie Fire reduces a target’s armor by 5% and 5 stacks of Sunder Armor reduce the target’s armor by 20%, bringing it to a total of 25% reduction which gives us a number of 9812.5 before we calculate our own personal armor penetration.
Our Armor Constant variable still hasn’t changed and remains being C = 16635. But our boss armor value is now dropped to 9812.25 after reducing it by 25%. So now we can re-run the calculations we just did. First we calculate our Armor Penetration cap:
(Armor + C)/3 = (9812.25 + 16635)/3 = 8815.75
The game will once again choose between our armor penetration cap (8815.75) or the actual armor value (9812.25). So at this point our calculated cap is still lower, so we will take that and multiply it by my current personal armor penetration:
8815.75 * 12.42% = 1094.91
We now take our boss armor value (after Sunder Armor and Faerie Fire) and and subtract how much armor we are ignoring to see it’s effectiveness.
9812.5 – 1094.91 = 8717.59
So if we divide 8717.59/9812.5 we see we get a value of 88.84%. That means we got pretty close to using all of by armor penetration since I was able to personally reduce the boss armor by 11.16%, while my maximum is 12.42%.
The trick now is to determine how much Armor Penetration is effective and if it is a worthwhile stat for us to be using. So the first thing is to calculate how much damage the boss is reducing with it’s armor, it’s post-Sunder/Faerie armor, and finally it’s armor after applying our personal Armor Penetration.
The first thing we want to do is verify that the formulas we use to calculate damage reduction is still accurate. The formula on Wowwiki states this is the formula for damage reduction:
%Reduction = (Armor / ([467.5 * Enemy_Level] + Armor – 22167.5)) * 100
Putting in my own personal values shows this to be correct:
41.02 =(10595 / ((467.5 * 80) + 10595 – 22167.5)) * 100
This matches up perfectly with the damage reduction number on my character sheet. So now we can calculate the boss damage reduction with our 9812.5 number (which is the post-Sunder/FF value)
39.17% = (9812.5 / ((467.5 * 80) + 9812.5 – 22167.5)) * 100
So now let’s do that one more time and see what the damage reduction is with my personal armor penetration:
36.39% = (8717.59 / ((467.5 * 80) + 8717.59 – 22167.5)) * 100
So with my personal armor penetration of only 12.42% (but only getting 11.16% of it) I would see a 2.78% increase in my physical DPS. At face value that seems like a decent return considering I have so little armor penetration.
But of all 3 Hunter specs, only one of them is reliant on physical DPS, and that happens to be Beast Mastery. As Survival, Explosive Shot is still comprising >40% of my total DPS, and Black Arrow and Serpent Sting bringing in a combined 12-14% of my total DPS and a *huge* portion is coming from magic damage.
Also take into consideration that Armor Penetration is not transferred to your pet at all so it is a Hunter-only stat.
But that being said, with the 25% boost to the effectiveness of armor penetration, a BM Hunter should heavily consider Armor Penetration with such a large portion of total damage coming from Auto Shot, Steady Shot and Aimed Shot if you chose to spec into that.
Hopefully this has helped shed some light on the beast that is armor penetration calculations. I checked my math and I am pretty confident that my numbers are accurate and formulas are up-to-date, but by all means if you see any glaring errors, please either leave me a comment or post in the forums about any corrections that need to be made.
I know the site is loading a tad slower right now with the new template. I am still working on implementing some mf my existing CSS styles, compressing certain files and just working to help improve load times.
So yeah, questions, comments, etc. Post ‘em!