One of the design constraints on ZK is to avoid armour types in the form of weapons that deal variable damage to units based on the units type or allegiance. So for example we can't make Ravager better at assaulting defenses by increasing the damage it deals to turrets. We've put these balance levers aside, instead relying things like cost, raw damage and projectile physics. I think this constraint has been worthwhile because it has resulted in a balance that depends a lot on visible physical attributes. To contrast, armour types can be difficult to see because they are a somewhat 'hidden' attribute of units.
This approach is a pushback against the hodgepodge of armour types that spread throughout various mods of TA. I get the impression that some modders would tweak damages when balancing over years, resulting in a mess that would take someone a long time to learn. Armour types were especially prone to gathering around the commander, I think in some mods commanders took extra damage from LLT to balance attack and defense in comm pushing. I don't know much about the armour in FAF but I think it at least has some special cases around commanders.
Starcraft II does armour types well. From what I recall, there are two armour types for mobile units and a fair portion of the units deal significantly more damage against one of the types of armour. The significance of the damage is important as it makes the existence of the system more obvious. There are two armour types so it is not too hard to keep track of which units are of each type. The UI has two big buttons which have a tooltip telling players which type of armour a selected unit has and what, if any, bonus it has against one of the types.
Anyway, we're too deep into reducing armour types to start adding them now. We do have some legacy mechanics that look a bit like armour.
Pyro, Kodachi and some fire chickens cannot be set on fire. They still take direct damage from fire weapons and damage from standing in fire. Technically submarines cannot be set on fire as well, but this is only apparent when you bring a sub onto land because being underwater also grants immunity to being set on fire.
Anti-air weapons deal 10% damage to non-air units. This is rarely visible because anti-air units cannot target non-air units and there are rarely enemy non-air units in their line of fire. I think target restrictions are much better than armour types, at least if the restrictions are clear, because being unable to fire at a certain class of units is highly discoverable. Just watch your units not fire. If instead they had much reduced damage you would have to look closely at how much damage they deal. This 10% damage exists mainly to discourage people from figuring out how to circumvent this target restriction. Anti-air deals 100% damage to shields.
Shields take damage from status effects but they do not simply convert the status effect damage to normal damage, as status effect damage tends to be much higher. Shields take 1/3 damage from EMP, disarm and slow. When a weapon deals both normal and status damage the multiplier is applied to the status effect portion. Shields also (for some reason) take extra damage from penetrating weapons. The multipliers are 1.5x for Gauss and 3x for Flamethrowers. The shield damage multipliers and conversions were set a while ago and could do with reassessment.
Outlaw deals no damage to allies, I think it is the only weapon with this feature. Many relatively short ranged AoE weapons deal no damage to their wielder, I think this was a required change for some stupid targeting AI. Penetrating weapons (Dgun and Flamethrowers) have somewhat janky damage as they deal damage for every frame they spend inside a unit. Capture health (against Dominatrix) is based on cost instead of health and I think low health units take more damage from Dominatrix. I wouldn't have added this myself but KR thought it was necessary.