Very late response, maybe you figured it out already. They will stack indefinitely as far as I know. Just remember there's this line in gamedata.ini:
AttributeModifierArmorMaxBonus = 75% ; ARMOR type bonuses in AttributeModifier.ini are summed, so this is the cap for them to prevent invincibility
Though I'm not sure if this is the case, because we all know that trolls die super easy by fire, but with Darkness (50%), Drummer (50%) and Witchking (50%) , trolls are nearly invincible and it doesn't feel like their armor is "only" 75% up... I'm not sure if I understand this armor thing entirely anyway. Let's look at the troll armor:
Armor = DEFAULT 100% ;this sets the level for all nonspecified damage types
Armor = CRUSH 50% ;horseman damage
Armor = SLASH 100% ;soldier damage
Armor = PIERCE 150% ;100% ;archer damage
Armor = FLAME 300% ;150% ;100%
Armor = SPECIALIST 300% ;200% ;pike damage
Armor = MAGIC 200% ;
Armor = HERO 200% ;
Armor = HERO_RANGED 200% ;100% ;Hero bow damage
Armor in attributemodifier.ini is classified as additive. So they just add +75% armor to these values? Or will they get 75% of the current armor as bonus, in the case of CRUSH 75% of 50%, which would be 37.5% extra and therefore make a new value of 12.5%? Maybe Ridder Geel has an answer for this, I'm lost.
About SPELL, I think they always stack but are also limited by the armor attribute modifier max bonus. I don't think any category has limits; maybe FORMATION, but I don't know.
Edited by Echo, 11 June 2019 - 02:27 AM.