diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 552db8c6ffcf8..0f98fd2f81947 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -1432,9 +1432,9 @@ void WorldSession::HandleWorldStateUITimerUpdate(WorldPacket& /*recvData*/) // empty opcode TC_LOG_DEBUG("network", "WORLD: CMSG_WORLD_STATE_UI_TIMER_UPDATE"); - WorldPacket data(SMSG_WORLD_STATE_UI_TIMER_UPDATE, 4); - data << uint32(GameTime::GetGameTime()); - SendPacket(&data); + WorldPackets::Misc::UITime response; + response.Time = GameTime::GetGameTime(); + SendPacket(response.Write()); } void WorldSession::HandleReadyForAccountDataTimes(WorldPacket& /*recvData*/) diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 32cb5484afd34..63c90f0f93480 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -115,6 +115,13 @@ WorldPacket const* WorldPackets::Misc::OverrideLight::Write() return &_worldPacket; } +WorldPacket const* WorldPackets::Misc::UITime::Write() +{ + _worldPacket << uint32(Time); + + return &_worldPacket; +} + void WorldPackets::Misc::WorldTeleport::Read() { _worldPacket >> Time; diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index 19c20abb2a072..7532b899d5b1e 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -200,6 +200,16 @@ namespace WorldPackets int32 OverrideLightID = 0; }; + class UITime final : public ServerPacket + { + public: + UITime() : ServerPacket(SMSG_WORLD_STATE_UI_TIMER_UPDATE, 4) { } + + WorldPacket const* Write() override; + + uint32 Time = 0; + }; + class WorldTeleport final : public ClientPacket { public: