diff --git a/src/g_shared/a_armor.cpp b/src/g_shared/a_armor.cpp index bba36616c..47c15536b 100644 --- a/src/g_shared/a_armor.cpp +++ b/src/g_shared/a_armor.cpp @@ -120,7 +120,7 @@ void ABasicArmor::AbsorbDamage (int damage, FName damageType, int &newdamage) } else { - saved += full + FixedMul (damage - full, SavePercent); + saved = full + FixedMul (damage - full, SavePercent); if (MaxAbsorb > 0 && saved + AbsorbCount > MaxAbsorb) { saved = MAX(0, MaxAbsorb - AbsorbCount);