From 218dff68479834246db22d7652311b5f7fa9eaf5 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sun, 28 Feb 2021 17:22:10 +0100 Subject: [PATCH] Core/Units: further improvements for 7a08639397d6f7e3be2cfc25cf57ea2dc314f7af Fixed an edge case in which units with SPELL_AURA_MOD_DAMAGE_FROM_MANA would deal zero damage when their total bonus or scaling coefficient would be zero --- src/server/game/Entities/Unit/Unit.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 1ebde699c62..67eeb4a9c92 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -6729,7 +6729,8 @@ float Unit::SpellDamagePctDone(Unit* victim, SpellInfo const* spellProto, Damage { float totalBonus = (owner->GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_FROM_MANA, spellProto->GetSchoolMask()) - 1.f) * 100.f; float manaPct = 100.f* ((float)GetPower(POWER_MANA) / GetMaxPower(POWER_MANA)); - AddPct(DoneTotalMod, CalculatePct(totalBonus, manaPct)); + if (totalBonus != 0.f && manaPct != 0.f) + AddPct(DoneTotalMod, CalculatePct(totalBonus, manaPct)); } // Custom scripted damage