Going insane: the armor paradox
Posted: Thu Sep 23, 2010 4:13 pm
I think the way armor is taken into account in damage calculation for difficulties other than Normal is kind of messed up.
I'll give first an algebraic explanation:
Current formula for damage calculation is roughly: (base_dmg - (armor - AP)) * mult * crit * diff, where:
base_dmg is the damage rolled for the attack
armor is the armor value of the defender
AP is the armor penetration value of the attacker
mult - never understood what it is, still it's in the logs, anyways, it's some kind of multiplier
crit - damage multiplier if the attacker scores a critical hit
diff - damage multiplier based upon difficulty level (1 for normal, 1.5 for insane, and so on)
Now, to simplify the equation, let's take the case where AP = 0, and mult and crit multipliers = 1. This gives:
totale_dmg = (base_dmg - armor) * diff = (base_dmg * diff) - (armor * diff)
This means that the difficulty multiplier is applied to armor value as well!
A numerical example for a hit with base_dmg = 50 and diff = 1.5 (insane):
armor = 0 -> total_dmg = 50 * 1.5 - 0 * 1.5 = 75
armor = 10 -> total_dmg = 50 * 1.5 - 10 * 1.5 = 60
As you can see, an armor value of 10 reduces damage by 15! Your effective armor value is raised by 50%!
The same applies when attacking an enemy (damage done reduced by 50%, i.e. diff = 0.5)
Enemy armor 0 -> total_dmg = 50 * 0.5 - 0 * 0.5 = 25
Enemy armor 10 -> total_dmg = 50 * 0.5 - 10 * 0.5 = 20
So, it is like your enemy has an effective armor value equal to just 5 (-50%)!
Given the above, insane difficulty level description should state:
Absolutely unfair game setting
All damage done to the player increased by 50%
All damage done by the player decreased by 50%
All healing for the player decreased by 40%
Player rank is normal instead of elite
Armor value of the player increased by 50%
Armor value of the enemies reduced by 50%
What?!? Last two statements seem to go in the very opposite direction of the increasing difficulty settings.
Furthermore, it is easily deductible that with easy settings, you get a penalty of 30% to armor, while enemies' armor is increased by 10%.
To make things work the way they should be intended, it would be sufficient to apply the difficulty multiplier to the sole base_dmg rolled.
I'll give first an algebraic explanation:
Current formula for damage calculation is roughly: (base_dmg - (armor - AP)) * mult * crit * diff, where:
base_dmg is the damage rolled for the attack
armor is the armor value of the defender
AP is the armor penetration value of the attacker
mult - never understood what it is, still it's in the logs, anyways, it's some kind of multiplier
crit - damage multiplier if the attacker scores a critical hit
diff - damage multiplier based upon difficulty level (1 for normal, 1.5 for insane, and so on)
Now, to simplify the equation, let's take the case where AP = 0, and mult and crit multipliers = 1. This gives:
totale_dmg = (base_dmg - armor) * diff = (base_dmg * diff) - (armor * diff)
This means that the difficulty multiplier is applied to armor value as well!
A numerical example for a hit with base_dmg = 50 and diff = 1.5 (insane):
armor = 0 -> total_dmg = 50 * 1.5 - 0 * 1.5 = 75
armor = 10 -> total_dmg = 50 * 1.5 - 10 * 1.5 = 60
As you can see, an armor value of 10 reduces damage by 15! Your effective armor value is raised by 50%!
The same applies when attacking an enemy (damage done reduced by 50%, i.e. diff = 0.5)
Enemy armor 0 -> total_dmg = 50 * 0.5 - 0 * 0.5 = 25
Enemy armor 10 -> total_dmg = 50 * 0.5 - 10 * 0.5 = 20
So, it is like your enemy has an effective armor value equal to just 5 (-50%)!
Given the above, insane difficulty level description should state:
Absolutely unfair game setting
All damage done to the player increased by 50%
All damage done by the player decreased by 50%
All healing for the player decreased by 40%
Player rank is normal instead of elite
Armor value of the player increased by 50%
Armor value of the enemies reduced by 50%
What?!? Last two statements seem to go in the very opposite direction of the increasing difficulty settings.
Furthermore, it is easily deductible that with easy settings, you get a penalty of 30% to armor, while enemies' armor is increased by 10%.
To make things work the way they should be intended, it would be sufficient to apply the difficulty multiplier to the sole base_dmg rolled.