From 970a89a8c3e615244b5968e04d888100fba2cff0 Mon Sep 17 00:00:00 2001 From: Treeston Date: Thu, 1 Aug 2019 01:26:19 +0200 Subject: 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) --- src/server/game/Entities/Unit/Unit.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') 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(-TakenFlatBenefit))) + return 0; + // Taken total percent damage auras float TakenTotalMod = 1.0f; -- cgit v1.2.3