diff options
Diffstat (limited to 'src/server/game/Spells')
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 377a9135ba0..c7c9ceebb43 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -4424,11 +4424,15 @@ void AuraEffect::HandleModPowerCost(AuraApplication const* aurApp, uint8 mode, b if (!(mode & AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK)) return; + // handled in SpellInfo::CalcPowerCost, this is only for client UI + if (!(GetMiscValueB() & (1 << POWER_MANA))) + return; + Unit* target = aurApp->GetTarget(); for (int i = 0; i < MAX_SPELL_SCHOOL; ++i) if (GetMiscValue() & (1 << i)) - target->ApplyModPowerCostModifier(SpellSchools(i), GetAmount(), apply); + target->ApplyModManaCostModifier(SpellSchools(i), GetAmount(), apply); } void AuraEffect::HandleArenaPreparation(AuraApplication const* aurApp, uint8 mode, bool apply) const diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index c58ae80fa1a..ee06f6e7d3f 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -3835,7 +3835,7 @@ std::vector<SpellPowerCost> SpellInfo::CalcPowerCost(Unit const* caster, SpellSc } if (power->PowerType == POWER_MANA) - flatMod *= 1.0f + caster->m_unitData->ManaCostModifierModifier; + flatMod *= 1.0f + caster->m_unitData->ManaCostMultiplier; // this is wrong powerCost += flatMod; } |
