fix(Core/PacketIO): Implemented CMSG_BUSY_TRADE and CMSG_IGNORE_TRADE. (#21385)

This commit is contained in:
Mykhailo Redko
2025-02-10 18:12:38 +02:00
committed by GitHub
parent 91cd42ef91
commit 017cfb7b4b
5 changed files with 10 additions and 18 deletions

View File

@@ -70,14 +70,12 @@ void WorldSession::SendTradeStatus(TradeStatus status)
void WorldSession::HandleIgnoreTradeOpcode(WorldPacket& /*recvPacket*/)
{
LOG_DEBUG("network", "WORLD: Ignore Trade {}", _player->GetGUID().ToString());
// recvPacket.print_storage();
_player->TradeCancel(true, TRADE_STATUS_IGNORE_YOU);
}
void WorldSession::HandleBusyTradeOpcode(WorldPacket& /*recvPacket*/)
{
LOG_DEBUG("network", "WORLD: Busy Trade {}", _player->GetGUID().ToString());
// recvPacket.print_storage();
_player->TradeCancel(true, TRADE_STATUS_BUSY);
}
void WorldSession::SendUpdateTrade(bool trader_data /*= true*/)
@@ -526,12 +524,12 @@ void WorldSession::HandleBeginTradeOpcode(WorldPacket& /*recvPacket*/)
SendTradeStatus(TRADE_STATUS_OPEN_WINDOW);
}
void WorldSession::SendCancelTrade()
void WorldSession::SendCancelTrade(TradeStatus status)
{
if (PlayerRecentlyLoggedOut() || PlayerLogout())
return;
SendTradeStatus(TRADE_STATUS_TRADE_CANCELED);
SendTradeStatus(status);
}
void WorldSession::HandleCancelTradeOpcode(WorldPacket& /*recvPacket*/)
@@ -620,12 +618,6 @@ void WorldSession::HandleInitiateTradeOpcode(WorldPacket& recvPacket)
return;
}
if (pOther->GetSocial()->HasIgnore(GetPlayer()->GetGUID()))
{
SendTradeStatus(TRADE_STATUS_IGNORE_YOU);
return;
}
if (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_TRADE) && pOther->GetTeamId() != _player->GetTeamId())
{
SendTradeStatus(TRADE_STATUS_WRONG_FACTION);