
Flat Armor
I think current armor system is not very good. Because on start it allows you to buy tor4 (+50 armor for 7 turns) and become practically invincible against physical attacks. It also works in other way - if you meet some unique bear with 40+ armor, you just can't kill it, because you dmg too low. Whereas at high lvls 100 armor gives you almost nothing. E.g. it does not protect you against 2.5k crits in last areas, so it is almost useless.
Disadvantages:
[*] weak mobs deals no damage
[*] strong mobs literally ignores armor
[*] Dots (periodic dmg) can't be implemented, because it will be fully absorbed by armor, so people use pure dot's wich ignore armor (looks like a crook)
Percent Based Armor
Also i am not very satisfied with percent based resistance. Because it grows exponentially. It is ok for statuses, but not for elemental resistance. E.g. imagine we have a char with 100hp, who hit ten times by 10 dmg.
without resistance he need 10 hits
40% res => 100 / 6 = ~17 hits
80% res => 100 / 2 = 50 hits.
So you can see, difference between 17 hits and 50 hits are incredible, but you just have two pieces with 40% res. When you equip it spearetely it provides 1.7x survivability (effective hp => ehp), but when combined it gives you 5x ehp. Due to this exponential grow developers had introduced a cap.
Disadvantages:res/hits/ehp
10% => 11.1 hits => 1.1x ehp
20% => 12.5 hits => 1.25x ehp
30% => 14.2 hits => 1.42x ehp
40% => 16.6 hits => 1.66x ehp
50% => 20 hits => 2x ehp
60% => 25 hits => 2.5x ehp
70% => 33.3 hits => 3.3x ehp
80% => 50 hits => 5x ehp
90% => 100 hits => 10x ehp
95% => 200 hits => 20x ehp
[*] Exponential grow, which give you incredibly high ehp when you reach high values. Even with tome 70% cap we have 3.3x ehp.
Mixed Percent Based Armor
So in most games we see Flat Armor or Percent Based Armor and we see they both have disadvanges, but i want to tell about Armor system which is used in warcraft 3 and then it goes to dota 2. In this system we get flat values on armor pieces, but in the end we get percent based resistance.
resistPercent = armor => ( (0.05 * armor) / (1 + 0.05 * Math.abs(armor)) )
so assume we have 100 hp, helm + 7 armor, cloak + 3 armor. So we get
resistPercent = ( (0.05 * 10) / (1 + 0.05 * Math.abs(10)) ) = 0.33;
ehp = hp / (1 - resistPercent) = 100 / (1- 0.33) = 100 / 0.66 = 150;
We increase our armor linearly and even though we get less and less resistance for each further gained armor point, our ehp grows linearly, so each 10 armor give us 50% ehp.flat armor / resist% / ehp
0/0/100
10/33%/150
20/50%/200
30/60%/250
40/66%/300
50/71%/350
60/75%/400
Real application in tome.Negative values
We don't need armor penetration anymore. We can use negative armor, since it will increase you dmg. But it works slightly different, than now.
flat armor / resist% / ehp
0/0/100
-10/-33%/75
-20/-50%/66
-30/-60%/62
-40/-66%/60
-50/-71%/58
-500/-96%/51
I think it will be a quite easy to change current armor system to Mixed Percent Based.
e.g. we have 50% fire resistance cloak so we just change it to cloak +20 fire armor and get same resistance. So we can exchange 10% old resistance => 2.5 points new armor. So if we have cloak 50% res, helm 20% res and boots 30% fire res, result will be => 20 + 8 + 12 = 40 fire armor => 66% fire resistance.
We can go same way with phys dmg and merge current flat armor and phys resistance to one attribute physical armor. E.g. we want to map 60 armor to 2x ehp. 2x ehp equal 20 armor in new system, so we just divide all armor gaining items and skills by 3. So if we have 20 armor it will be equal 50% phys resistance.
Of cource all numbers can be adjusted as you like. The main idea is to move elemental and especially physical armor to Mixed percent based system.