diff options
author | Treeston <treeston.mmoc@gmail.com> | 2019-08-01 01:26:19 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-17 22:50:25 +0100 |
commit | 970a89a8c3e615244b5968e04d888100fba2cff0 (patch) | |
tree | 1606c020d583eb82e68abb06e4406d8aebe6014d /src | |
parent | dad86f5bce429e780fd0c4983bec0c52e52e4573 (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.cpp | 3 |
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; |