From cd1de5078d45f4371304be74fc2739d9b7ccbb83 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 27 Feb 2021 16:05:38 +0100 Subject: [PATCH] Core/Spells: improve implementation of SPELL_AURA_MOD_DAMAGE_FROM_MANA --- src/server/game/Entities/Unit/Unit.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 769066a71db..db98ae29d53 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -6725,11 +6725,11 @@ float Unit::SpellDamagePctDone(Unit* victim, SpellInfo const* spellProto, Damage } // Add SPELL_AURA_MOD_DAMAGE_FROM_MANA percent bonus - if (GetPower(POWER_MANA)) + if (GetPowerIndex(POWER_MANA) != MAX_POWERS) { - int32 masteryBonus = owner->GetTotalAuraModifier(SPELL_AURA_MOD_DAMAGE_FROM_MANA); - float manaPct = 100.f * GetPower(POWER_MANA) / GetMaxPower(POWER_MANA); - AddPct(DoneTotalMod, CalculatePct(masteryBonus, manaPct)); + 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)); } // Custom scripted damage