From 8e9906b4ee29c5c08a43ebf6e14067e84d84bbb7 Mon Sep 17 00:00:00 2001 From: Revision Date: Tue, 16 Aug 2022 02:32:35 +0200 Subject: [PATCH] Loot Changed the looted money to not produce the wrong amount --- src/mod_guildfunds.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/mod_guildfunds.cpp b/src/mod_guildfunds.cpp index bf92e1e..155e91a 100644 --- a/src/mod_guildfunds.cpp +++ b/src/mod_guildfunds.cpp @@ -40,9 +40,12 @@ public: } } - uint32 money = (((gold / membersInRange) / 100) * gfLootMultiplier); + if (gfLootMultiplier < 1) + return; - if (money < 1 || gfLootMultiplier < 1) + uint32 money = (gold / membersInRange) * gfLootMultiplier / 100; + + if (money < 1) return; for (GroupReference* groupRef = group->GetFirstMember(); groupRef != nullptr; groupRef = groupRef->next()) @@ -67,7 +70,7 @@ public: { if (Guild* guild = player->GetGuild()) { - uint32 money = ((gold / 100) * gfLootMultiplier); + uint32 money = gold * gfLootMultiplier / 100; if (money < 1 || gfLootMultiplier < 1) return; @@ -109,10 +112,13 @@ public: { if (Guild* guild = player->GetGuild()) { - uint32 playerLevel = player->getLevel(); - uint32 money = ((quest->GetRewOrReqMoney(playerLevel) / 100) * gfQuestMultiplier); + if (gfQuestMultiplier < 1) + return; - if (money < 1 || gfQuestMultiplier < 1) + uint32 playerLevel = player->getLevel(); + uint32 money = quest->GetRewOrReqMoney(playerLevel) * gfQuestMultiplier / 100; + + if (money < 1) return; guild->HandleMemberDepositMoney(player->GetSession(), money);