aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp2
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp11
2 files changed, 10 insertions, 3 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index a02ea43fcc4..ff98f642fc0 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -30041,7 +30041,7 @@ SpellInfo const* Player::GetCastSpellInfo(SpellInfo const* spellInfo, TriggerCas
if (overrides != m_overrideSpells.end())
for (uint32 spellId : overrides->second)
if (SpellInfo const* newInfo = sSpellMgr->GetSpellInfo(spellId, GetMap()->GetDifficultyID()))
- return Unit::GetCastSpellInfo(newInfo, triggerFlag);
+ return GetCastSpellInfo(newInfo, triggerFlag);
return Unit::GetCastSpellInfo(spellInfo, triggerFlag);
}
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index c59f3b150d4..fcd177b1c8d 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -13871,9 +13871,13 @@ SpellInfo const* Unit::GetCastSpellInfo(SpellInfo const* spellInfo, TriggerCastF
{
if (auraEffect->GetSpellInfo()->HasAttribute(SPELL_ATTR8_IGNORE_SPELLCAST_OVERRIDE_COST))
triggerFlag |= TRIGGERED_IGNORE_POWER_AND_REAGENT_COST;
+ else
+ triggerFlag &= ~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST;
if (auraEffect->GetSpellInfo()->HasAttribute(SPELL_ATTR11_IGNORE_SPELLCAST_OVERRIDE_SHAPESHIFT_REQUIREMENTS))
triggerFlag |= TRIGGERED_IGNORE_SHAPESHIFT;
+ else
+ triggerFlag &= ~TRIGGERED_IGNORE_SHAPESHIFT;
return newInfo;
}
@@ -13884,12 +13888,15 @@ SpellInfo const* Unit::GetCastSpellInfo(SpellInfo const* spellInfo, TriggerCastF
};
if (SpellInfo const* newInfo = findMatchingAuraEffectIn(SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS))
- return newInfo;
+ {
+ triggerFlag &= ~TRIGGERED_IGNORE_CAST_TIME;
+ return GetCastSpellInfo(newInfo, triggerFlag);
+ }
if (SpellInfo const* newInfo = findMatchingAuraEffectIn(SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS_TRIGGERED))
{
triggerFlag |= TRIGGERED_IGNORE_CAST_TIME;
- return newInfo;
+ return GetCastSpellInfo(newInfo, triggerFlag);
}
return spellInfo;