Core/Scripting: Implemented Conversation scripts (#20758)

This commit is contained in:
funjoker
2017-11-18 12:40:56 +01:00
committed by joschiwald
parent 2fc628ae8d
commit 465012978f
10 changed files with 78 additions and 2 deletions

View File

@@ -33,6 +33,7 @@ class Battleground;
class BattlegroundMap;
class Channel;
class ChatCommand;
class Conversation;
class Creature;
class CreatureAI;
class DynamicObject;
@@ -859,6 +860,17 @@ class TC_GAME_API AreaTriggerEntityScript : public ScriptObject
virtual AreaTriggerAI* GetAI(AreaTrigger* /*at*/) const { return nullptr; }
};
class TC_GAME_API ConversationScript : public ScriptObject
{
protected:
ConversationScript(char const* name);
public:
// Called when Conversation is created but not added to Map yet.
virtual void OnConversationCreate(Conversation* /*conversation*/, Unit* /*creator*/) { }
};
class TC_GAME_API SceneScript : public ScriptObject
{
protected:
@@ -1161,7 +1173,12 @@ class TC_GAME_API ScriptMgr
AreaTriggerAI* GetAreaTriggerAI(AreaTrigger* areaTrigger);
public: /* ConversationScript */
void OnConversationCreate(Conversation* conversation, Unit* creator);
public: /* SceneScript */
void OnSceneStart(Player* player, uint32 sceneInstanceID, SceneTemplate const* sceneTemplate);
void OnSceneTrigger(Player* player, uint32 sceneInstanceID, SceneTemplate const* sceneTemplate, std::string const& triggerName);
void OnSceneCancel(Player* player, uint32 sceneInstanceID, SceneTemplate const* sceneTemplate);