From 431301c1b29103e444b5c534c17543c87a99e481 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 7 Aug 2010 16:48:34 +0200 Subject: Added support for scripting achievement criteria checks using ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT (11) --HG-- branch : trunk --- src/server/game/Scripting/ScriptMgr.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/server/game/Scripting/ScriptMgr.cpp') diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index b43e601b433..dc405c53e53 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1053,6 +1053,15 @@ void ScriptMgr::OnShutdown() FOREACH_SCRIPT(WorldScript)->OnShutdown(); } +bool ScriptMgr::OnCriteriaCheck(AchievementCriteriaData const* data, Player* source, Unit* target) +{ + ASSERT(source); + // target can be NULL + + GET_SCRIPT_RET(AchievementCriteriaScript, data->ScriptId, tmpscript, false); + return tmpscript->OnCheck(source, target); +} + void SpellHandlerScript::RegisterSelf() { ScriptMgr::ScriptRegistry::AddScript(this); @@ -1158,6 +1167,11 @@ void TransportScript::RegisterSelf() ScriptMgr::ScriptRegistry::AddScript(this); } +void AchievementCriteriaScript::RegisterSelf() +{ + ScriptMgr::ScriptRegistry::AddScript(this); +} + template void ScriptMgr::ScriptRegistry::AddScript(TScript* const script) { @@ -1255,6 +1269,7 @@ template class ScriptMgr::ScriptRegistry; template class ScriptMgr::ScriptRegistry; template class ScriptMgr::ScriptRegistry; template class ScriptMgr::ScriptRegistry; +template class ScriptMgr::ScriptRegistry; // Undefine utility macros. #undef GET_SCRIPT_RET -- cgit v1.2.3