diff options
author | roc13x <roc13x@gmail.com> | 2017-08-17 02:00:42 -0600 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-08-20 18:10:11 +0200 |
commit | e04f75bd962006662bc0f77f0034f061605fb1c6 (patch) | |
tree | 5e8d1bf38ab41319634e104bdb08dce56d16ac9d /src/server/game/Guilds/Guild.h | |
parent | 26d63a276e51db88e293e61b190ca3789fea13db (diff) |
Core/Players: Several gold handling improvements
* Update gold limit to 10 million
* Updated auction house gold handling to 64-bit
* Fixed some vendor checks for when BuyCount > 1
* Tweaked some checks for available gold space
* Updated guild bank gold handling to 64-bit and fix withdraw limits
* Enforce gold limit on guild bank
* Check correct rank right when withdrawing from bank
* Other small changes to update money to 64-bit
Closes #19195
Closes #20152
Diffstat (limited to 'src/server/game/Guilds/Guild.h')
-rw-r--r-- | src/server/game/Guilds/Guild.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h index be20db3b203..1bb762440e3 100644 --- a/src/server/game/Guilds/Guild.h +++ b/src/server/game/Guilds/Guild.h @@ -379,8 +379,10 @@ private: inline bool IsRankNotLower(uint8 rankId) const { return m_rankId <= rankId; } inline bool IsSamePlayer(ObjectGuid guid) const { return m_guid == guid; } - void UpdateBankWithdrawValue(SQLTransaction& trans, uint8 tabId, uint32 amount); - int32 GetBankWithdrawValue(uint8 tabId) const; + void UpdateBankTabWithdrawValue(SQLTransaction& trans, uint8 tabId, uint32 amount); + void UpdateBankMoneyWithdrawValue(SQLTransaction& trans, uint64 amount); + uint32 GetBankTabWithdrawValue(uint8 tabId) const { return m_bankWithdraw[tabId]; }; + uint64 GetBankMoneyWithdrawValue() const { return m_bankWithdrawMoney; }; void ResetValues(bool weekly = false); Player* FindPlayer() const; @@ -405,7 +407,8 @@ private: std::set<uint32> m_trackedCriteriaIds; - int32 m_bankWithdraw[GUILD_BANK_MAX_TABS + 1]; + uint32 m_bankWithdraw[GUILD_BANK_MAX_TABS]; + uint64 m_bankWithdrawMoney; uint32 m_achievementPoints; uint64 m_totalActivity; uint64 m_weekActivity; @@ -560,8 +563,7 @@ private: RankInfo(): m_guildId(UI64LIT(0)), m_rankId(GUILD_RANK_NONE), m_rights(GR_RIGHT_NONE), m_bankMoneyPerDay(0) { } RankInfo(ObjectGuid::LowType guildId) : m_guildId(guildId), m_rankId(GUILD_RANK_NONE), m_rights(GR_RIGHT_NONE), m_bankMoneyPerDay(0) { } RankInfo(ObjectGuid::LowType guildId, uint8 rankId, std::string const& name, uint32 rights, uint32 money) : - m_guildId(guildId), m_rankId(rankId), m_name(name), m_rights(rights), - m_bankMoneyPerDay(rankId != GR_GUILDMASTER ? money : GUILD_WITHDRAW_MONEY_UNLIMITED) { } + m_guildId(guildId), m_rankId(rankId), m_name(name), m_rights(rights), m_bankMoneyPerDay(money) { } void LoadFromDB(Field* fields); void SaveToDB(SQLTransaction& trans) const; @@ -574,7 +576,10 @@ private: uint32 GetRights() const { return m_rights; } void SetRights(uint32 rights); - int32 GetBankMoneyPerDay() const { return m_bankMoneyPerDay; } + uint32 GetBankMoneyPerDay() const + { + return m_rankId != GR_GUILDMASTER ? m_bankMoneyPerDay : GUILD_WITHDRAW_MONEY_UNLIMITED; + } void SetBankMoneyPerDay(uint32 money); @@ -929,12 +934,12 @@ private: void _SetRankBankTabRightsAndSlots(uint8 rankId, GuildBankRightsAndSlots rightsAndSlots, bool saveToDB = true); int8 _GetRankBankTabRights(uint8 rankId, uint8 tabId) const; uint32 _GetRankRights(uint8 rankId) const; - int32 _GetRankBankMoneyPerDay(uint8 rankId) const; + uint32 _GetRankBankMoneyPerDay(uint8 rankId) const; int32 _GetRankBankTabSlotsPerDay(uint8 rankId, uint8 tabId) const; std::string _GetRankName(uint8 rankId) const; int32 _GetMemberRemainingSlots(Member const* member, uint8 tabId) const; - int32 _GetMemberRemainingMoney(Member const* member) const; + int64 _GetMemberRemainingMoney(Member const* member) const; void _UpdateMemberWithdrawSlots(SQLTransaction& trans, ObjectGuid guid, uint8 tabId); bool _MemberHasTabRights(ObjectGuid guid, uint8 tabId, int32 rights) const; |