aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index 01648f25cff..eaed64db579 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -1046,9 +1046,12 @@ public:
ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_MONEY_GIVEN, handler->GetNameLink().c_str(), moneyToAdd);
if (moneyToAdd >= MAX_MONEY_AMOUNT)
- target->SetMoney(MAX_MONEY_AMOUNT);
- else
- target->ModifyMoney(moneyToAdd);
+ moneyToAdd = MAX_MONEY_AMOUNT;
+
+ if (targetMoney >= uint32(MAX_MONEY_AMOUNT) - moneyToAdd)
+ moneyToAdd -= targetMoney;
+
+ target->ModifyMoney(moneyToAdd);
}
sLog->outDebug(LOG_FILTER_GENERAL, handler->GetTrinityString(LANG_NEW_MONEY), targetMoney, moneyToAdd, target->GetMoney());