aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r--src/server/game/Spells/Spell.cpp6
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;