From 58313fc33092236b4eedbbfb25e10ab42bec6b0e Mon Sep 17 00:00:00 2001 From: ForesterDev <11771800+ForesterDev@users.noreply.github.com> Date: Sat, 8 Feb 2020 23:37:34 +0400 Subject: Core/PacketIO: update cinematic packets to new system. Implement CMSG_OPENING_CINEMATIC and CMSG_COMPLETE_MOVIE (#24135) * Server/PacketIO: Enable SMSG_TRIGGER_CINEMATIC & SMSG_TRIGGER_MOVIE. * Update SMSG_TRIGGER_CINEMATIC & SMSG_TRIGGER_MOVIE to new Format. Signed-off-by: AriDEV # Conflicts: # src/server/game/Entities/Player/Player.cpp # src/server/game/Server/Packets/MiscPackets.cpp # src/server/game/Server/Packets/MiscPackets.h # src/server/game/Server/Protocol/Opcodes.cpp * Core/Scripts: Add server-side script support for movie completion (#18308) # Conflicts: # src/server/game/Entities/Player/Player.h # src/server/game/Handlers/MiscHandler.cpp # src/server/game/Scripting/ScriptMgr.h # src/server/game/Server/Packets/MiscPackets.h # src/server/game/Server/Protocol/Opcodes.cpp # src/server/game/Server/WorldSession.h * Core/PacketIO: CMSG_COMPLETE_CINEMATIC, CMSG_NEXT_CINEMATIC_CAMERA and enabled some opcodes # Conflicts: # src/server/game/Server/Protocol/Opcodes.cpp # src/server/game/Server/WorldSession.h * Core/Protocol: Implemented CMSG_OPENING_CINEMATIC # Conflicts: # src/server/game/Handlers/GuildHandler.cpp # src/server/game/Server/Protocol/Opcodes.cpp # src/server/game/Server/WorldSession.h * fix build Co-authored-by: Krudor Co-authored-by: MitchesD Co-authored-by: Kaelima --- src/server/game/Scripting/ScriptMgr.cpp | 5 +++++ src/server/game/Scripting/ScriptMgr.h | 4 ++++ 2 files changed, 9 insertions(+) (limited to 'src/server/game/Scripting') diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 18d1f459104..185be99ae00 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1965,6 +1965,11 @@ void ScriptMgr::OnQuestObjectiveProgress(Player* player, Quest const* quest, uin FOREACH_SCRIPT(PlayerScript)->OnQuestObjectiveProgress(player, quest, objectiveIndex, progress); } +void ScriptMgr::OnMovieComplete(Player* player, uint32 movieId) +{ + FOREACH_SCRIPT(PlayerScript)->OnMovieComplete(player, movieId); +} + // Account void ScriptMgr::OnAccountLogin(uint32 accountId) { diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index d540c821cea..8f5199b860c 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -710,6 +710,9 @@ class TC_GAME_API PlayerScript : public ScriptObject // Called after a player's quest status has been changed virtual void OnQuestStatusChange(Player* /*player*/, uint32 /*questId*/) { } + // Called when a player completes a movie + virtual void OnMovieComplete(Player* /*player*/, uint32 /*movieId*/) { } + // Called when a player presses release when he died virtual void OnPlayerRepop(Player* /*player*/) { } }; @@ -1021,6 +1024,7 @@ class TC_GAME_API ScriptMgr void OnPlayerUpdateZone(Player* player, uint32 newZone, uint32 newArea); void OnQuestObjectiveProgress(Player* player, Quest const* quest, uint32 objectiveIndex, uint16 progress); void OnQuestStatusChange(Player* player, uint32 questId); + void OnMovieComplete(Player* player, uint32 movieId); void OnPlayerRepop(Player* player); public: /* AccountScript */ -- cgit v1.2.3