Core/PacketIO: Fix SMSG_QUERY_PAGE_TEXT_RESPONSE
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -203,6 +203,8 @@ WorldPacket const* WorldPackets::Query::QueryPageTextResponse::Write()
|
||||
_worldPacket << PageTextID;
|
||||
_worldPacket.WriteBit(Allow);
|
||||
|
||||
_worldPacket.FlushBits();
|
||||
|
||||
if (Allow)
|
||||
{
|
||||
_worldPacket << Info.ID;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user