aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2019-08-01 01:26:19 +0200
committerShauren <shauren.trinity@gmail.com>2021-12-17 22:50:25 +0100
commit970a89a8c3e615244b5968e04d888100fba2cff0 (patch)
tree1606c020d583eb82e68abb06e4406d8aebe6014d /src
parentdad86f5bce429e780fd0c4983bec0c52e52e4573 (diff)
Entities/Unit: Add a missing underflow check to prevent really really low damage from underflowing when paired with flat damage modifiers. Closes #23655.
(cherry picked from commit a8b1b9a3c6266d589afb378f07c505f79c75a6a4)
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 6970018dd72..4fb19e41fcb 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -7325,6 +7325,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;