diff options
author | Shauren <none@none> | 2010-07-14 12:02:27 +0200 |
---|---|---|
committer | Shauren <none@none> | 2010-07-14 12:02:27 +0200 |
commit | 6aa9ee1a2f58ae0ad3b3ab67d90cb2170d52f33b (patch) | |
tree | 904acc1db7fc5d40b7df24a8b36b400c53419931 /src | |
parent | af8a2e754c83e958c6f0ba210f1d9da421493041 (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.h | 18 |
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) { |