diff options
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index fc11311fdc3..fb494c2e233 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -5172,9 +5172,12 @@ SpellCastResult Spell::CheckCast(bool strict, uint32* param1 /*= nullptr*/, uint // check spell focus object if (m_spellInfo->RequiresSpellFocus) { - focusObject = SearchSpellFocus(); - if (!focusObject) - return SPELL_FAILED_REQUIRES_SPELL_FOCUS; + if (!m_caster->HasAuraTypeWithMiscvalue(SPELL_AURA_PROVIDE_SPELL_FOCUS, m_spellInfo->RequiresSpellFocus)) + { + focusObject = SearchSpellFocus(); + if (!focusObject) + return SPELL_FAILED_REQUIRES_SPELL_FOCUS; + } } SpellCastResult castResult = SPELL_CAST_OK; |
