diff options
| author | Discover- <amort11@hotmail.com> | 2014-05-09 17:58:04 +0200 |
|---|---|---|
| committer | Discover- <amort11@hotmail.com> | 2014-05-09 17:58:04 +0200 |
| commit | 71795bf9776183429455d5742125b069836810e4 (patch) | |
| tree | 653bb9f665e21b9b0f55372ff2f16c65e616214c /src | |
| parent | 7aef44630e6071e356d1c59fd1524b394ab09a45 (diff) | |
Core/Trade: It's no longer possible to fake the amount of gold put into the trade window. It's only visual but still an exploit, allowing scamming.
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Handlers/TradeHandler.cpp | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a701e6fc38f..e7d14d68377 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -364,6 +364,12 @@ void TradeData::SetMoney(uint32 money) if (m_money == money) return; + if (!m_player->HasEnoughMoney(money)) + { + m_player->GetSession()->SendTradeStatus(TRADE_STATUS_BUSY); + return; + } + m_money = money; SetAccepted(false); diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp index 4372de9eafe..1fe4718d7ae 100644 --- a/src/server/game/Handlers/TradeHandler.cpp +++ b/src/server/game/Handlers/TradeHandler.cpp @@ -686,7 +686,6 @@ void WorldSession::HandleSetTradeGoldOpcode(WorldPacket& recvPacket) if (!my_trade) return; - // gold can be incorrect, but this is checked at trade finished. my_trade->SetMoney(gold); } |
