Formulas:Armor penetration
From WoWWiki
| | This article or section is a technical stub. You can help expand it by editing it.
|
How does Armor Penetration work? It simply removes armor from your opponent and recalculates their mitigation before your attack. If your opponent has 7700 armor and you have 1500 Armor Penetration, they only have 6200 armor versus your attack. They go from 42.2% mitigation to 37%. Therefore, you’ve increased your damage against them by 5.2%.[1]
Contents |
Post-3.0
As of release 3.0, items that previously provided straight Armor Penetration now provide Armor Penetration Rating. The mechanics, and thus the scaling, are different: At a given level, a certain amount of Armor Penetration Rating will result in your attacks ignoring a certain percentage of your target's armor.
3.1.0
Quote from: Ghostcrawler (Source)
Okay, here is a fairly technical explanation we put together for how armor pen works.
We didn’t want Armor Penetration Rating to be too powerful against low armor targets, like it had been in BC. We also didn’t want Armor Penetration Rating to be too powerful against high armor targets.
So, we decided on a system where there is a cap on how much armor the Armor Penetration Rating can be applied to. So, the first X armor on the target is reduced by the percentage listed in the Armor Penetration Rating tooltip, and all armor past that X is unaffected. Another way of understanding that is we multiply the percentage in the tooltip times the minimum of the two values: the cap, and the amount of armor on the target after all other modifiers.
Computing the cap is a little tricky unless you are already familiar with how World of Warcraft armor works. There is an armor constant we’ll call C. C is derived as follows (in some pseudocode):
If (level<60) C=400+85*targetlevel Else C=400+85*targetlevel+4.5*85*(targetlevel-59);
For a level 80 target, C=15232.5. For a level 83, C=16635.
The cap for Armor Penetration then is: (armor + C)/3.
A level 80 warrior creature has 9729 armor. C=15232.5. So, the cap is (9729+15232.5)/3=8320.5. Let’s say a player has 30% armor penetration from armor penetration rating and no other modifiers that complicate the calculation (talents, Battle Stance, Sunder Armor, etc.). The game chooses the minimum of 8320.5 and 9729, so 8320.5. That is multiplied by 30% = 2496.15, and so that much armor is ignored. The effective armor on the target is 7232.85 (9729-2496.15). From a player point of view, the armor penetration rating didn’t ignore the full 30%, but instead ignored 25.66%. (85.5% as effective as expected).
These equations should help you be able to test and verify that Armor Penetration Rating is working correctly and as we designed. The tooltip is not actually inaccurate, as it states: “Enemy armor reduced by up to 30.00%.” That "up to" is key.
Please be sure to test without any other effects which modify the armor calculation (Battle Stance, Sunder Armor, Mace Specialization, etc.) as they may involve other systems that add additional complexity to the calculation.
The formula for the Armor Penetration cap can be simplified to ArPcap = (935/6)*x + y/3 -44335/6, where x is the target level and y the target armor. Then effArmor = targetArmor - ArP * min{ targetArmor, ArPcap} as explained above, with the Armor Penetration ArP of your character. ArP is given, lately changed in 3.1.2[2], by the formula ArP = min{ 1,(Sum ArPcontributions)%}.
Multiple Armor Penetration effects
Tests show that effects granting armor penetration stacks additively.
E.g. a warrior in Battle Stance(+10%), using a mace while having the talent Mace Specialization(+15%), attacking a target with 5 stacks of Sunder Armor(+20%) while wearing gear granting 35% armor penetration will ignore 10+15+20+35=80% of the target's armor penetration cap.
