aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
authorQAston <none@none>2010-10-08 21:33:44 +0200
committerQAston <none@none>2010-10-08 21:33:44 +0200
commit1760e42e2caa99d3de0038d1b52f64a1daeb665a (patch)
tree9d95c4a73c675b3fb59724a1b0a908e5c9c3a490 /src/server/game/Spells/Spell.cpp
parente5e53498cede475ae0d80623e89c4a3cbec39b62 (diff)
Core/ScriptSystem: Add compile time type check of function assigned to hooks - prevents incorrect function calls. Since this rev you have to put PrepareSpellScript(<yourscriptclassnamehere>) at the beginning of every spell script. Yes, i know it's unhandy, but unfortunately C++ preprocessor is very limited, so you have to do that extra work each time you write a script:(.
--HG-- branch : trunk
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index b7c8049e1e4..6e4ead80a2e 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -7242,7 +7242,7 @@ void Spell::CallScriptBeforeHitHandlers()
std::list<SpellScript::HitHandler>::iterator hookItrEnd = (*scritr)->BeforeHit.end(), hookItr = (*scritr)->BeforeHit.begin();
for(; hookItr != hookItrEnd ; ++hookItr)
{
- ((*scritr)->*(*hookItr))();
+ (*hookItr).Call(*scritr);
}
(*scritr)->_FinishScriptCall();
}
@@ -7256,7 +7256,7 @@ void Spell::CallScriptOnHitHandlers()
std::list<SpellScript::HitHandler>::iterator hookItrEnd = (*scritr)->OnHit.end(), hookItr = (*scritr)->OnHit.begin();
for(; hookItr != hookItrEnd ; ++hookItr)
{
- ((*scritr)->*(*hookItr))();
+ (*hookItr).Call(*scritr);
}
(*scritr)->_FinishScriptCall();
}
@@ -7270,7 +7270,7 @@ void Spell::CallScriptAfterHitHandlers()
std::list<SpellScript::HitHandler>::iterator hookItrEnd = (*scritr)->AfterHit.end(), hookItr = (*scritr)->AfterHit.begin();
for(; hookItr != hookItrEnd ; ++hookItr)
{
- ((*scritr)->*(*hookItr))();
+ (*hookItr).Call(*scritr);
}
(*scritr)->_FinishScriptCall();
}