diff options
author | cyberbrest <cyberbrest@cyberbrest.com> | 2012-09-02 23:19:19 +0300 |
---|---|---|
committer | cyberbrest <cyberbrest@cyberbrest.com> | 2012-09-03 22:54:45 +0300 |
commit | 9025a865364688fddc508724682ca88a78db8e33 (patch) | |
tree | ab526ca32ba56b1251fc328f8aefaed03c6729fe | |
parent | 25cc49b489c0e58fa621c65f187740f871598744 (diff) |
[Core/Currency] no needed delta calculations + fix crashes because of it.
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 180f43109f2..025f883eb20 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -7374,23 +7374,19 @@ void Player::ModifyCurrency(uint32 id, int32 count, bool printLog/* = true*/) if (newWeekCount < 0) newWeekCount = 0; - if (currency->TotalCap && int32(currency->TotalCap) < newTotalCount) - { - int32 delta = newTotalCount - int32(currency->TotalCap); - newTotalCount = int32(currency->TotalCap); - newWeekCount -= delta; - } // TODO: fix conquest points + + // if we get more then weekCap just set to limit. uint32 weekCap = _GetCurrencyWeekCap(currency); if (weekCap && int32(weekCap) < newTotalCount) - { - int32 delta = newWeekCount - int32(weekCap); newWeekCount = int32(weekCap); - newTotalCount -= delta; - } - // if we change total, we must change week - ASSERT(((newTotalCount-oldTotalCount) != 0) == ((newWeekCount-oldWeekCount) != 0)); + // if we get more then totalCap set to maximum; + if (currency->TotalCap && int32(currency->TotalCap) < newTotalCount) + { + newTotalCount = int32(currency->TotalCap); + newWeekCount = weekCap; + } if (uint32(newTotalCount) != oldTotalCount) { |