diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Handlers/QueryHandler.cpp | 11 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/QueryPackets.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/QueryPackets.h | 14 |
3 files changed, 16 insertions, 11 deletions
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp index 7dad6bec4e7..9ed3fb48b28 100644 --- a/src/server/game/Handlers/QueryHandler.cpp +++ b/src/server/game/Handlers/QueryHandler.cpp @@ -238,6 +238,8 @@ void WorldSession::HandleQueryPageText(WorldPackets::Query::QueryPageText& packe { PageText const* pageText = sObjectMgr->GetPageText(pageID); + std::string text = pageText->Text; + WorldPackets::Query::QueryPageTextResponse response; response.PageTextID = pageID; @@ -248,15 +250,16 @@ void WorldSession::HandleQueryPageText(WorldPackets::Query::QueryPageText& packe } else { - response.Allow = true; - response.Info.ID = pageID; - LocaleConstant localeConstant = GetSessionDbLocaleIndex(); if (localeConstant >= LOCALE_enUS) if (PageTextLocale const* pageTextLocale = sObjectMgr->GetPageTextLocale(pageID)) - ObjectMgr::GetLocaleString(pageTextLocale->Text, localeConstant, response.Info.Text); + ObjectMgr::GetLocaleString(pageTextLocale->Text, localeConstant, text); + response.Allow = true; + response.Info.ID = pageID; response.Info.NextPageID = pageText->NextPageID; + response.Info.Text = text; + pageID = pageText->NextPageID; } diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp index 81bffdbde60..fd50b354c4c 100644 --- a/src/server/game/Server/Packets/QueryPackets.cpp +++ b/src/server/game/Server/Packets/QueryPackets.cpp @@ -203,6 +203,8 @@ WorldPacket const* WorldPackets::Query::QueryPageTextResponse::Write() _worldPacket << PageTextID; _worldPacket.WriteBit(Allow); + _worldPacket.FlushBits(); + if (Allow) { _worldPacket << Info.ID; diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h index 469665e9dda..2f69ae062dd 100644 --- a/src/server/game/Server/Packets/QueryPackets.h +++ b/src/server/game/Server/Packets/QueryPackets.h @@ -129,13 +129,6 @@ namespace WorldPackets uint32 PageTextID = 0; }; - struct PageTextInfo - { - uint32 ID = 0; - uint32 NextPageID = 0; - std::string Text; - }; - class QueryPageTextResponse final : public ServerPacket { public: @@ -143,6 +136,13 @@ namespace WorldPackets WorldPacket const* Write() override; + struct PageTextInfo + { + uint32 ID = 0; + uint32 NextPageID = 0; + std::string Text; + }; + bool Allow = false; PageTextInfo Info; uint32 PageTextID = 0; |
