Core/Conversation: Implemented OnConversationStart and OnConversationUpdate hooks

Port From (https://github.com/TrinityCore/TrinityCore/commit/7f14b64e093de23abb322b843b92260d9fe51123)
This commit is contained in:
hondacrx
2023-07-01 08:53:17 -04:00
parent 219b1e2b36
commit 6adc16c496
3 changed files with 23 additions and 0 deletions
+6
View File
@@ -779,8 +779,14 @@ namespace Game.Scripting
// Called when Conversation is created but not added to Map yet.
public virtual void OnConversationCreate(Conversation conversation, Unit creator) { }
// Called when Conversation is started
public virtual void OnConversationStart(Conversation conversation) { }
// Called when player sends CMSG_CONVERSATION_LINE_STARTED with valid conversation guid
public virtual void OnConversationLineStarted(Conversation conversation, uint lineId, Player sender) { }
// Called for each update tick
public virtual void OnConversationUpdate(Conversation conversation, uint diff) { }
}
public class SceneScript : ScriptObject
+14
View File
@@ -1028,6 +1028,13 @@ namespace Game.Scripting
RunScript<ConversationScript>(script => script.OnConversationCreate(conversation, creator), conversation.GetScriptId());
}
public void OnConversationStart(Conversation conversation)
{
Cypher.Assert(conversation != null);
RunScript<ConversationScript>(script => script.OnConversationStart(conversation), conversation.GetScriptId());
}
public void OnConversationLineStarted(Conversation conversation, uint lineId, Player sender)
{
Cypher.Assert(conversation != null);
@@ -1036,6 +1043,13 @@ namespace Game.Scripting
RunScript<ConversationScript>(script => script.OnConversationLineStarted(conversation, lineId, sender), conversation.GetScriptId());
}
public void OnConversationUpdate(Conversation conversation, uint diff)
{
Cypher.Assert(conversation != null);
RunScript<ConversationScript>(script => script.OnConversationUpdate(conversation, diff), conversation.GetScriptId());
}
//SceneScript
public void OnSceneStart(Player player, uint sceneInstanceID, SceneTemplate sceneTemplate)
{