Age of Empires Series Wiki
Info icon.png
This article is about the armor classes in Age of Empires II which define bonus damage. For the two armor types which define base damage, see armor and pierce armor.
Armor class prev.png

Armor classes are semi-hidden unit attributes in Age of Empires II. They are necessary to make attack bonuses work correctly.


In-game references[]

The infobox shows no information about bonus damage dealt or taken.

The bonus attack and armor class system is not directly displayed in-game. The only visual element of armor classes is noticing the attack value bonuses that units and buildings inflict on each other, but even then, heavy amounts of cross-referencing of the unit and building types taking and receiving damage would have to be tediously studied; and combined with the fact that the type of armor classes assigned to each unit and building are never specified in-game. The only way to directly see armor class bonuses and their values is with the use of the Genie Editor, which is the official program to edit dataset included in game files, from where the information of this wiki is obtained.

While the tech tree states for each unit against which other unit it deals bonus damage, it does not tell the player how this bonus damage is dealt, or which unit is in which armor class. While most armor classes are intuitive (for example, it is clear that the Eagle Warrior is in the infantry class), there are also many which are not. In another example, the aforementioned Eagle Warrior is also in its own Eagle Warrior class, and Champions deal significant bonus damage against this class. Neither is referenced anywhere in the game. Another example are Camel Riders: they are not in the cavalry class like one might assume, but instead in their own camel class, which takes less bonus damage than the cavalry class, so they are less vulnerable to their counter units than the game suggests.

Attack bonuses come in play due to two independent factors: Armor classes and hill/cliff bonuses. While focusing on Armor classes on this page, the role of hill/cliff bonuses will also be touched on.


Basically, the bonus damage is calculated the same way as the base damage is calculated (simply by subtraction of attack and armor), but in order to calculate bonus damage in the first place, the attacking unit logically has to have an attack bonus against its target. This is where the armor classes come into play.

Simply speaking, bonus damage is a flat additive value to the base damage and if a unit has more than one armor class, the bonus damages of the attacking unit stack. For example, the War Elephant is in the war elephant and in the cavalry armor classes, and the Halberdier has an attack bonus against both classes. So both bonus damages are added when a Halberdier attacks a War Elephant.

Each unit has an armor value for every armor class it is assigned to. For most units this armor value is 0 and simply determines that they are in this class and take bonus damage, but for some units, it is non-zero. A positive value indicates that this unit (partially) resists bonus attacks against this armor class, while a negative value means it takes even more damage. For example, the Cataphract has +12 cavalry armor, making it less vulnerable to anti-cavalry attacks than other cavalry units. On the other hand, for example, the Ballista Elephant has –2 cavalry armor, making it take even more damage from anti-cavalry attacks.

Damage calculation[]

The damage in Age of Empires II works in many steps, which is seen as following:

Step 1: Attack multipliers are applied and stored. where is the multiplier on respective attack class i. Attacks are stored as integers only. So an attack value which is not an integer is rounded off. An example where is with the Burgundian gunpowder bonus, where for all i, and Siege Engineers, where for .

Step 2: Bonus damage resist multiplier. for enemy units, where x is the value of the attribute. Usually . This does not apply for since these classes provide base damage. Currently this property is used by Sicilian infantry, cavalry, and archers, where , and by Bengali elephants, where . Note that the values may not be an integer and is not stored, so it is allowed to have decimal values.

Step 3: Damage due to every class. where i denotes a specific armor class. These steps are done for all armor classes present. Notice that the is never negative.

Step 4: Addition. for all i, where denotes summation over all armor classes.

Step 5: Other bonus multipliers. Unlike the previous multiplier, this does apply for . where x is calculated as follows, starting at :

  • This sub-step applies only when the unit is receiving damage from a primary projectile or from a unit without a projectile (non-ranged units). If the unit dealing damage is on high ground or above the cliff, or (the latter only for Tatars). If the unit dealing damage is on low ground, . If the unit receiving damage is a building and on a desert cracked terrain, .
  • This sub-step does not apply to Arambai, suicide units, ranged units with blast damage, or secondary projectiles of Hussite Wagons and Organ Guns. If the unit receiving damage was not the intended target (i.e., it is a mishit), .
  • Ranged units with blast radius, viz Mangonel-line, Bombard Cannon line and Warwolf Trebuchets, and suicide units, viz Demolition Raft line, Flaming Camels, and Petards, have a multiplier () which depends on the distance between the attacking unit/projectile and the recipient unit.

Step 6 - Result: This is to ensure that even if , the unit must receive a minimum of 1 damage since it is being attacked. Note that the minimum damage rule is applied after all the attack multipliers. Damage may not be an integer, but the game works with the values just fine. It does subtract fractional hit points, but the UI shows only the integer part of the remaining hit points. The unit dies when the remaining hit points reach below 1 (not less than or equal to 0), that is .

You might think why values 3, 4, 31, and 33 are excluded from step 2. Step 2 is for reducing bonus damage. These armor classes are dealing regular/base damage by their definition. These are namely base pierce (3), base melee (4), special melee (31), and special pierce (33).

While the formulas may look complicated at first glance, it basically says that a specific armor class value is subtracted from its respective attack class value, but the individual result cannot be negative. Hill and other bonus multipliers are applied. This resulting value is added to the total damage dealt. Bonus attack cannot be reduced by melee or pierce value. Unlike with melee and pierce damage, information about the bonus damage cannot be found in the unit infobox or in tech tree in-game.

Steps 4 and 5 can be interchanged mathematically because the order of operations does not matter there, but it is more time efficient to perform step 4 before step 5. Despite looking interchangeable mathematically, steps 1 and 2 cannot be interchanged because the result obtained after step 1 is rounded off.

Also there is no case where an attack class has both an additive boost as well as a multiplier. We can formulate theoretical situations like Bohemians Halberdiers with Chieftains, and Bloodlines and percentage HP boost with Mongols, but the results are consistent because of how these bonuses are implemented. The Bohemian bonus applies before the start of the game (fixed) and Chieftains being a unique technology, needs at least 1 second to finish (variable). Bloodlines applies when we research it (variable), but the Mongol bonus specifically applies to Light Cavalry and upgrades at the start of the game (fixed). When we have either boost fixed, we get consistent results.

List of armor classes[]

Unit classes[]

Armor class Official Name Notes Proper Name
1 Infantry All infantry units
2 Turtle Ships includes Thirisadai Heavy Warships
3 Base Pierce unaffected by bonus damage reductions
4 Base Melee unaffected by bonus damage reductions
5 War Elephants includes all Elephant units Elephants
8 Cavalry includes Cavalry Archers, Missionaries but specifically excludes Camels Mounted units except Camels
15 Archers includes variations, Skirmishers, Hand Cannoneers, Janissaries and similar mounted units All Archers
16 Ships & Saboteur specifically excludes Fishing Ships Ships except Fishing Ships
17 Rams & Trebuchets & Siege Towers packed Trebuchets do not have this armor class; includes Armored Elephant line too High Pierce Armor Siege unit
19 Unique units (except Turtle Ship) despite its name, it includes Turtle Ships Unique units
20 Siege Weapons can also be called Siege Units
23 Gunpowder Units includes Bombard Towers
25 Monks includes Missionaries and Monks with relics
27 Spearmen
28 Cavalry Archers includes variations and Conquistadors, Arambai, Genitours Mounted Archers
29 Eagle Warriors
30 Camels can also be called Camel Units
31 Leitis Attack previously used by the Leitis to make its armor ignoring attack work; despite the Leitis having a new mechanic, the old armor values were left as it is Obsolete
32 Condottiero Condottieri
33 no unit has this armor class, hence any unused armor class can be used; see Trivia
34 Fishing Ship Fishing Ships
35 Mamelukes
36 Heroes includes Queens and Kings - currently unused
37 belongs to Hussite Wagons only Hussite Wagons

Building classes[]

Armor class Official Name Notes Proper Name
0 belongs to Wonders and similar buildings - currently unused Wonders
11 All Buildings (except Port) there is no such building as Port; Fish Traps are excluded All Buildings except Fish Traps
13 Stone Walls & Gates & Towers includes Harbors ?
21 Standard Buildings value is always 0 by definition; excludes Fish Traps and Wonders Standard Buildings except Fish Traps and Wonders
22 Walls & Gates applies to both stone and palisade structures
26 Castle includes Kreposts Castles and Kreposts

Gaia classes[]

Armor class Official Name Notes Proper Name
14 Preator Animals consists of Wolves, Lions, Komodo Dragons, Tigers, etc Wolves
18 Trees no unit has this armor class, hence any unused armor class can be used
24 Hunted Predator Animals consists of Boars, Javelina, Elephants and Rhinoceros Boars

Base armor[]

Base armor is the default value of an armor class which a unit does not have. This is an important attribute to make armor classes function.

For example:

A Knight is defined to have armor classes of Base Melee (2), Base Pierce (2), Anti-Leitis (0), and Cavalry (0), and Base Armor 1,000. This means that it has armor classes of Infantry (1,000), Turtle Ship (1,000), War Elephant (1,000), and so on. Normally all these attack values are less than 1,000.
Substitute these values in the formula for damage calculation by a Post-Imperial Viking Champion to get:
Damage = (17 - 2 {melee}) + (5 - 0 {cavalry}) + (8 - 1,000 {Eagles}) + (6 - 1,000 {Standard Buildings}) + (4 - 1,000 {Camels}) = 20.

The single highest attacks in the game are those by Secondary Projectiles of Organ Guns and Hussite Wagons (1,002)* and Furious the Monkey Boy against standard buildings (999).

Common values[]

  • Attack class 21 is defined by the game to be a variation of anti-building attack (attack class 11).
    • For buildings (except Fish Traps, Wonders, and Mosques), always, because it was never meant to be cancelled.
    • For reasons unknown, Fish Traps do not have building armor classes (neither 11 nor 21), unlike their counterpart - Farms.
    • For scenario design purposes, Mosques have no armor classes, so they receive 1 damage from every unit other than secondary projectiles of Hussite Wagons and Organ Guns (check Trivia).
    • For reasons unknown, Wonders do not have armor class 21, despite having armor class 11, and have a special armor class 0.
  • All units with attack class 1 (other than Hand Cannoneers and Cannon Galleons) have attack class 32, defined as . This is because Condottieri were made to resist attack bonus of Hand Cannoneers, which is 10, but receive attack bonus from other anti-infantry sources. If the value was less than 10, it was negated entirely, otherwise it was reduced by 10.
  • All units except Fire Galleys have exactly same attack vs Fishing Ships (armor class 34), as they have against regular Ships (armor class 16). This was done to promote use of Galleys in Feudal Age to snipe Fishing Ships, rather than the Fire Galley countering everything.
  • For the Mangonel and Bombard Cannon lines, , so that they counter Hussite Wagons more effectively. There is no proper reason, except for the choice of developers to use the same value.
  • for most units and buildings (please check Trivia).


  • Percentage attack upgrades like Burgundian Gunpowder bonus, Bohemian Spearman-line bonus, Siege Engineers, and Heated Shot are calculated and stored in unit stats and are always an integer. The modified values are used to determine damage. Depending on the unit, it may be greater than or less than the percentage increase. Hill bonuses are always calculated in every situation after calculating the damage from armor classes and the damage dealt maybe a non-integer, in which case the shown HP is rounded down.
    • Bohemian Pikemen should get +27.5 vs Cavalry, they actually get +28.
    • A regular Pikeman on a hill also gets +25% damage bonus. Ignoring the insignificant melee attack vs Cavalry, it should deal +27.5 vs Cavalry. It appears in game that it deals +28 in odd hit and +27 in even hit. Behind the scenes, it actually is dealing +27.5 but the new HP of the receiving unit is always rounded down. Extending this rule, on a hypothetical unit having 5 attack vs itself, it will deal 7, 6, 6, and 6 damage to itself in a cycle, because the 6.25 damage works this way.
    • Burgundian Hand Cannoneers actually deal +3 vs Condottieri, so unlike the description of Condottieri, they do receive attack bonus, albeit small.
    • Bohemian Pikemen deal 22 * 1.25 - 16 = 12 bonus damage to Elite Cataphract, while regular Pikemen on a hill deal (22 - 16) * 1.25 = 7.5 bonus damage to Elite Cataphracts. This example is meant to clarify the difference between +25% attack and +25% damage.
    • Similarly, Burgundian Gunpowder bonus gives +25% attack, while being on top of hill gives +25% damage. These wordings make it clear that the attack boost of Burgundian Gunpowder units comes in before starting the damage calculation while the hill bonuses apply after calculating the intermediate damage values.
  • Not every unit with an attack bonus against another unit can be called a counter. The Spearman line has +1 vs the Eagle Scout line, but get wrecked by them. Elite Samurai have +12 vs Elite Longboats and Elite Longbowmen, but cannot counter them with reasonable assumptions. Hand Cannoneers have +3 vs Rams but perform poorly.
  • Despite not having bonuses, a unit can be called a counter to the other unit. The obvious example of this is a monk. The Scout Cavalry line, the Knight line, and Steppe Lancers are pretty strong counter to Siege units. Mangonels can be called a reasonable counter to Crossbowmen. Arbalesters are a fairly good counter to Hand Cannoneers.
  • Despite having a meagre difference of 1 pierce armor, the Spearman line is nowhere near to the Militia line in resisting archer fire. This is because reliably every archer unit has an attack bonus vs Spearmen. Regular Archers and Skirmishers do +3. Regular Cavalry Archers, Genitours, and unique foot archers do +2. Kipchaks, Mangudai, Slingers, and Hand Cannoneers do +1. Most notably, Genoese Crossbowmen and Camel Archers do not receive any attack bonus. Elephant Archers also do not receive any attack bonus until Parthian Tactics, but this maybe by design to make them weak to the Spearman line.
  • Despite both Halberdiers and Cavalry Archers having attack bonus vs the other, neither unit is called a counter to the other. The same idea goes for Jaguar Warrior vs Samurai and Genoese Crossbowmen vs Genitours.


Karambit Warrior against Eagle Warrior[]

A Karambit Warrior has a base melee attack of 7, no pierce attack, and an attack of 2 against the Eagle Warrior.
An Eagle Warrior has a melee armor of 0, a pierce armor of 3, and an Eagle armor of 0.
If the Karambit Warrior now hits the Eagle Warrior, it deals: (7-0 {melee}) + (2-0 {Eagle}) = 9 damage.
The pierce armor does not come into play as the Karambit Warrior does not have a pierce attack.
Values Karambitwarrioricon-DE.png Karambit Warrior
Eaglewarrior aoe2DE.png Eagle Warrior
Melee (4) 7 0
Pierce (3) - 3
Eagle (29) 2 0
Infantry (1) - 0

All three parts in that calculation can be negative if the target has higher armor than the attacking unit has attack. As the formula shows, in that case every part is rounded up to zero, so one weak spot cannot be compensated, and the minimum amount of overall damage dealt is always 1. The example below shows this as well as an attack involving negative armor, both melee and pierce attack, and a multi-shot attack. The calculation follows the patterns mentioned above. In the following examples, irrelevant armor classes will be skipped.

Militia against Ballista Elephant[]

Generic Militia are rather weak units with only 4 melee attack, and attack bonuses set to 0 against the Cavalry, Camel, Eagle Warrior, and Standard Building armor classes. Since the Ballista Elephant has -2 cavalry armor, these Dark Age infantry units deal +2 damage to it. Militia (and many other infantry units) have these attack bonuses set to 0 so that technologies such as Arson and Chieftains work properly when researched. Without the 0 attack, Militia would be dealing the regular damage against Ballista Elephants.

Militia upon release


Militia currently


Ballista Elephant


Melee (4) 4 4 0
Mounted units (5) - 0 -2
Damage against

Ballista Elephant

4 4 + (-(-2)) = 6

Archer against Spearman vs Archer against Man-at-Arms[]

An Archer has no melee attack, a pierce attack of 4, and an attack of 3 against the Spearman armor class.
A Spearman has a melee armor of 0, a pierce armor of 0, and a Spearman armor of 0.
If the Archer now hits the Spearman, it deals: (4-0 {pierce}) + (3-0 {Spearman}) = 7 damage.
A Man-at-Arms has a melee armor of 0, a pierce armor of 1, and no Spearman armor.
If the Archer now hits the Man-at-Arms, it deals: 4-1 {pierce} = 3 damage.
The bonus damage against Spearmen is not triggered, because the Man-at-Arms does not have the corresponding armor class.
Values Archer aoe2DE.png Archer
Spearman aoe2DE.png Spearman
Manatarms aoe2DE.png Man-at-Arms
Pierce (3) 4 0 1
Spearman (27) 3 0 -

Chu Ko Nu against Battering Ram vs Archer against Battering Ram[]

A Chu Ko Nu fires three arrows with an attack. It has a melee attack of 0 (for all its arrows), a pierce attack of 8 for the first arrow, and pierce attack of 3 for all the other arrows.
A Battering Ram has a melee armor of -3, and a pierce armor of 180.
If the Chu Ko Nu now hits a Battering Ram, it deals: (0-(-3) {melee}) + (8-180 {pierce}, rounded up to 0) + (0-0 {Ram}) = 3 damage with the first arrow, and (0-(-3) {melee}) + (3-180 {pierce}, rounded up to 0) = 3 damage for the other two arrows, resulting in a total damage of 9.
If the Archer from the first example now hits the Battering Ram, it deals: (4-180 {pierce}, rounded up to 0) = 0 (rounded up to 1) damage. The melee armor does not come into play as the Archer does not have a melee attack.
Values ChukoNuIcon-DE.png Chu Ko Nuattack Chu Ko Nu - Kipchak

secondary projectile



Battering ram aoe2DE.png Battering Ram
Melee (4) 0 0 - -3
Pierce (3) 8 3 4 180
Rams (17) 0 - 0 0

These examples also show the difference between having no attack (meaning there is no value assigned) and having 0 attack. No attack means the respective part is not calculated, and 0 attack means that the part is calculated. The difference resulting from this can be quite substantial, as the example shows.

Downhill Elite Cataphract vs uphill Halberdier[]

A fully upgraded Elite Cataphract has a base melee attack of 12+2, no pierce attack, and an attack of 12+6 against Infantry.
A fully upgraded Halberdier has a melee armor of 0+3, a pierce armor of 0+4, a Spearman armor of 0, and an Infantry armor of 0.
If the Elite Cataphract now hits the Halberdier, where the Halberdier is positioned uphill, it deals: (((12+2)-(0+3) {melee}) + ((12+6)-0 {Infantry})) * 0.75 = 21.75 damage instead of the regular 29 damage.
The Halberdier was uphill, so the Elite Cataphract is downhill, which means that his hill bonus multiplier is set to 0.75.
The trample damage of the Elite Cataphract has no effect in this example because there are no adjacent units to hit.
Moving on, now it is time for the Halberdier to attack.
A fully upgraded Halberdier has a base melee attack of 6+4, no pierce attack, and an attack of 32 against Cavalry.
The fully upgraded Elite Cataphract has a melee armor of 2+3, a pierce armor of 1+4, and an Cavalry armor of 16.
If the Halberdier now hits the Elite Cataphract, where the Halberdier is fighting uphill, it deals: (((6+4)-(2+3) {melee}) + (32-16 {Cavalry})) * 1.25 = 26.25 damage instead of regular 21 damage.
The Halberdier was fighting uphill, so the Elite Cataphract is downhill, which means that his hill damage multiplier is set to 1.25.
A fully upgraded Tatar Halberdier fighting uphill deals additional +25% damage due to the civilization bonus, it would deal: (((6+4)-(2+3) {melee}) + (32-16 {Cavalry})) * (1.25 + 0.25) = 31.5 damage to the downhill Elite Cataphract.
This example shows the importance of the hill bonus damage and shows the additional armor the Elite Cataphract has against the natural counter of cavalry.

Burgundian Hand Cannoneer against Malian Condottiero[]

A Hand Cannoneer has a base pierce attack of 17, no melee attack, and an attack of 10 against Infantry.
Burgundians have a civilization bonus that increases all existing attacks of the unit by 25%, viz Base pierce, infantry and spearman attacks.
A fully upgraded Malian Condottiero has a melee armor of 1+3, a pierce armor of 0+7, and an Infantry armor of 10.
If the Burgundian Hand Cannoneer hits the Malian Condottiero it deals: (ROUND(17 * 1.25) - (0+7) {pierce}) + (ROUND(10 * 1.25) - 10 {Infantry}) = (21 - 7) + (13 - 10) = 17 damage instead of the regular 10, which it deals to Malian Condottiero.
Generic Hand Cannoneer


Burgundian Hand Cannoneer


Generic Condottiero


Malian Condottiero


Pierce (3) 17 round (17 * 1.25) = 21 0+4 = 4 0+4+3 = 7
Infantry (1) 10 round (10 * 1.25) = 13 10 10

Bohemian Spearman against Sicilian Scout Cavalry[]

A Spearman with no upgrades has a base melee attack of 3, no pierce attack, and an attack of 15 against Cavalry.
Bohemians have a civilization bonus that modifies all bonus attacks (viz cavalry, elephant, camel, ship, Mameleuke, Eagle warrior, and Standard Building damage) of the unit line. Sicilian Scouts receive 50% less bonus damage as consequence of their civilization bonus.
A Sicilian Scout with no upgrades has a melee armor of 0, a pierce armor of 2, and a Cavalry armor of 0.
If the Spearman hits the Scout it deals: (3 - 0 {melee}) + ((ROUND(15 * 1.25) * 0.5) - 0) {Cavalry}) = 3 + (19 * 0.5) - 0 = 3 + 9.5 = 12.5 damage inflicted in 13–12–13–12… increments.

Gurjara Heavy Camel Rider against Bengali Siege Elephant[]

A Heavy Camel Rider with no upgrades has a base melee attack of 7 and an attack of 18 against Cavalry.
Gurjaras have a civilization bonus that modifies all bonus attacks (viz cavalry, camel, ship, Mameluke, Fishing Ships, and Standard Building damage) of the unit line. Bengali Siege Elephant receive 25% less bonus damage as a consequence of their civilization bonus.
A Bengali Siege Elephant full upgraded has a melee armor of -2+3, a pierce armor of 150+4, a Cavalry armor of 8, and a Elephant armor of 18.
If the full upgraded Gurjara Heavy Camel Rider hits the Siege Elephant it deals: (7+2 - (-2+3) {melee}) + ((ROUND(18 * 1.5) * 0.75) - 8) {Cavalry}) = 8 + (27 * 0.75) - 8 = 8 + 12.25 = 20.25 damage.

Viking Pikeman vs Sicilian Cataphract[]

Viking Pikeman after all upgrades have 8 melee attack and 27 attack vs Cavalry. Cataphracts have 5 melee and 12 cavalry armor. Sicilian units have 50% bonus damage resistance for their cavalry.

Firstly, the Sicilian bonus applies, so the attack of the Viking Pikemen is reduced to 13.5 (and it is not rounded to 14, because it is not stored). The armor of the Cataphract reduces it to 1.5. Therefore, the damage is (8 - 5) (melee) + (27/2 - 12) (cavalry) = 3 + 1.5 = 4.5. Hence it appears that the damage is oscillating between 5 and 4.

As an exercise, you can try the theoretical battle between a Bohemian Halberdier with Chieftains vs Sicilian Elite Cataphract. You can use the Scenario Editor to check the results. Is the attack bonus of the said Halberdier 45 or 46? It is 45 because triggers apply at second 1, while the dataset it loaded at second 0.


  • All units which cannot be interacted with like flags, dead units and rubble do not have this property.
  • All other units are supposed to have the armor classes 3 and 4.
  • Logically speaking a unit should have only one attack class in 3 or 4, but there are units which deal both melee damage and pierce damage. In such cases the melee damage is hidden because the UI shows the greatest values among these two attacks, so the units may receive some pseudo bonus damage. These units are Chu Ko Nu, secondary projectiles of Chu Ko Nu and Kipchaks (they are the same projectile), Scorpions (but not the secondary projectile from Double Crossbow), and the Fire Galley line. Among these, only Fire Ships and Fast Fire Ships have non zero values for the melee attack.
  • The Conquistador (Cavalry, Archer, Unique unit, Gunpowder unit, and Cavalry archer) has the most armor classes of all units, at five.
  • Special Wolves like the Dire Wolf, Hunting Wolf, and Ornlu the Wolf have base armor zero and no armor class, which makes them take all sorts of bonus damage, all of which stack. Trees, Herdables (Cows, Sheep, etc.) and Showpiece units (like Butterflies, Hawks, and Stormy Dogs) also have base armor zero. All other units have 1,000 base armor.
    • This explains why a Scout Cavalry having 3 attack can kill a sheep in 1 hit only, because the Sheep is also receiving +6 attack of Scouts against Monks. Also, Camel Scouts deal only 2 damage per hit to sheep, because they do not have any attack bonus in Dark Age, and take 4 hit to kill a sheep. Similarly, this affects the Shepherds. which have 3 melee attack, +3 vs all buildings, +6 vs Stone Defenses.
    • Trees have 0 base armor, which means that all units which can attack trees (lumberjacks, Ballista Elephants, and Onagers) attack with all attacks present. In addition to having regular attacks, lumberjacks also have +3 vs Trees, which helps only against Trees with 30 HP. This explains why researching Sappers enables villagers to cut down any tree in a single hit.
  • No unit actually has Armor Class 33, but the secondary projectiles of Organ Guns and Hussite Wagons have a whopping 1,002 attack of class 33.
    • This means that all units which they target suffer 2 damage, irrespective of mishit. This is because these projectiles (along with Arambai) have a special property to do full damage to mishits as well.
    • A side effect is that Organ Guns and Hussite Wagons are actually the best units to kill hero wolves in a single shot. Petards can also do this, but they need to get in contact with them and are also destroyed upon use, whereas Organ Guns and Hussite Wagons can do this from a safe distance.
  • The Mosque has no armor classes (not even classes 3, 4, 11, or 21), meaning all attacks, even from Trebuchets or Petards with Siege Engineers, will do only 1 damage. However, following the above paragraph, secondary projectiles of Hussite Wagons and Organ Guns will deal 2 damage.
  • Since the Definitive Edition, armor class values other than Base melee and Base pierce (these two were modifiable before too) can be modified in the Scenario Editor. An important point to remember is that the unit should have an attack or armor of that class existing already. Example: Samurai cannot be given an attack bonus against infantry units, because they do not have even 0 attack assigned. However, using the Scenario Editor, their attack bonus against unique units can be modified. This is the main reason why several units have 0 attack against certain armor classes, so that they can benefit from technologies (such as Chieftains) and/or bonuses (such as the Saracen team bonus) that increase such attack values.
  • The upgrade lines of Skirmishers, Camel Riders, Mangonels, Rams, Armored Elephants, Galleys, Fire Galleys, and Bombard Cannons all deal bonus damage against an armor class they are themselves part of. The civilization-unique Samurai, Jaguar Warrior, Camel Archer, Genitour, Mameluke (only Elite), Longboat, Thirisadai, and Caravel do as well. While the main projectiles of Ballista Elephants, towers, and Donjons do not deal bonus damage against themselves, the secondary projectiles do.
  • Condottieri were responsible for the creation of two armor classes (the most by any unit) - the armor class which gives them an attack bonus against gunpowder units and the armor class which helps them negate anti-infantry attack from gunpowder units only. Since Dawn of the Dukes, Winged Hussars also do bonus damage against the gunpowder units.
  • The game considers all attacks except those of class 3, 4, and 33 as attack bonuses. The attribute attack bonus resists (multiplier) can be used to reduce all incoming attack bonuses (not hill bonuses) by a constant factor for a unit. This factor maybe different for different units, but is same for all armor classes on the same unit.
  • No unique upgrade of a regular unit is in the unique unit armor class. The reason is simple: an upgrade should not make the unit worse. Flemish Militia are implemented as replacing Villagers by Flemish Militia with the same percentage hit points remaining, so they do not count as upgrade.
    • Docks when upgraded to Harbors get the Stone defense armor class added. This is the only exception.
  • Unit classes and armor classes are completely different. Unit classes are unique, such as Eagle Warriors and Champions being Infantry; Ballista Elephants, Camel Riders, and Hussars being Cavalry; and Missionaries being Monks. Unit classes dictate unit properties like garrison, conversion (buildings and siege need Redemption), adding arrows when garrisoned, and most importantly upgrades, while armor classes just dictate which units receive attack bonus from which units.
    • Usually units having a partical armor class can be said to be of a particular type, which is what causes confusion among masses. Notable exceptions are Arambai and Conquistadors (Cavalry archer armor class, but Conquistador unit class) and Armored Elephants (Siege armor classes, but Cavalry unit class).
  • Among all unit upgrades, the following provide more resistance against attack bonuses:
    • Elite Cataphract (from 12 cavalry armor to 16).
    • Elite Genitour (from 0 cavalry archer armor to 1).
    • Battering/Capped/Siege Rams have 0/1/2 ram armor.
    • Siege Elephant (from 7 cavalry armor to 8, from 17 elephant armor to 18, from 0 ram armor to 2).
  • Among buildings, the Fortified Wall upgrade increases the building armor of Stone Walls from 16 to 24.


The Age of Kings[]

  • Basic unit armor classes exist - Infantry, Archers, Cavalry, Siege Weapons, Ships.
  • Default Base Armor was 232.
  • Supporting unit classes added to boost some units against others - Rams (for ranged units), War Elephants (for Spear units and Scorpions), Unique units (for Samurai).
  • Camels and Cavalry are in the same armor class.
  • Wild Boars and Siege Weapons are in the same armor class.
  • Basic building armor classes exist - Building, Standard Building and Stone Walls & Gates & Towers.
  • Trees Armor class exists for Lumberjacks to kill trees in 1 less hit situationally (like uphill trees, or trees with 30 HP).

The Conquerors[]

  • Default Base Armor increased to 1000, due to Petards having massive attack bonuses.
  • Camels (except Mamelukes) are removed from Cavalry Armor class, and placed in Ship Armor class. Mamelukes receive Ship Armor class, while gaining +11 armor in Cavalry Armor class.
  • Wild Boars are removed from Siege Weapons Armor class, and given their own armor class, for Goth villagers to have +6 attack bonus vs them.
  • Spearman line is given its own Spearman Armor class, which makes it weaker to ranged units.
  • Cavalry Archer line and Mangudai are given their own Cavalry Archer Armor class, which makes them weaker to Elite Skirmishers.
  • Monks receive their own Monk Armor class, which makes scouting units more efficient at killing them.
  • Castles receive their own Castle Armor class, which was introduced for Tarkans and Petards.
  • Walls and Gates receive their own Walls and Gates Armor class, which was introduced for Tarkans and Petards.
  • Eagle Armor class introduced to make Eagle units weaker to other infantry units.
  • Turtle Ship Armor class introduced to make Turtle Ships weak vs Fire Ships, and strong vs other warships.

The Forgotten[]

  • Predator Animals Armor class was introduced for Magyar villagers to have +30 attack bonus vs Wolves.
  • Turtle Ships were included in Unique units armor class, despite the latter's description contradicting it.
  • Gunpowder units armor class was introduced for the Condottiero to have attack bonus vs Gunpowder units.

The African Kingdoms[]

  • With patch 4.8, Camels are removed from the Ship Armor class, and are given their own Camel Armor class.

Rise of the Rajas[]

  • With patch 5.7, Fishing Ships are removed from Ship Armor class, and given their own Fishing Ship Armor class, which essentially grants +2 armor against Fire Galley attacks. Fishing Ship Armor class is identical to Ship Armor class, against all other units.
  • With patch 5.7, Condottieri are given their own Condottiero armor class, which essentially negates +10 Infantry armor against non-gunpowder units.
  • With patch 5.8, Mamelukes are removed from Cavalry Armor class, and given their own Mameluke Armor class, which essentially grants another +10 armor against Halberdier attacks. Mameluke Armor class is identical to Cavalry Armor class (+11) against all other units.

The Last Khans[]

  • Armor class 31 was introduced for the Leitis to ignore melee armor of units, but not buildings.

Lords of the West[]

  • The concept of bonus damage resistance is introduced. Bonus damage resistance is applied to attack bonus of enemy unit first, and then the result is subtracted from corresponding armor.

Dawn of the Dukes[]

  • Hussite Wagon Armor class introduced to make Hussite Wagons take double melee damage from ranged siege weapons.

Dynasties of India[]

  • Armor class 31 is now obsolete. Armor-ignoring attacks are implemented using Attack-enhancing properties, instead of armor class. The armor values still exist in the game files as they were before Dynasties of India.
  • [PUP August change - will definitely make it into patch] Bonus damage resistance is now applied after subtracting bonus armor from bonus attack. This buffs units with negative armor (like Elephant Archers), and nerfs units with positive armor (like Armored Elephants). Units without bonus armor are not affected.


  • Class 11 is named "All Buildings (except Port)" in the game files. Port was a useless hidden building in The Age of Kings, which was removed later. It never made an official appearance.
  • Even though Turtle Ships are in class 19, the class is named "Unique Units (except Turtle Ship)" in the game files since The Conquerors. This name is used because Turtle Ships were not in this armor class back in The Conquerors.