aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/TradeHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/TradeHandler.cpp')
-rw-r--r--src/server/game/Handlers/TradeHandler.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp
index 62a2c74a2ba..85c49b6f46f 100644
--- a/src/server/game/Handlers/TradeHandler.cpp
+++ b/src/server/game/Handlers/TradeHandler.cpp
@@ -42,10 +42,12 @@ void WorldSession::SendTradeStatus(WorldPackets::Trade::TradeStatus& info)
void WorldSession::HandleIgnoreTradeOpcode(WorldPackets::Trade::IgnoreTrade& /*ignoreTrade*/)
{
+ _player->TradeCancel(true, TRADE_STATUS_IGNORE_YOU);
}
void WorldSession::HandleBusyTradeOpcode(WorldPackets::Trade::BusyTrade& /*busyTrade*/)
{
+ _player->TradeCancel(true, TRADE_STATUS_BUSY);
}
void WorldSession::SendUpdateTrade(bool trader_data /*= true*/)
@@ -559,13 +561,13 @@ void WorldSession::HandleBeginTradeOpcode(WorldPackets::Trade::BeginTrade& /*beg
SendTradeStatus(info);
}
-void WorldSession::SendCancelTrade()
+void WorldSession::SendCancelTrade(TradeStatus status)
{
if (PlayerRecentlyLoggedOut() || PlayerLogout())
return;
WorldPackets::Trade::TradeStatus info;
- info.Status = TRADE_STATUS_CANCELLED;
+ info.Status = status;
SendTradeStatus(info);
}
@@ -661,13 +663,6 @@ void WorldSession::HandleInitiateTradeOpcode(WorldPackets::Trade::InitiateTrade&
return;
}
- if (pOther->GetSocial()->HasIgnore(GetPlayer()->GetGUID(), GetPlayer()->GetSession()->GetAccountGUID()))
- {
- info.Status = TRADE_STATUS_PLAYER_IGNORED;
- SendTradeStatus(info);
- return;
- }
-
if ((pOther->GetTeam() != _player->GetTeam() ||
pOther->HasPlayerFlagEx(PLAYER_FLAGS_EX_MERCENARY_MODE) ||
_player->HasPlayerFlagEx(PLAYER_FLAGS_EX_MERCENARY_MODE)) &&