Many people might have know this already, but I think I should post it so more people could know it. I think it's also better to have a good understanding of the mechanic to discuss balancing
In previous game, armor calculation is done rolling a number between 0 and the targer's armor value. The result will subtract directly from the base damage.
In TW:W the formula has changed. Armor now reduced base damage by a percentage amount, and the lower roll cap is now 50% of the base armor value.
For example, if take the 80 value armor of Dwarf Warriors. Everytime they get hit, they will have a chance to reduce the base damage taken from the attacker by 40%-80% (AP damage will always bypass the armor anyway). Also, very tired and exhausted fatigue will reduced units' armor to 90% and 65% respectively.
How do I get this? Well, first I have to thanks AggonyDuck for bringing up the matter in a thread about high armor value. I the made a mod to test this out. I modded the Empire general to do 1000 base damage and 0 AP damage, the charge bonus value is set to 0, the lower armor roll cap and the armor when fatigued is set to 1. Then I make a battle to put 2 Empire Generals against eachother. The regular Empire General has 85 armor.
Each time they get hit, they take 146-154 damage. From the result, I can be sure that Armor in the game now reduced damage by a percentage amount, vary a little perhap.
Imo, it's much better formula than Rome 2/Attila, it allow adjustment to be made without affecting the overall balance too much like the 2 previous games.
The added damage from the charge bonus and bonus vs Infantry/Large are non-AP damage.