diff options
author | Machiavelli <none@none> | 2009-08-28 01:50:29 +0200 |
---|---|---|
committer | Machiavelli <none@none> | 2009-08-28 01:50:29 +0200 |
commit | 1c45055482d5af9a2c7e374ae782b3a107c87d37 (patch) | |
tree | fbbe4305fb01c323f84ffe5ad4b3fa1ce9904a8c /src/game/Guild.cpp | |
parent | 56bdb0fc6b61afb495793868c58514a516ffe4b0 (diff) |
* Update to guild handlers. Fix bugs related to the wrong ranks being updated, the greyed out withdraw button when you were eligible to withdraw money, and the improper display of no withdrawals left for a tab when you have plenty.
NOTE: Guild masters might need to reconfigure their permissions per rank in order to resolve any permission issues.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Guild.cpp')
-rw-r--r-- | src/game/Guild.cpp | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/src/game/Guild.cpp b/src/game/Guild.cpp index 2b0c81f350d..8cc12918169 100644 --- a/src/game/Guild.cpp +++ b/src/game/Guild.cpp @@ -678,7 +678,7 @@ void Guild::SetRankName(uint32 rankId, std::string name_) // name now can be used for encoding to DB CharacterDatabase.escape_string(name_); - CharacterDatabase.PExecute("UPDATE guild_rank SET rname='%s' WHERE rid='%u' AND guildid='%u'", name_.c_str(), (rankId+1), m_Id); + CharacterDatabase.PExecute("UPDATE guild_rank SET rname='%s' WHERE rid='%u' AND guildid='%u'", name_.c_str(), rankId, m_Id); } void Guild::SetRankRights(uint32 rankId, uint32 rights) @@ -688,7 +688,7 @@ void Guild::SetRankRights(uint32 rankId, uint32 rights) m_Ranks[rankId].rights = rights; - CharacterDatabase.PExecute("UPDATE guild_rank SET rights='%u' WHERE rid='%u' AND guildid='%u'", rights, (rankId+1), m_Id); + CharacterDatabase.PExecute("UPDATE guild_rank SET rights='%u' WHERE rid='%u' AND guildid='%u'", rights, rankId, m_Id); } int32 Guild::GetRank(uint32 LowGuid) @@ -946,7 +946,7 @@ void Guild::LogGuildEvent(uint8 EventType, uint32 PlayerGuid1, uint32 PlayerGuid // Bank content related void Guild::DisplayGuildBankContent(WorldSession *session, uint8 TabId) { - WorldPacket data(SMSG_GUILD_BANK_LIST,1200); + WorldPacket data(SMSG_GUILD_BANK_LIST, 1300); GuildBankTab const* tab = GetBankTab(TabId); if (!tab) @@ -957,8 +957,7 @@ void Guild::DisplayGuildBankContent(WorldSession *session, uint8 TabId) data << uint64(GetGuildBankMoney()); data << uint8(TabId); - // remaining slots for today - data << uint32(GetMemberSlotWithdrawRem(session->GetPlayer()->GetGUIDLow(), TabId)); + data << uint32(GetMemberSlotWithdrawRem(session->GetPlayer()->GetGUIDLow(), TabId)); // remaining slots for today data << uint8(0); // Tell client this is a tab content packet data << uint8(GUILD_BANK_MAX_SLOTS); @@ -971,20 +970,6 @@ void Guild::DisplayGuildBankContent(WorldSession *session, uint8 TabId) sLog.outDebug("WORLD: Sent (SMSG_GUILD_BANK_LIST)"); } -void Guild::DisplayGuildBankMoneyUpdate() -{ - WorldPacket data(SMSG_GUILD_BANK_LIST, 8+1+4+1+1); - - data << uint64(GetGuildBankMoney()); - data << uint8(0); // TabId, default 0 - data << uint32(0); // slot withdrow, default 0 - data << uint8(0); // Tell client this is a tab content packet - data << uint8(0); // not send items - BroadcastPacket(&data); - - sLog.outDebug("WORLD: Sent (SMSG_GUILD_BANK_LIST)"); -} - void Guild::DisplayGuildBankContentUpdate(uint8 TabId, int32 slot1, int32 slot2) { GuildBankTab const* tab = GetBankTab(TabId); @@ -1093,9 +1078,9 @@ void Guild::DisplayGuildBankTabsInfo(WorldSession *session) data << uint64(GetGuildBankMoney()); data << uint8(0); // TabInfo packet must be for TabId 0 - data << uint32(0xFFFFFFFF); // bit 9 must be set for this packet to work + //data << uint32(0xFFFFFFFF); // bit 9 must be set for this packet to work + data << uint32(0); data << uint8(1); // Tell Client this is a TabInfo packet - data << uint8(m_PurchasedTabs); // here is the number of tabs for(int i = 0; i < m_PurchasedTabs; ++i) @@ -1400,7 +1385,7 @@ void Guild::SetBankMoneyPerDay(uint32 rankId, uint32 money) if (itr->second.RankId == rankId) itr->second.BankResetTimeMoney = 0; - CharacterDatabase.PExecute("UPDATE guild_rank SET BankMoneyPerDay='%u' WHERE rid='%u' AND guildid='%u'", money, (rankId+1), m_Id); + CharacterDatabase.PExecute("UPDATE guild_rank SET BankMoneyPerDay='%u' WHERE rid='%u' AND guildid='%u'", money, rankId, m_Id); CharacterDatabase.PExecute("UPDATE guild_member SET BankResetTimeMoney='0' WHERE guildid='%u' AND rank='%u'", m_Id, rankId); } |