diff options
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 10 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.cpp | 8 |
3 files changed, 22 insertions, 4 deletions
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 601aad71807..d223b73e310 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -41,3 +41,11 @@ WorldPacket const* WorldPackets::Misc::UITime::Write() return &_worldPacket; } + +WorldPacket const* WorldPackets::Misc::TutorialFlags::Write() +{ + for (uint8 i = 0; i < MAX_ACCOUNT_TUTORIAL_VALUES; ++i) + _worldPacket << TutorialData[i]; + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index 0681b7d26c6..520b9acafc1 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -64,6 +64,16 @@ namespace WorldPackets uint32 Time = 0; }; + + class TutorialFlags : public ServerPacket + { + public: + TutorialFlags() : ServerPacket(SMSG_WORLD_STATE_UI_TIMER_UPDATE, 32) { } + + WorldPacket const* Write() override; + + uint32 TutorialData[8]; + }; } } diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 4dcd2430642..18fe28344b0 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -50,6 +50,7 @@ #include "BattlenetServerManager.h" #include "CharacterPackets.h" #include "ClientConfigPackets.h" +#include "MiscPackets.h" namespace { @@ -767,10 +768,9 @@ void WorldSession::LoadTutorialsData() void WorldSession::SendTutorialsData() { - WorldPacket data(SMSG_TUTORIAL_FLAGS, 4 * MAX_ACCOUNT_TUTORIAL_VALUES); - for (uint8 i = 0; i < MAX_ACCOUNT_TUTORIAL_VALUES; ++i) - data << m_Tutorials[i]; - SendPacket(&data); + WorldPackets::Misc::TutorialFlags packet; + memcpy(packet.TutorialData, m_Tutorials, sizeof(packet.TutorialData)); + SendPacket(packet.Write()); } void WorldSession::SaveTutorialsData(SQLTransaction &trans) |