diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-03-18 00:02:21 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-03-18 00:02:21 +0100 |
commit | 967f21a4b40d23d6501006e4fb7bc0608a1d86d1 (patch) | |
tree | 37bb53ef3ff1617fd2ec5d73421ad2a513c9d953 /src | |
parent | 274fe25e2ea6e833916bff37788cddbb720bd23d (diff) |
Core/Guilds: Implement guild bank gold limit matching client
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Guilds/Guild.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Guilds/Guild.h | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 2e991470fb7..2a48c73f59d 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -1807,6 +1807,12 @@ void Guild::HandleMemberDepositMoney(WorldSession* session, uint32 amount) // Call script after validation and before money transfer. sScriptMgr->OnGuildMemberDepositMoney(this, player, amount); + if (m_bankMoney > GUILD_BANK_MONEY_LIMIT - amount) + { + SendCommandResult(session, GUILD_COMMAND_MOVE_ITEM, ERR_GUILD_BANK_FULL); + return; + } + SQLTransaction trans = CharacterDatabase.BeginTransaction(); _ModifyBankMoney(trans, amount, true); diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h index 64841963550..2b98241da99 100644 --- a/src/server/game/Guilds/Guild.h +++ b/src/server/game/Guilds/Guild.h @@ -45,6 +45,8 @@ enum GuildMisc TAB_UNDEFINED = 0xFF, }; +constexpr uint64 GUILD_BANK_MONEY_LIMIT = UI64LIT(0x7FFFFFFFFFFFF); + enum GuildMemberData { GUILD_MEMBER_DATA_ZONEID, |