Each point of armor gives 1 point of damage reduction in fights. Warriors have the highest base armor through gear, followed by rogues, then mages. Armor % is nearly useless, as it only affects those base armor values, and not adding 1 point for every 1%. Warriors have passive buffs giving 45% armor to base. The Blacksmith also gives 20% bonus when maxed out. Trinkets can provide armor bonus also.
Gems will increase base armor by 1 per level. Ascension will also increase base armor by 2 per level.
With having Passive skill of warrior giving 45% and best armor trinket giving 40%, 20% from Blacksmith. 25% on combat mastery and 20% from guild perk. (Let's just assume people would use resist instead of the armor gear or it would be wiser to do so.) With level 10 gems on gleaming helm, glove, boots and armor and having level 10 Ascension on these this would give. 168 base armor with 150% bonus. With total of 420 armor.
int targetArmor = target.getArmor(); double sourcePiercing = source.getPiercing(); double armor = Math.Max(Math.Floor((targetArmor - (targetArmor * sourcePiercing)) * .5 ),0); //calculate damage minus armor damage.damage = Engine.ToINT(damage.damage - armor);