diff options
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 69163ed6066..3de0a179bcd 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3883,6 +3883,9 @@ void Spell::_cast(bool skipCheck) handle_immediate(); } + if (m_scriptResult && !m_scriptWaitsForSpellHit) + m_scriptResult->SetResult(SPELL_CAST_OK); + CallScriptAfterCastHandlers(); if (std::vector<int32> const* spell_triggered = sSpellMgr->GetSpellLinked(SPELL_LINK_CAST, m_spellInfo->Id)) @@ -4314,6 +4317,9 @@ void Spell::finish(SpellCastResult result) return; m_spellState = SPELL_STATE_FINISHED; + if (m_scriptResult && (m_scriptWaitsForSpellHit || result != SPELL_CAST_OK)) + m_scriptResult->SetResult(result); + if (!m_caster) return; |