aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp12
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp13
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h20
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp4
4 files changed, 41 insertions, 8 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index fadf944b8b4..8ea0a2c0251 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -6468,16 +6468,16 @@ void Player::SendDirectMessage(WorldPacket const* data) const
void Player::SendCinematicStart(uint32 CinematicSequenceId)
{
- WorldPacket data(SMSG_TRIGGER_CINEMATIC, 4);
- data << uint32(CinematicSequenceId);
- SendDirectMessage(&data);
+ WorldPackets::Misc::TriggerCinematic packet;
+ packet.CinematicID = CinematicSequenceId;
+ SendDirectMessage(packet.Write());
}
void Player::SendMovieStart(uint32 MovieId)
{
- WorldPacket data(SMSG_TRIGGER_MOVIE, 4);
- data << uint32(MovieId);
- SendDirectMessage(&data);
+ WorldPackets::Misc::TriggerMovie packet;
+ packet.MovieID = MovieId;
+ SendDirectMessage(packet.Write());
}
void Player::CheckAreaExploreAndOutdoor()
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index 31d8d2d54a1..82e36edb1f0 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -124,6 +124,19 @@ WorldPacket const* WorldPackets::Misc::UITime::Write()
return &_worldPacket;
}
+WorldPacket const* WorldPackets::Misc::TriggerMovie::Write()
+{
+ _worldPacket << uint32(MovieID);
+
+ return &_worldPacket;
+}
+WorldPacket const* WorldPackets::Misc::TriggerCinematic::Write()
+{
+ _worldPacket << uint32(CinematicID);
+
+ return &_worldPacket;
+}
+
WorldPacket const* WorldPackets::Misc::TutorialFlags::Write()
{
_worldPacket.append(TutorialData, MAX_ACCOUNT_TUTORIAL_VALUES);
diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h
index 706cdb491a2..f42d560f36d 100644
--- a/src/server/game/Server/Packets/MiscPackets.h
+++ b/src/server/game/Server/Packets/MiscPackets.h
@@ -140,6 +140,26 @@ namespace WorldPackets
uint32 SequenceIndex = 0; // Same index as in request
};
+ class TriggerCinematic final : public ServerPacket
+ {
+ public:
+ TriggerCinematic() : ServerPacket(SMSG_TRIGGER_CINEMATIC, 4) { }
+
+ WorldPacket const* Write() override;
+
+ uint32 CinematicID = 0;
+ };
+
+ class TriggerMovie final : public ServerPacket
+ {
+ public:
+ TriggerMovie() : ServerPacket(SMSG_TRIGGER_MOVIE, 4) { }
+
+ WorldPacket const* Write() override;
+
+ uint32 MovieID = 0;
+ };
+
class UITime final : public ServerPacket
{
public:
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index bf0b9eec068..4c1bd983384 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1414,8 +1414,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_ABORTED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_PENDING, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_CINEMATIC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_MOVIE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_CINEMATIC, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_MOVIE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TURN_IN_PETITION_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TUTORIAL_FLAGS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNDELETE_CHARACTER_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);