“ | ▶️ Armored to the teeth!
— Clockwerk
|
” |
Armor is a stat that reduces (or increases, if negative) physical damage a unit takes from spells and attacks. Every unit is capable of gaining or losing armor, and most units start with a small amount of base armor, some even starting with negative armor. A hero's armor can be passively increased with agility (with agility heroes gaining more than other heroes), talents, certain items, and some abilities. Armor of any unit can also be temporarily increased or reduced with some abilities.
Each point of agility increases a hero's armor by 0.16666666666667.
Base armor
Base armor is the part of the main armor that never changes throughout a game. It consists of one fixed value set for each unit individually. The base armor of a unit can be a negative number. Since only heroes have agility, the HUD of all non-hero units shows their base armor.
Heroes
Heroes | Armor |
---|---|
-3 | |
-2 | |
-1 | |
0 | |
1 | |
2 | |
2.5 | |
3 | |
4 | |
5 |
Creeps
Summons
Summons | Armor |
---|---|
Astral Spirit | 0 |
Familiar | 0/2/4 |
Spirit Bear | 0/2/4/6 |
Fire | 0/8/16 |
Storm | 2 |
Mars Soldier | 3 |
Void | 3/4/5 |
Earth | 3/5/7 |
Warlock Golem | 8/12/14 |
Main armor
Main armor is the armor value shown in white numbers near the shield icon in the HUD, consisting of base armor and the armor granted by a hero's agility. The only way to improve a hero's main armor is to increase its agility, which is gained by leveling up, acquiring certain items, or with the help of certain abilities.
The formula to calculate a hero's main armor is:
main armor = base armor + agility * 0.16666666666667
Hero Armor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Bonus armor
Bonus armor is the armor value shown in green numbers with a plus on the left, right below the white armor number on a unit's statistics. Whenever an item or skill shows a +armor value, e.g. Blade Mail (+5 Armor), it increases the bonus armor of the affected unit. Probably the most important difference between main and bonus armor is that illusions only benefit from main armor, although their HUD still shows the bonus armor just like on other heroes, to make them less obvious to the enemy. Some spells like Natural Order also only affect main armor.
Damage multiplier
All units, including buildings, have an inherent base armor value and armor type. Any physical damage dealt to a unit is multiplied by the damage multiplier, resulting in either damage reduction or increase depending on the target's armor value.
For any real-valued armor, the damage multiplier is defined as
damage multiplier = 1 - ((0.052 × armor) ÷ (0.9 + 0.048 × |armor|))
.
The damage multiplier limits are 25/12 (roughly 2.08) and 0, for infinitely negative and positive armor, respectively.
- Examples
Armor (+) Multiplier Armor (-) Multiplier 1 95% -1 105% 2 90% -2 110% 3 85% -3 115% 4 81% -4 119% 5 77% -5 123% 6 74% -6 126% 7 71% -7 129% 8 68% -8 132% 9 65% -9 135% 10 62% -10 138% 11 60% -11 140% 12 58% -12 142% 13 56% -13 144% 14 54% -14 146% 15 52% -15 148% 16 50% -16 150% 17 48% -17 152% 18 47% -18 153% 19 45% -19 155% 20 44% -20 156% 21 43% -21 157% 22 42% -22 158% 23 40% -23 160% 24 39% -24 161% 25 38% -25 162% 26 37% -26 163% 27 36% -27 164% 28 35% -28 165% 29 34% -29 166% 30 33% -30 167% 31 32% -31 168% 32 32% -32 168% 33 31% -33 169% 34 30% -34 170% 35 29% -35 171% 36 29% -36 171% 37 28% -37 172% 38 27% -38 173% 39 27% -39 173% 40 26% -40 174% 41 26% -41 174% 42 25% -42 175% 43 25% -43 175% 44 24% -44 176% 45 24% -45 176%
Effective HP
The extra damage a unit can take due to armor is known as its extra effective HP (or EHP) for physical damage. At 0 armor, 1 armor grants roughly 5.8% effective HP. This means a unit with 1000 health and 1 armor can take 1058 physical damage. At 30 armor, this figure scales upwards to 7.7%, meaning armor is more effective at higher values.
On the other hand, the effectiveness of armor is much lower at negative values (see graph). Total effective HP trends downwards towards 48%, meaning a unit with 1000 health and infinitely low armor would still be able to take 480 physical damage. At this point, losing or gaining 1 armor has essentially no effect.
Armor | -40 | -30 | -20 | -10 | 0 | 10 | 20 | 30 | 40 |
---|---|---|---|---|---|---|---|---|---|
Effective HP | 575.51 | 600 | 641.38 | 726.32 | 1000 | 1604.65 | 2268.29 | 3000 | 3810.81 |
This definition of effective HP assumes all damage taken is physical. In Dota 2, magical damage (such as Lina's or Lion's ultimate) is modified by magic resistance.
- Calculating effective HP
effective HP = current HP ÷ damage multiplier
- Example 1
- A level 25 Sven has a total HP of 2293.6 and 11.3 points of armor. What is his effective HP vs physical damage?
- EHP = 2293.6 ÷ ( 1 - (11.3 × 0.052) ÷ (0.9 + 11.3 × 0.048) ) = 2293.6 ÷ 0.592623 = 3870.25
- Sven can tank 3870.25 physical damage.
- Example 2
- The same Sven from previous example is hit by a maxed Corrosive Haze. His armor is now Expression error: Missing operand for -.. What is his effective HP vs physical damage?
- EHP = 2293.6 ÷ ( 1 - (Expression error: Missing operand for -. × 0.052) ÷ (0.9 + Expression error: Unexpected < operator. × 0.048) ) = 2293.6 ÷ Expression error: Unexpected < operator. = Expression error: Unexpected < operator.
- Sven can tank Expression error: Unexpected < operator. physical damage.
Armor types
There are several different types of armor, which determine how much damage a unit takes against certain attack damage types. Each of the 3 different armor types either reduces, increases or does not affect the damage from each of the damage types, on top of armor values manipulating them.
Example:
A hero with 100 attack damage attacking a siege unit which has 0 armor deals 50 damage to it, because the attack type "hero" deals 50% less damage against the armor type "structure", which is the siege creeps' and all buildings' armor type. If the siege creep would gain 5 armor, the 100 damage attack would deal (100 * 0.7719298245614 * 0.5) = 38.59649122807 damage. The same attack would deal 77.19298245614 damage to a unit with any other armor type, since attack type hero deals full damage to them.
This table shows how much damage each armor type reduces against each attack damage type and which unit uses which armor type (units which take a set amount of damage per attack are excluded).
Armor Type | Used by | Attack Damage Type | |||||
---|---|---|---|---|---|---|---|
Hero | Basic | Pierce | Siege | ||||
Hero | Error 1054: Unknown column 'armor_type' in 'where clause'
Function: CargoSQLQuery::run Query: SELECT CONCAT("",title,"") AS `CONCAT("",title,"")` FROM `cargo__units` WHERE armor_type="Hero" AND game IS NULL GROUP BY `_pageID` ORDER BY CONCAT("",title,"") LIMIT 100 |
100% | 75% | 50% | 85% | ||
Basic | Error 1054: Unknown column 'armor_type' in 'where clause'
Function: CargoSQLQuery::run Query: SELECT CONCAT("",title,"") AS `CONCAT("",title,"")` FROM `cargo__units` WHERE armor_type IS NULL AND game IS NULL GROUP BY `_pageID` ORDER BY CONCAT("",title,"") LIMIT 100 |
100% | 100% | 150% | 100% | ||
Structure | Error 1054: Unknown column 'armor_type' in 'where clause'
Function: CargoSQLQuery::run Query: SELECT CONCAT("",title,"") AS `CONCAT("",title,"")` FROM `cargo__units` WHERE armor_type="Structure" AND game IS NULL GROUP BY `_pageID` ORDER BY CONCAT("",title,"") LIMIT 100 |
50% | 70% | 35% | 250% |
Modifying armor
A lot of abilites and items have abilities that grant or reduce armor. These changes are always Bonus armor, and never added to the main armor.
Armor increasing abilities
The following abilities increase armor:
- Armor bonus: 1200
Aura, affects nearby allies. Multiple instances fully stack. The buff lingers for 3 seconds. - Armor bonus: 25
Duration: 1.8/2.2/2.6/3
Affects the caster. - Armor bonus per hero: 1.5/3/4.5/6
Armor bonus per creep: 0.5
Duration: 10
Affects the caster. Bonuses are granted once the spirit rejoins with the caster. Bonuses are based on how many enemies the spirit touched while out. - Lone Druid - [[Lone Druid#|]]Armor bonus: Lua error in Module:Show at line 70: attempt to index field '?' (a nil value).
Duration: Lua error in Module:Show at line 70: attempt to index field '?' (a nil value).
Affects the caster's units within range. - Armor bonus: 500/1000/1500
Affects the caster. Lasts until Druid Form is used. - Armor bonus: 25%/30%/35%/40%
Duration: 1/1.5/2/2.5
Affects all player controlled allied units. - Armor bonus: 4/5/6/8
Duration: 45
Affects the target ally. - Armor bonus per minute: 1
Passive. - Armor bonus: 100/200/300
Passive. - Armor bonus (tier 1 towers): 3/5/5/5
Armor bonus (tier 2/3/4 towers): 1/3/3/3
Aura, affects nearby allies. The buff lingers for 0.5 seconds. - Armor bonus: 4/5/6/7
Affects the caster. Lasts until toggled off. - Armor bonus: 1200
Aura, affects nearby allies. The buff lingers for 3 seconds.
- Armor bonus: 4
Affects the caster. Armor is granted after the delay. Lasts until toggled off. - Armor bonus: 5
Aura, affects nearby allies. The buff lingers for 0.5 seconds. - Buckler - [[Buckler#|]]Armor bonus: Lua error in Module:Show at line 70: attempt to index field '?' (a nil value).
Hero duration: Lua error in Module:Show at line 70: attempt to index field '?' (a nil value).
Non-hero duration: Lua error in Module:Show at line 70: attempt to index field '?' (a nil value).
Affects nearby allies on cast. - Armor bonus: 50%
Duration: 8
Affects nearby allies on cast. - Armor bonus: 1.5
Boosted armor bonus: 12
Aura, affects nearby allies. When an allied hero is below 3 health, the boosted value is applied to them. The buff lingers for 5 seconds. - Armor bonus: 6
Duration: 8
Affects the target ally.This is an old ability. - Armor bonus: 49
Duration:
Affects nearby allies on cast. - Armor bonus: 0.5
Aura, affects nearby allies. The buff lingers for seconds. - Armor bonus: 70
Duration:
Affects the target ally. - Armor bonus: 2
Aura, affects nearby allies. The buff lingers for 0.5 seconds.
Armor reducing abilities
The following abilities reduce armor:
- Armor reduction: 3/4/5/6
Duration: 15
Aura, affects enemies within the target area. The debuff lingers for 0.5 seconds. - Armor reduction per stack: 20
Max stacks: 0.8/0.9/1/1.1/1.2/1.3/1.4/1.5
Duration: 5
Passive. Affects the attacked enemy. Multiple attacks increase the stack count, and refresh the duration of existing stacks. - Phantom Assassin - [[Phantom Assassin#|]]Armor reduction: Lua error in Module:Show at line 70: attempt to index field '?' (a nil value).
Duration: Lua error in Module:Show at line 70: attempt to index field '?' (a nil value).
Requires a talent. Affects the attacked enemy. - Armor reduction per strike: 60/75/90
Max duration: 1
Strikes the lowest health enemy within range. Does not reduce armor of hit buildings. The armor duration of each strike is based on the storm's remaining duration. - Armor reduction: 100
Duration: 10/15/20
Affects the target enemy.
- Armor reduction: 5
Aura, affects nearby enemies. The debuff lingers for 0.5 seconds. - Armor reduction: 2
Duration: 8
Affects the attacked enemy. - Armor reduction: 6
Duration: 7
Affects the attacked enemy. - Armor reduction: 8
Duration: 6
Affects the caster. - Caster armor reduction: 6
Target armor reduction: 6
Duration: 8
Affects the caster and the target enemy.This is an old ability. - Caster armor reduction: 7
Target armor reduction: 8
Duration:
Affects the caster and the target enemy.
Armor negating abilities
Some abilities negate a unit's armor by reducing or increasing armor based on the unit's armor, effectively removing a percentage of the armor on the target. This Armor negation only affects the armor value of units, their armor type is unaffected and still reduces damage normally.
The following abilities negate armor:
- Main armor negation: 50%
Duration: 6
Affects nearby enemies on cast. The reduction is based on the enemies' main armor.This is an old ability. - Total armor negation: 100%
Has a chance to completely ignore the target's armor value on attack, dealing damage as if they had 0 armor. - Main armor negation: 40%/60%/80%/100%
Aura, affects nearby enemies. The reduction is based on the enemies' main armor. The debuff lingers for 1 seconds.
Armor granting talents
The following heroes have a talent that grants them bonus armor.
Bonus | Level 10 | Level 15 | Level 20 | Level 25 | ||||
---|---|---|---|---|---|---|---|---|
Left | Right | Left | Right | Left | Right | Left | Right | |
Armor |
Besides these, the following heroes have talents which increase the armor of the units they summon
- +s:value Spirit Bear Armor:
- +s:value Chaotic Offering Golems Armor:
Armor granting items
These items grant bonus armor to the hero who has them equipped.
Trivia
- In DotA the base magic resistance was bound to the assigned armor. In case of Hero Armor only 75% of the magic damage was applied. Some heroes possessed hidden passive skills to alter their base magic susceptibility albeit Hero Armor to 90% ( Visage) or 65% ( Meepo). Nowdays in Dota 2 magic resistance works independently from armor.
- The Basic armor type was referred to as Medium armor in DotA.
- The deprecated Light damage type used to be called Chaos damage in DotA.
- The deprecated Weak armor type used be called Light armor, Soft was referred to as Unarmored, and Strong was known as Heavy armor type.
Negative armor disparity
Amplified damage from negative armor is calculated differently in WC3 DotA than in Dota 2.[1]
Negative armor in WC3 DotA has a cap of -20 armor (71% damage increase). Further reducing the armor does not change the damage increase.[2] Also, the more aggressive damage amplify formula is used resulting in a max damage increase of 71%. The amplified damage is calculated from this formula:
- Damage increase = 1 - 0.94^(-armor)
Comparison table
Armor | WC3 DotA Damage amplification | Dota 2 Damage amplification | Relative difference |
---|---|---|---|
0 | 0.0% | 0.0% | N/A |
-5 | 26.6% | 22.8% | 3.8% |
-10 | 46.1% | 37.7% | 8.4% |
-20 | 71.0% | 55.9% | 15.1% |
-40 | 71.0% | 73.8% | -2.8% |
-60 | 71.0% | 82.5% | -11.5% |
Update history
- Changed the Armor formula from ( 0.05 * Armor ) / ( 1 + 0.05 * Armor ) to ( 0.052 * Armor ) / ( 0.9 + 0.048 * Armor )
- Changed the Armor formula from ( 0.06 * Armor ) / ( 1 + 0.06 * Armor ) to ( 0.05 * Armor ) / (1 + 0.05 * Armor )
- Armor per agility rescaled from 1/7 to 1/6.
- Removed Strong armor type.
- Moved the following units to the soft armor type (effectively 125%->100% from basic damage, 75%->150% from pierce damage and 125%->100% from siege damage): All neutral creeps, Eidolon, Skeleton Warrior, Treant, Greater Treant, Forged Spirit, Spiderling, Spiderite, Boar, Lycan Wolf, Spirit Bear, Plague Ward, Techies' mines and Psionic Trap.
- Moved the following units to the hero armor type (effectively 125%->75% from basic damage, 75%->50% from pierce damage and 125%->85% from siege damage): Earth, Storm and Roshan.
- Renamed soft armor type to basic armor type
- Siege damage against heroes increased from 75% to 85%.
- Removed the Light attack type and moved the following units to the Standard attack type (effectively 40->50% vs structures): Centaur Conqueror, Hellbear, Hellbear Smasher, Wildwing Ripper, Satyr Tormenter, Ancient Granite Golem, Ancient Black Dragon, Forge Spirits, Spiderlings, and Warlock's Golems.
- Removed the Weak armor type (effectively 200->150% from piercing damage) and moved the following unit to the Soft armor type (same as creeps): Beastmaster's Hawk.
- Removed the Basic armor type (effectively 150%->125% from basic damage and 50%->125% from siege damage) and move the following units to the strong armor type (like various other neutrals use): Kobold Soldier, Vhoul Assassin, Ghost, Hill Troll Berserker, Hill Troll Priest, Harpy Scout, Harpy Stormcrafter, Beastmaster's Boar, Undying's Tombstone, Pugna's Nether Ward, Templar Assassin's Psionic Trap, Techies' Land Mine, Stasis Trap, and Remote Mine.
- Armor now shows decimal places in the hover tooltip
- Changed piercing damage to heavy armor to 75% from 100%.
- Chaos damage now does 40% damage to fortified (down from 50%).
- Chaos Damage now does same as hero damage to structures, 50% instead of 100%.
References
- ↑ Dota2 Development Forum bug report: [Confirmed] Negative armor has a different effect in DotA2 in comparison to Dota1
- ↑ PlayDotA Mechanics: Damage and Armor - DotA Mechanics