From da3895b2158ab039d6aba9a6c5a5700aefb55495 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Fri, 7 Jan 2022 12:48:25 -0500 Subject: [PATCH] Core/Guilds: Implement guild bank gold limit matching client Port From (https://github.com/TrinityCore/TrinityCore/commit/def97385ccb3e81ae8e5661479118d12cf0372de) --- Source/Framework/Constants/GuildConst.cs | 1 + Source/Game/Guilds/Guild.cs | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/Source/Framework/Constants/GuildConst.cs b/Source/Framework/Constants/GuildConst.cs index 755c516d3..541fab2d3 100644 --- a/Source/Framework/Constants/GuildConst.cs +++ b/Source/Framework/Constants/GuildConst.cs @@ -25,6 +25,7 @@ namespace Framework.Constants public const int MaxBankSlots = 98; public const int BankMoneyLogsTab = 100; + public const ulong MoneyLimit = 100000000000; public const uint WithdrawMoneyUnlimited = 0xFFFFFFFF; public const int WithdrawSlotUnlimited = -1; public const uint EventLogGuidUndefined = 0xFFFFFFFF; diff --git a/Source/Game/Guilds/Guild.cs b/Source/Game/Guilds/Guild.cs index 4247d84c4..b5eba2331 100644 --- a/Source/Game/Guilds/Guild.cs +++ b/Source/Game/Guilds/Guild.cs @@ -824,6 +824,13 @@ namespace Game.Guilds // Call script after validation and before money transfer. Global.ScriptMgr.OnGuildMemberDepositMoney(this, player, amount); + if (m_bankMoney > GuildConst.MoneyLimit - amount) + { + if (!cashFlow) + SendCommandResult(session, GuildCommandType.MoveItem, GuildCommandError.TooMuchMoney); + return; + } + SQLTransaction trans = new(); _ModifyBankMoney(trans, amount, true); if (!cashFlow)