diff options
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/CharacterPackets.cpp | 14 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/CharacterPackets.h | 22 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSession.h | 3 |
3 files changed, 38 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index 14963c52ccd..06e729df184 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -40,3 +40,17 @@ WorldPacket const* WorldPackets::Character::LogoutResponse::Write() _worldPacket << uint8(Instant); return &_worldPacket; } + +void WorldPackets::Character::PlayedTimeClient::Read() +{ + _worldPacket >> TriggerScriptEvent; +} + +WorldPacket const* WorldPackets::Character::PlayedTime::Write() +{ + _worldPacket << uint32(TotalTime); + _worldPacket << uint32(LevelTime); + _worldPacket << uint8(TriggerScriptEvent); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index 15f76305232..eb12646aa8a 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -106,6 +106,28 @@ namespace WorldPackets void Read() override { } }; + + class PlayedTimeClient final : public ClientPacket + { + public: + PlayedTimeClient(WorldPacket&& packet) : ClientPacket(CMSG_PLAYED_TIME, std::move(packet)) { } + + void Read() override; + + bool TriggerScriptEvent = false; + }; + + class PlayedTime final : public ServerPacket + { + public: + PlayedTime() : ServerPacket(SMSG_PLAYED_TIME, 9) { } + + WorldPacket const* Write() override; + + uint32 TotalTime = 0; + uint32 LevelTime = 0; + bool TriggerScriptEvent = false; + }; } } diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 5b2348db8f3..e26b6b0f811 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -85,6 +85,7 @@ namespace WorldPackets class ShowingCloak; class ShowingHelm; class PlayerLogout; + class PlayedTimeClient; } namespace Chat @@ -586,7 +587,7 @@ class TC_GAME_API WorldSession void SendBarberShopResult(BarberShopResult result); // played time - void HandlePlayedTime(WorldPacket& recvPacket); + void HandlePlayedTime(WorldPackets::Character::PlayedTimeClient& packet); // new void HandleMoveUnRootAck(WorldPacket& recvPacket); |
