diff options
Diffstat (limited to 'src')
-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) { |