diff options
author | Treeston <treeston.mmoc@gmail.com> | 2019-08-01 01:26:19 +0200 |
---|---|---|
committer | Treeston <treeston.mmoc@gmail.com> | 2019-08-01 01:27:10 +0200 |
commit | a8b1b9a3c6266d589afb378f07c505f79c75a6a4 (patch) | |
tree | 900ef0effbf9a628b2e1dc578bd96985ac3708a8 /src | |
parent | 6f7ab817256f3b47c794b7d6431f247f4b785f9f (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.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 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; |