aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2012-09-09 15:57:40 +0300
committerNay <dnpd.dd@gmail.com>2012-09-09 22:43:45 +0100
commitf508f7dbc52f3e41861ef408a440224307a65f61 (patch)
treedd3efabe1fbda69b0f46b2d8fb93e836c9dc89e8
parent9f841da63d44206386f5190689c4f5ee035df41a (diff)
Core/Guilds: Corrected CMSG_GUILD_NEWS_UPDATE_STICKY structure
Signed-off-by: Nay <dnpd.dd@gmail.com>
-rwxr-xr-xsrc/server/game/Handlers/GuildHandler.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/server/game/Handlers/GuildHandler.cpp b/src/server/game/Handlers/GuildHandler.cpp
index f5f69b18b62..bbd21176511 100755
--- a/src/server/game/Handlers/GuildHandler.cpp
+++ b/src/server/game/Handlers/GuildHandler.cpp
@@ -824,16 +824,16 @@ void WorldSession::HandleGuildQueryNewsOpcode(WorldPacket& recvPacket)
void WorldSession::HandleGuildNewsUpdateStickyOpcode(WorldPacket& recvPacket)
{
uint32 newId;
- bool unk;
+ bool sticky;
ObjectGuid guid;
- recvPacket >> newId;
+ recvPacket >> id;
- unk = recvPacket.ReadBit();
guid[2] = recvPacket.ReadBit();
guid[4] = recvPacket.ReadBit();
guid[3] = recvPacket.ReadBit();
guid[0] = recvPacket.ReadBit();
+ sticky = recvPacket.ReadBit();
guid[6] = recvPacket.ReadBit();
guid[7] = recvPacket.ReadBit();
guid[1] = recvPacket.ReadBit();
@@ -850,11 +850,15 @@ void WorldSession::HandleGuildNewsUpdateStickyOpcode(WorldPacket& recvPacket)
if (Guild* guild = sGuildMgr->GetGuildById(_player->GetGuildId()))
{
- if (GuildNewsEntry* guildNew = guild->GetNewsLog().GetNewById(newId))
+ if (GuildNewsEntry* newsEntry = guild->GetNewsLog().GetNewById(id))
{
- guildNew->Flags ^= 1;
+ if (sticky)
+ newsEntry->Flags |= 1;
+ else
+ newsEntry->Flags &= ~1;
+
WorldPacket data;
- guild->GetNewsLog().BuildNewsData(newId, *guildNew, data);
+ guild->GetNewsLog().BuildNewsData(id, *newsEntry, data);
SendPacket(&data);
}
}