aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcyberbrest <cyberbrest@cyberbrest.com>2012-09-02 23:19:19 +0300
committercyberbrest <cyberbrest@cyberbrest.com>2012-09-03 22:54:45 +0300
commit9025a865364688fddc508724682ca88a78db8e33 (patch)
treeab526ca32ba56b1251fc328f8aefaed03c6729fe /src
parent25cc49b489c0e58fa621c65f187740f871598744 (diff)
[Core/Currency] no needed delta calculations + fix crashes because of it.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp20
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)
{