diff options
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 12 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 13 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 20 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 4 |
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); |