aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2019-08-01 01:26:19 +0200
committerTreeston <treeston.mmoc@gmail.com>2019-08-01 01:27:10 +0200
commita8b1b9a3c6266d589afb378f07c505f79c75a6a4 (patch)
tree900ef0effbf9a628b2e1dc578bd96985ac3708a8 /src
parent6f7ab817256f3b47c794b7d6431f247f4b785f9f (diff)
Entities/Unit: Add a missing underflow check to prevent really really low damage from underflowing when paired with flat damage modifiers. Closes #23655.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index de289fa04f5..0b53aae034a 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -7887,6 +7887,9 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT
else
TakenFlatBenefit += GetTotalAuraModifier(SPELL_AURA_MOD_RANGED_DAMAGE_TAKEN);
+ if ((TakenFlatBenefit < 0) && (pdamage < static_cast<uint32>(-TakenFlatBenefit)))
+ return 0;
+
// Taken total percent damage auras
float TakenTotalMod = 1.0f;