diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-03-19 18:29:05 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-03-19 18:29:05 +0100 |
commit | 1cf8163c5823eadc5558ffcb82e530c37f64c8f6 (patch) | |
tree | 2febdd755c3a15ddca1c2f891c6423580a8a788b /src/server/game/Handlers/GuildHandler.cpp | |
parent | ca0c50bc450f5259acc6af0f4123690969b7e9cb (diff) |
Core/Guilds: Restore guild bank contents hack
Diffstat (limited to 'src/server/game/Handlers/GuildHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/GuildHandler.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Handlers/GuildHandler.cpp b/src/server/game/Handlers/GuildHandler.cpp index fb0968d8cd2..888ea924247 100644 --- a/src/server/game/Handlers/GuildHandler.cpp +++ b/src/server/game/Handlers/GuildHandler.cpp @@ -171,7 +171,7 @@ void WorldSession::HandleGuildRankOpcode(WorldPackets::Guild::GuildSetRankPermis GuildBankRightsAndSlotsVec rightsAndSlots(GUILD_BANK_MAX_TABS); for (uint8 tabId = 0; tabId < GUILD_BANK_MAX_TABS; ++tabId) - rightsAndSlots[tabId] = GuildBankRightsAndSlots(tabId, uint8(packet.TabFlags[tabId]), uint8(packet.TabWithdrawItemLimit[tabId])); + rightsAndSlots[tabId] = GuildBankRightsAndSlots(tabId, uint8(packet.TabFlags[tabId]), uint32(packet.TabWithdrawItemLimit[tabId])); TC_LOG_DEBUG("guild", "CMSG_GUILD_RANK [%s]: Rank: %s (%u)", GetPlayerInfo().c_str(), packet.RankName.c_str(), packet.RankID); @@ -275,7 +275,10 @@ void WorldSession::HandleGuildBankQueryTab(WorldPackets::Guild::GuildBankQueryTa if (GetPlayer()->GetGameObjectIfCanInteractWith(packet.Banker, GAMEOBJECT_TYPE_GUILD_BANK)) if (Guild* guild = GetPlayer()->GetGuild()) - guild->SendBankTabData(this, packet.Tab, packet.FullUpdate); + guild->SendBankTabData(this, packet.Tab, true /*packet.FullUpdate*/); + // HACK: client doesn't query entire tab content if it had received SMSG_GUILD_BANK_LIST in this session + // but we broadcast bank updates to entire guild when *ANYONE* changes anything, incorrectly initializing clients + // tab content with only data for that change } void WorldSession::HandleGuildBankDepositMoney(WorldPackets::Guild::GuildBankDepositMoney& packet) |