fix(Core/Guilds): Implement guild bank gold limit matching client (#9666)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
This commit is contained in:
@@ -1628,6 +1628,12 @@ void Guild::HandleMemberDepositMoney(WorldSession* session, uint32 amount)
|
|||||||
// Call script after validation and before money transfer.
|
// Call script after validation and before money transfer.
|
||||||
sScriptMgr->OnGuildMemberDepositMoney(this, player, amount);
|
sScriptMgr->OnGuildMemberDepositMoney(this, player, amount);
|
||||||
|
|
||||||
|
if (m_bankMoney > GUILD_BANK_MONEY_LIMIT - amount)
|
||||||
|
{
|
||||||
|
SendCommandResult(session, GUILD_COMMAND_MOVE_ITEM, ERR_GUILD_BANK_FULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
|
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
|
||||||
_ModifyBankMoney(trans, amount, true);
|
_ModifyBankMoney(trans, amount, true);
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,8 @@ enum GuildMisc
|
|||||||
TAB_UNDEFINED = 0xFF,
|
TAB_UNDEFINED = 0xFF,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
constexpr uint64 GUILD_BANK_MONEY_LIMIT = UI64LIT(0x7FFFFFFFFFFFF);
|
||||||
|
|
||||||
enum GuildMemberData
|
enum GuildMemberData
|
||||||
{
|
{
|
||||||
GUILD_MEMBER_DATA_ZONEID,
|
GUILD_MEMBER_DATA_ZONEID,
|
||||||
|
|||||||
Reference in New Issue
Block a user