Core/PacketIO: Fix SMSG_QUERY_PAGE_TEXT_RESPONSE

This commit is contained in:
Vincent-Michael
2015-04-11 19:36:46 +02:00
parent ff101cd100
commit 9e2e8a7eeb
3 changed files with 16 additions and 11 deletions
+7 -4
View File
@@ -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;