diff options
author | Ovahlord <dreadkiller@gmx.de> | 2024-08-02 03:34:02 +0200 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2024-08-02 03:34:02 +0200 |
commit | 7a9d27639a6fe7eaba55360a6b803b658f79cd6c (patch) | |
tree | b634d797e6ad806c5761ae3638022d925f35f603 | |
parent | 52ffb9f3f72e7e0493c704530d3b9cffb98f4d07 (diff) |
Core/Auras: implemented SPELL_AURA_MOD_DAMAGE_FROM_MANA
-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) : |