aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Guilds/Guild.cpp
diff options
context:
space:
mode:
authorMikhail Redko <ovitnez@gmail.com>2021-10-01 17:33:21 +0300
committerShauren <shauren.trinity@gmail.com>2022-03-19 16:55:55 +0100
commit72a4fccaab4e83801c33c533cbcfdba1c6c43022 (patch)
tree5703361b82071bd33b551536450a91d83193cf02 /src/server/game/Guilds/Guild.cpp
parente33b3e4a81c64fc7c9918c2c15f66f1f259d1fde (diff)
Core/Misc: Improvement item durability repair logic. (#26911)
* Core/Misc: Improvement item durability repair logic. * Move item repair cost calculation logic from Player::DurabilityRepair to Item::CalculateDurabilityRepairCost * Make item repair cost calculation more congruent with client logic (std::round) * Do not repair items if player does not have enough money to pay for the repair of all items at once * Withdrawing money from guild bank only once to avoid spam in the guild bank log and reduce number of transactions in the database Closes #25937 * Fix build * Remove unnecessary scope * Fix visual studio warning and one more check for reliability (cherry picked from commit 3cef126d0a449219f154a6498d26831f86220dfa)
Diffstat (limited to 'src/server/game/Guilds/Guild.cpp')
-rw-r--r--src/server/game/Guilds/Guild.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 0f79f57358c..83c8894fc82 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -2884,6 +2884,15 @@ bool Guild::IsMember(ObjectGuid guid) const
return m_members.find(guid) != m_members.end();
}
+uint64 Guild::GetMemberAvailableMoneyForRepairItems(ObjectGuid guid) const
+{
+ Member const* member = GetMember(guid);
+ if (!member)
+ return 0;
+
+ return std::min(m_bankMoney, static_cast<uint64>(_GetMemberRemainingMoney(*member)));
+}
+
// Bank (items move)
void Guild::SwapItems(Player* player, uint8 tabId, uint8 slotId, uint8 destTabId, uint8 destSlotId, uint32 splitedAmount)
{