aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.cpp')
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index 3eed0132d3c..2e7bd6b52da 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -20,6 +20,7 @@
#include "AreaTrigger.h"
#include "AreaTriggerAI.h"
#include "Chat.h"
+#include "Conversation.h"
#include "Creature.h"
#include "CreatureAI.h"
#include "CreatureAIImpl.h"
@@ -110,6 +111,10 @@ struct is_script_database_bound<AreaTriggerEntityScript>
: std::true_type { };
template<>
+struct is_script_database_bound<ConversationScript>
+ : std::true_type { };
+
+template<>
struct is_script_database_bound<SceneScript>
: std::true_type { };
@@ -328,7 +333,6 @@ class ScriptRegistrySwapHooks
{
};
-/// This hook is responsible for swapping OutdoorPvP's
template<typename Base>
class UnsupportedScriptRegistrySwapHooks
: public ScriptRegistrySwapHookBase
@@ -2410,6 +2414,15 @@ void ScriptMgr::ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& dama
FOREACH_SCRIPT(PlayerScript)->ModifySpellDamageTaken(target, attacker, damage);
}
+// Conversation
+void ScriptMgr::OnConversationCreate(Conversation* conversation, Unit* creator)
+{
+ ASSERT(conversation);
+
+ GET_SCRIPT(ConversationScript, conversation->GetScriptId(), tmpscript);
+ tmpscript->OnConversationCreate(conversation, creator);
+}
+
// Scene
void ScriptMgr::OnSceneStart(Player* player, uint32 sceneInstanceID, SceneTemplate const* sceneTemplate)
{
@@ -2644,6 +2657,12 @@ AreaTriggerEntityScript::AreaTriggerEntityScript(const char* name)
ScriptRegistry<AreaTriggerEntityScript>::Instance()->AddScript(this);
}
+ConversationScript::ConversationScript(char const* name)
+ : ScriptObject(name)
+{
+ ScriptRegistry<ConversationScript>::Instance()->AddScript(this);
+}
+
// Specialize for each script type class like so:
template class TC_GAME_API ScriptRegistry<SpellScriptLoader>;
template class TC_GAME_API ScriptRegistry<ServerScript>;
@@ -2672,4 +2691,5 @@ template class TC_GAME_API ScriptRegistry<GroupScript>;
template class TC_GAME_API ScriptRegistry<UnitScript>;
template class TC_GAME_API ScriptRegistry<AccountScript>;
template class TC_GAME_API ScriptRegistry<AreaTriggerEntityScript>;
+template class TC_GAME_API ScriptRegistry<ConversationScript>;
template class TC_GAME_API ScriptRegistry<SceneScript>;