diff options
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 7 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 83cfb123c5a..0fca0b23daf 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -6860,6 +6860,13 @@ float Unit::SpellDamagePctDone(Unit* victim, SpellInfo const* spellProto, Damage else if (spellProto->Mechanic) AddPct(DoneTotalMod, GetTotalAuraModifierByMiscValue(SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC, spellProto->Mechanic)); + // Add SPELL_AURA_MOD_DAMAGE_FROM_MANA percent bonus + if (HasAuraType(SPELL_AURA_MOD_DAMAGE_FROM_MANA) && GetMaxPower(POWER_MANA)) + { + float damageFromManaBonus = GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_DAMAGE_FROM_MANA, spellProto->GetSchoolMask()); + AddPct(DoneTotalMod, ((float)GetPower(POWER_MANA) / GetMaxPower(POWER_MANA)) * damageFromManaBonus); + } + // Custom scripted damage switch (spellProto->SpellFamilyName) { diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 029bfe6af06..45d52f8d10a 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -693,7 +693,7 @@ NonDefaultConstructible<pAuraEffectHandler> AuraEffectHandler[TOTAL_AURAS]= &AuraEffect::HandleNULL, //621 SPELL_AURA_INCREASE_SKILL_GAIN_CHANCE &AuraEffect::HandleNoImmediateEffect, //622 SPELL_AURA_MOD_SPELL_COOLDOWN_BY_HASTE implemented in SpellHistory::StartCooldown &AuraEffect::HandleNULL, //623 SPELL_AURA_MOD_GATHERING_ITEMS_GAINED_PERCENT - &AuraEffect::HandleNULL, //624 SPELL_AURA_MOD_DAMAGE_FROM_MANA + &AuraEffect::HandleNoImmediateEffect, //624 SPELL_AURA_MOD_DAMAGE_FROM_MANA implemented in Unit::Unit::SpellDamagePctDone }; AuraEffect::AuraEffect(Aura* base, SpellEffectInfo const& spellEfffectInfo, int32 const* baseAmount, Unit* caster) : |