diff options
| author | QAston <none@none> | 2010-10-05 08:17:10 +0200 |
|---|---|---|
| committer | QAston <none@none> | 2010-10-05 08:17:10 +0200 |
| commit | cac4cfda42f6d392fa6232bdb211334d5b5638fa (patch) | |
| tree | 3ad10e7a2f3bd613e59d60e89da8acef60d0d805 /src/server/game/Spells/Spell.cpp | |
| parent | b345dc5061980281f25f9f2159ea441a9b568786 (diff) | |
Core/ScriptSystem: Add missing script call preparation for SpellScripts - fixes issues with core false alarms after recent changes
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 15b1b2069c0..d2393e582cd 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -7219,6 +7219,7 @@ bool Spell::CallScriptEffectHandlers(SpellEffIndex effIndex) bool preventDefault = false; for(std::list<SpellScript *>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end() ; ++scritr) { + (*scritr)->_PrepareScriptCall(SPELL_SCRIPT_HOOK_EFFECT); std::list<SpellScript::EffectHandler>::iterator effEndItr = (*scritr)->OnEffect.end(), effItr = (*scritr)->OnEffect.begin(); for(; effItr != effEndItr ; ++effItr) { @@ -7228,6 +7229,7 @@ bool Spell::CallScriptEffectHandlers(SpellEffIndex effIndex) } if (!preventDefault) preventDefault = (*scritr)->_IsDefaultEffectPrevented(effIndex); + (*scritr)->_FinishScriptCall(); } return preventDefault; } @@ -7236,11 +7238,13 @@ void Spell::CallScriptBeforeHitHandlers() { for(std::list<SpellScript *>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end() ; ++scritr) { + (*scritr)->_PrepareScriptCall(SPELL_SCRIPT_HOOK_BEFORE_HIT); std::list<SpellScript::HitHandler>::iterator hookItrEnd = (*scritr)->BeforeHit.end(), hookItr = (*scritr)->BeforeHit.begin(); for(; hookItr != hookItrEnd ; ++hookItr) { ((*scritr)->*(*hookItr))(); } + (*scritr)->_FinishScriptCall(); } } @@ -7248,11 +7252,13 @@ void Spell::CallScriptOnHitHandlers() { for(std::list<SpellScript *>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end() ; ++scritr) { + (*scritr)->_PrepareScriptCall(SPELL_SCRIPT_HOOK_HIT); std::list<SpellScript::HitHandler>::iterator hookItrEnd = (*scritr)->OnHit.end(), hookItr = (*scritr)->OnHit.begin(); for(; hookItr != hookItrEnd ; ++hookItr) { ((*scritr)->*(*hookItr))(); } + (*scritr)->_FinishScriptCall(); } } @@ -7260,10 +7266,12 @@ void Spell::CallScriptAfterHitHandlers() { for(std::list<SpellScript *>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end() ; ++scritr) { + (*scritr)->_PrepareScriptCall(SPELL_SCRIPT_HOOK_AFTER_HIT); std::list<SpellScript::HitHandler>::iterator hookItrEnd = (*scritr)->AfterHit.end(), hookItr = (*scritr)->AfterHit.begin(); for(; hookItr != hookItrEnd ; ++hookItr) { ((*scritr)->*(*hookItr))(); } + (*scritr)->_FinishScriptCall(); } } |
