aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/QueryHandler.cpp11
-rw-r--r--src/server/game/Server/Packets/QueryPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/QueryPackets.h14
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;