aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <none@none>2010-07-14 12:02:27 +0200
committerShauren <none@none>2010-07-14 12:02:27 +0200
commit6aa9ee1a2f58ae0ad3b3ab67d90cb2170d52f33b (patch)
tree904acc1db7fc5d40b7df24a8b36b400c53419931 /src
parentaf8a2e754c83e958c6f0ba210f1d9da421493041 (diff)
Fixed "At Gold Limit" popping every time you are gold capped and buy any item (with extended costs)
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index eeb45cab4cb..0b64d7e3821 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1439,11 +1439,19 @@ class Player : public Unit, public GridObject<Player>
if (d < 0)
SetMoney (GetMoney() > uint32(-d) ? GetMoney() + d : 0);
else
- SetMoney (GetMoney() < uint32(MAX_MONEY_AMOUNT - d) ? GetMoney() + d : MAX_MONEY_AMOUNT);
-
- // "At Gold Limit"
- if (GetMoney() >= MAX_MONEY_AMOUNT)
- SendEquipError(EQUIP_ERR_TOO_MUCH_GOLD,NULL,NULL);
+ {
+ uint32 newAmount = 0;
+ if (GetMoney() < uint32(MAX_MONEY_AMOUNT - d))
+ newAmount = GetMoney() + d;
+ else
+ {
+ // "At Gold Limit"
+ newAmount = MAX_MONEY_AMOUNT;
+ if (d)
+ SendEquipError(EQUIP_ERR_TOO_MUCH_GOLD, NULL, NULL);
+ }
+ SetMoney (newAmount);
+ }
}
void SetMoney(uint32 value)
{