aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/TradeHandler.cpp
diff options
context:
space:
mode:
authorVincent_Michael <Vincent_Michael@gmx.de>2013-02-02 00:16:11 +0100
committerVincent_Michael <Vincent_Michael@gmx.de>2013-02-02 00:16:11 +0100
commit6161f69b7ed2d41c3942e3635f40f10297bdd28b (patch)
tree05864c9e6ebe77488072413d453a48e4225dd38b /src/server/game/Handlers/TradeHandler.cpp
parent0b72a91e7667943dd128ca28f5bb71d8457d3ec9 (diff)
parent817f5b36483a6e8fe895ec8c2dc68179b8b450da (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/game/Achievements/AchievementMgr.cpp src/server/game/Entities/Player/Player.cpp src/server/game/Entities/Player/Player.h src/server/game/Guilds/Guild.cpp src/server/game/Handlers/MailHandler.cpp src/server/game/Spells/SpellMgr.cpp
Diffstat (limited to 'src/server/game/Handlers/TradeHandler.cpp')
-rw-r--r--src/server/game/Handlers/TradeHandler.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp
index 4545a8df353..b25f0a301a9 100644
--- a/src/server/game/Handlers/TradeHandler.cpp
+++ b/src/server/game/Handlers/TradeHandler.cpp
@@ -353,6 +353,20 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPacket& /*recvPacket*/)
return;
}
+ if (_player->GetMoney() >= uint64(MAX_MONEY_AMOUNT) - his_trade->GetMoney())
+ {
+ _player->SendEquipError(EQUIP_ERR_TOO_MUCH_GOLD, NULL, NULL);
+ my_trade->SetAccepted(false, true);
+ return;
+ }
+
+ if (trader->GetMoney() >= uint64(MAX_MONEY_AMOUNT) - my_trade->GetMoney())
+ {
+ trader->SendEquipError(EQUIP_ERR_TOO_MUCH_GOLD, NULL, NULL);
+ his_trade->SetAccepted(false, true);
+ return;
+ }
+
// not accept if some items now can't be trade (cheating)
for (uint8 i = 0; i < TRADE_SLOT_TRADED_COUNT; ++i)
{
@@ -363,6 +377,7 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPacket& /*recvPacket*/)
SendTradeStatus(TRADE_STATUS_TRADE_CANCELED);
return;
}
+
if (item->IsBindedNotWith(trader))
{
SendTradeStatus(TRADE_STATUS_NOT_ELIGIBLE);