mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/PacketIO: Updated and enabled CMSG_ITEM_PURCHASE_REFUND
This commit is contained in:
@@ -1083,20 +1083,17 @@ void WorldSession::HandleGetItemPurchaseData(WorldPackets::Item::GetItemPurchase
|
||||
GetPlayer()->SendRefundInfo(item);
|
||||
}
|
||||
|
||||
void WorldSession::HandleItemRefund(WorldPacket &recvData)
|
||||
void WorldSession::HandleItemRefund(WorldPackets::Item::ItemPurchaseRefund& packet)
|
||||
{
|
||||
ObjectGuid guid;
|
||||
recvData >> guid; // item guid
|
||||
|
||||
Item* item = _player->GetItemByGuid(guid);
|
||||
Item* item = _player->GetItemByGuid(packet.ItemGUID);
|
||||
if (!item)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "Item refund: item not found!");
|
||||
TC_LOG_DEBUG("network", "WorldSession::HandleItemRefund: Item (%s) not found!", packet.ItemGUID.ToString().c_str());
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't try to refund item currently being disenchanted
|
||||
if (_player->GetLootGUID() == guid)
|
||||
if (_player->GetLootGUID() == packet.ItemGUID)
|
||||
return;
|
||||
|
||||
GetPlayer()->RefundItem(item);
|
||||
|
||||
@@ -109,6 +109,11 @@ WorldPacket const* WorldPackets::Item::SetItemPurchaseData::Write()
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
void WorldPackets::Item::ItemPurchaseRefund::Read()
|
||||
{
|
||||
_worldPacket >> ItemGUID;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Item::ItemPurchaseRefundResult::Write()
|
||||
{
|
||||
_worldPacket << ItemGUID;
|
||||
|
||||
@@ -147,6 +147,16 @@ namespace WorldPackets
|
||||
ObjectGuid ItemGUID;
|
||||
};
|
||||
|
||||
class ItemPurchaseRefund final : public ClientPacket
|
||||
{
|
||||
public:
|
||||
ItemPurchaseRefund(WorldPacket&& packet) : ClientPacket(CMSG_ITEM_PURCHASE_REFUND, std::move(packet)) { }
|
||||
|
||||
void Read() override;
|
||||
|
||||
ObjectGuid ItemGUID;
|
||||
};
|
||||
|
||||
class ItemPurchaseRefundResult final : public ServerPacket
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -422,7 +422,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_HANDLER(CMSG_INSPECT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::Inspect, &WorldSession::HandleInspectOpcode);
|
||||
DEFINE_HANDLER(CMSG_INSPECT_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::InspectPVPRequest, &WorldSession::HandleInspectPVP);
|
||||
DEFINE_HANDLER(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Instance::InstanceLockResponse, &WorldSession::HandleInstanceLockResponse);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_PURCHASE_REFUND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefund );
|
||||
DEFINE_HANDLER(CMSG_ITEM_PURCHASE_REFUND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::ItemPurchaseRefund, &WorldSession::HandleItemRefund);
|
||||
DEFINE_HANDLER(CMSG_ITEM_TEXT_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::ItemTextQuery, &WorldSession::HandleItemTextQuery);
|
||||
DEFINE_HANDLER(CMSG_JOIN_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
|
||||
DEFINE_HANDLER(CMSG_JOIN_RATED_BATTLEGROUND, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
|
||||
|
||||
@@ -346,6 +346,7 @@ namespace WorldPackets
|
||||
class BuyBackItem;
|
||||
class DestroyItem;
|
||||
class GetItemPurchaseData;
|
||||
class ItemPurchaseRefund;
|
||||
class RepairItem;
|
||||
class ReadItem;
|
||||
class SellItem;
|
||||
@@ -1535,7 +1536,7 @@ class WorldSession
|
||||
void HandleCancelTempEnchantmentOpcode(WorldPackets::Item::CancelTempEnchantment& cancelTempEnchantment);
|
||||
|
||||
void HandleGetItemPurchaseData(WorldPackets::Item::GetItemPurchaseData& packet);
|
||||
void HandleItemRefund(WorldPacket& recvData);
|
||||
void HandleItemRefund(WorldPackets::Item::ItemPurchaseRefund& packet);
|
||||
|
||||
void HandleSetTaxiBenchmarkOpcode(WorldPacket& recvData);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user