mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 17:27:36 +01:00
Core/Packets: updated CMSG_SELL_ITEM, CMSG_REPAIR_ITEM, CMSG_ITEM_REFUND_INFO, CMSG_BUYBACK_ITEM
This commit is contained in:
committed by
joschiwald
parent
afad86464f
commit
a7956afd6e
@@ -343,22 +343,19 @@ void WorldSession::HandleReadItem(WorldPacket& recvData)
|
||||
_player->SendEquipError(EQUIP_ERR_ITEM_NOT_FOUND, NULL, NULL);
|
||||
}
|
||||
|
||||
void WorldSession::HandleSellItemOpcode(WorldPacket& recvData)
|
||||
void WorldSession::HandleSellItemOpcode(WorldPackets::Item::SellItem& packet)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "WORLD: Received CMSG_SELL_ITEM");
|
||||
ObjectGuid vendorguid, itemguid;
|
||||
uint32 count;
|
||||
TC_LOG_DEBUG("network", "WORLD: Received CMSG_SELL_ITEM: Vendor %s, Item %s, Amount: %u",
|
||||
packet.VendorGUID.ToString().c_str(), packet.ItemGUID.ToString().c_str(), packet.Amount);
|
||||
|
||||
recvData >> vendorguid >> itemguid >> count;
|
||||
|
||||
if (!itemguid)
|
||||
if (packet.ItemGUID.IsEmpty())
|
||||
return;
|
||||
|
||||
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(vendorguid, UNIT_NPC_FLAG_VENDOR);
|
||||
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(packet.VendorGUID, UNIT_NPC_FLAG_VENDOR);
|
||||
if (!creature)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "WORLD: HandleSellItemOpcode - %s not found or you can not interact with him.", vendorguid.ToString().c_str());
|
||||
_player->SendSellError(SELL_ERR_CANT_FIND_VENDOR, NULL, itemguid);
|
||||
TC_LOG_DEBUG("network", "WORLD: HandleSellItemOpcode - %s not found or you can not interact with him.", packet.VendorGUID.ToString().c_str());
|
||||
_player->SendSellError(SELL_ERR_CANT_FIND_VENDOR, nullptr, packet.ItemGUID);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -366,27 +363,27 @@ void WorldSession::HandleSellItemOpcode(WorldPacket& recvData)
|
||||
if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
|
||||
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
|
||||
|
||||
Item* pItem = _player->GetItemByGuid(itemguid);
|
||||
Item* pItem = _player->GetItemByGuid(packet.ItemGUID);
|
||||
if (pItem)
|
||||
{
|
||||
// prevent sell not owner item
|
||||
if (_player->GetGUID() != pItem->GetOwnerGUID())
|
||||
{
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, itemguid);
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, packet.ItemGUID);
|
||||
return;
|
||||
}
|
||||
|
||||
// prevent sell non empty bag by drag-and-drop at vendor's item list
|
||||
if (pItem->IsNotEmptyBag())
|
||||
{
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, itemguid);
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, packet.ItemGUID);
|
||||
return;
|
||||
}
|
||||
|
||||
// prevent sell currently looted item
|
||||
if (_player->GetLootGUID() == pItem->GetGUID())
|
||||
{
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, itemguid);
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, packet.ItemGUID);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -397,14 +394,14 @@ void WorldSession::HandleSellItemOpcode(WorldPacket& recvData)
|
||||
return; // Therefore, no feedback to client
|
||||
|
||||
// special case at auto sell (sell all)
|
||||
if (count == 0)
|
||||
count = pItem->GetCount();
|
||||
if (packet.Amount == 0)
|
||||
packet.Amount = pItem->GetCount();
|
||||
else
|
||||
{
|
||||
// prevent sell more items that exist in stack (possible only not from client)
|
||||
if (count > pItem->GetCount())
|
||||
if (packet.Amount > pItem->GetCount())
|
||||
{
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, itemguid);
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, packet.ItemGUID);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -414,18 +411,18 @@ void WorldSession::HandleSellItemOpcode(WorldPacket& recvData)
|
||||
{
|
||||
if (pProto->GetSellPrice() > 0)
|
||||
{
|
||||
if (count < pItem->GetCount()) // need split items
|
||||
if (packet.Amount < pItem->GetCount()) // need split items
|
||||
{
|
||||
Item* pNewItem = pItem->CloneItem(count, _player);
|
||||
Item* pNewItem = pItem->CloneItem(packet.Amount, _player);
|
||||
if (!pNewItem)
|
||||
{
|
||||
TC_LOG_ERROR("network", "WORLD: HandleSellItemOpcode - could not create clone of item %u; count = %u", pItem->GetEntry(), count);
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, itemguid);
|
||||
TC_LOG_ERROR("network", "WORLD: HandleSellItemOpcode - could not create clone of item %u; count = %u", pItem->GetEntry(), packet.Amount);
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, packet.ItemGUID);
|
||||
return;
|
||||
}
|
||||
|
||||
pItem->SetCount(pItem->GetCount() - count);
|
||||
_player->ItemRemovedQuestCheck(pItem->GetEntry(), count);
|
||||
pItem->SetCount(pItem->GetCount() - packet.Amount);
|
||||
_player->ItemRemovedQuestCheck(pItem->GetEntry(), packet.Amount);
|
||||
if (_player->IsInWorld())
|
||||
pItem->SendUpdateToPlayer(_player);
|
||||
pItem->SetState(ITEM_CHANGED, _player);
|
||||
@@ -442,31 +439,27 @@ void WorldSession::HandleSellItemOpcode(WorldPacket& recvData)
|
||||
_player->AddItemToBuyBackSlot(pItem);
|
||||
}
|
||||
|
||||
uint32 money = pProto->GetSellPrice() * count;
|
||||
uint32 money = pProto->GetSellPrice() * packet.Amount;
|
||||
_player->ModifyMoney(money);
|
||||
_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS, money);
|
||||
}
|
||||
else
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, itemguid);
|
||||
_player->SendSellError(SELL_ERR_CANT_SELL_ITEM, creature, packet.ItemGUID);
|
||||
return;
|
||||
}
|
||||
}
|
||||
_player->SendSellError(SELL_ERR_CANT_FIND_ITEM, creature, itemguid);
|
||||
_player->SendSellError(SELL_ERR_CANT_FIND_ITEM, creature, packet.ItemGUID);
|
||||
return;
|
||||
}
|
||||
|
||||
void WorldSession::HandleBuybackItem(WorldPacket& recvData)
|
||||
void WorldSession::HandleBuybackItem(WorldPackets::Item::BuyBackItem& packet)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "WORLD: Received CMSG_BUYBACK_ITEM");
|
||||
ObjectGuid vendorguid;
|
||||
uint32 slot;
|
||||
TC_LOG_DEBUG("network", "WORLD: Received CMSG_BUYBACK_ITEM: Vendor %s, Slot: %u", packet.VendorGUID.ToString().c_str(), packet.Slot);
|
||||
|
||||
recvData >> vendorguid >> slot;
|
||||
|
||||
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(vendorguid, UNIT_NPC_FLAG_VENDOR);
|
||||
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(packet.VendorGUID, UNIT_NPC_FLAG_VENDOR);
|
||||
if (!creature)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "WORLD: HandleBuybackItem - Unit (%s) not found or you can not interact with him.", vendorguid.ToString().c_str());
|
||||
TC_LOG_DEBUG("network", "WORLD: HandleBuybackItem - Unit (%s) not found or you can not interact with him.", packet.VendorGUID.ToString().c_str());
|
||||
_player->SendSellError(SELL_ERR_CANT_FIND_VENDOR, NULL, ObjectGuid::Empty);
|
||||
return;
|
||||
}
|
||||
@@ -475,10 +468,10 @@ void WorldSession::HandleBuybackItem(WorldPacket& recvData)
|
||||
if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
|
||||
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
|
||||
|
||||
Item* pItem = _player->GetItemFromBuyBackSlot(slot);
|
||||
Item* pItem = _player->GetItemFromBuyBackSlot(packet.Slot);
|
||||
if (pItem)
|
||||
{
|
||||
uint32 price = _player->GetUInt32Value(PLAYER_FIELD_BUYBACK_PRICE_1 + slot - BUYBACK_SLOT_START);
|
||||
uint32 price = _player->GetUInt32Value(PLAYER_FIELD_BUYBACK_PRICE_1 + packet.Slot - BUYBACK_SLOT_START);
|
||||
if (!_player->HasEnoughMoney(uint64(price)))
|
||||
{
|
||||
_player->SendBuyError(BUY_ERR_NOT_ENOUGHT_MONEY, creature, pItem->GetEntry(), 0);
|
||||
@@ -490,7 +483,7 @@ void WorldSession::HandleBuybackItem(WorldPacket& recvData)
|
||||
if (msg == EQUIP_ERR_OK)
|
||||
{
|
||||
_player->ModifyMoney(-(int32)price);
|
||||
_player->RemoveItemFromBuyBackSlot(slot, false);
|
||||
_player->RemoveItemFromBuyBackSlot(packet.Slot, false);
|
||||
_player->ItemAddedQuestCheck(pItem->GetEntry(), pItem->GetCount());
|
||||
_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM, pItem->GetEntry(), pItem->GetCount());
|
||||
_player->StoreItem(dest, pItem, true);
|
||||
@@ -1255,14 +1248,11 @@ void WorldSession::HandleCancelTempEnchantmentOpcode(WorldPacket& recvData)
|
||||
item->ClearEnchantment(TEMP_ENCHANTMENT_SLOT);
|
||||
}
|
||||
|
||||
void WorldSession::HandleItemRefundInfoRequest(WorldPacket& recvData)
|
||||
void WorldSession::HandleItemRefundInfoRequest(WorldPackets::Item::ItemRefundInfo& packet)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "WORLD: CMSG_ITEM_REFUND_INFO");
|
||||
TC_LOG_DEBUG("network", "WORLD: CMSG_ITEM_REFUND_INFO: Item %s", packet.ItemGUID.ToString().c_str());
|
||||
|
||||
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!");
|
||||
|
||||
@@ -859,19 +859,15 @@ void WorldSession::HandleStableSwapPetCallback(PreparedQueryResult result, uint3
|
||||
SendStableResult(STABLE_SUCCESS_UNSTABLE);
|
||||
}
|
||||
|
||||
void WorldSession::HandleRepairItemOpcode(WorldPacket& recvData)
|
||||
void WorldSession::HandleRepairItemOpcode(WorldPackets::Item::RepairItem& packet)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "WORLD: CMSG_REPAIR_ITEM");
|
||||
TC_LOG_DEBUG("network", "WORLD: CMSG_REPAIR_ITEM: Npc %s, Item %s, UseGuildBank: %u",
|
||||
packet.NpcGUID.ToString().c_str(), packet.ItemGUID.ToString().c_str(), packet.UseGuildBank);
|
||||
|
||||
ObjectGuid npcGUID, itemGUID;
|
||||
uint8 guildBank; // new in 2.3.2, bool that means from guild bank money
|
||||
|
||||
recvData >> npcGUID >> itemGUID >> guildBank;
|
||||
|
||||
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(npcGUID, UNIT_NPC_FLAG_REPAIR);
|
||||
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(packet.NpcGUID, UNIT_NPC_FLAG_REPAIR);
|
||||
if (!unit)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "WORLD: HandleRepairItemOpcode - %s not found or you can not interact with him.", npcGUID.ToString().c_str());
|
||||
TC_LOG_DEBUG("network", "WORLD: HandleRepairItemOpcode - %s not found or you can not interact with him.", packet.NpcGUID.ToString().c_str());
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -882,18 +878,18 @@ void WorldSession::HandleRepairItemOpcode(WorldPacket& recvData)
|
||||
// reputation discount
|
||||
float discountMod = _player->GetReputationPriceDiscount(unit);
|
||||
|
||||
if (!itemGUID.IsEmpty())
|
||||
if (!packet.ItemGUID.IsEmpty())
|
||||
{
|
||||
TC_LOG_DEBUG("network", "ITEM: Repair %s, at %s", itemGUID.ToString().c_str(), npcGUID.ToString().c_str());
|
||||
TC_LOG_DEBUG("network", "ITEM: Repair %s, at %s", packet.ItemGUID.ToString().c_str(), packet.NpcGUID.ToString().c_str());
|
||||
|
||||
Item* item = _player->GetItemByGuid(itemGUID);
|
||||
Item* item = _player->GetItemByGuid(packet.ItemGUID);
|
||||
if (item)
|
||||
_player->DurabilityRepair(item->GetPos(), true, discountMod, guildBank != 0);
|
||||
_player->DurabilityRepair(item->GetPos(), true, discountMod, packet.UseGuildBank);
|
||||
}
|
||||
else
|
||||
{
|
||||
TC_LOG_DEBUG("network", "ITEM: Repair all items at %s", npcGUID.ToString().c_str());
|
||||
_player->DurabilityRepairAll(true, discountMod, guildBank != 0);
|
||||
TC_LOG_DEBUG("network", "ITEM: Repair all items at %s", packet.NpcGUID.ToString().c_str());
|
||||
_player->DurabilityRepairAll(true, discountMod, packet.UseGuildBank);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,31 @@
|
||||
|
||||
#include "ItemPackets.h"
|
||||
|
||||
void WorldPackets::Item::BuyBackItem::Read()
|
||||
{
|
||||
_worldPacket >> VendorGUID;
|
||||
_worldPacket >> Slot;
|
||||
}
|
||||
|
||||
void WorldPackets::Item::ItemRefundInfo::Read()
|
||||
{
|
||||
_worldPacket >> ItemGUID;
|
||||
}
|
||||
|
||||
void WorldPackets::Item::RepairItem::Read()
|
||||
{
|
||||
_worldPacket >> NpcGUID;
|
||||
_worldPacket >> ItemGUID;
|
||||
UseGuildBank = _worldPacket.ReadBit();
|
||||
}
|
||||
|
||||
void WorldPackets::Item::SellItem::Read()
|
||||
{
|
||||
_worldPacket >> VendorGUID;
|
||||
_worldPacket >> ItemGUID;
|
||||
_worldPacket >> Amount;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Item::SetProficiency::Write()
|
||||
{
|
||||
_worldPacket << ProficiencyMask;
|
||||
|
||||
@@ -25,6 +25,51 @@ namespace WorldPackets
|
||||
{
|
||||
namespace Item
|
||||
{
|
||||
class BuyBackItem final : public ClientPacket
|
||||
{
|
||||
public:
|
||||
BuyBackItem(WorldPacket&& packet) : ClientPacket(CMSG_BUYBACK_ITEM, std::move(packet)) { }
|
||||
|
||||
void Read() override;
|
||||
|
||||
ObjectGuid VendorGUID;
|
||||
uint32 Slot = 0;
|
||||
};
|
||||
|
||||
class ItemRefundInfo final : public ClientPacket
|
||||
{
|
||||
public:
|
||||
ItemRefundInfo(WorldPacket&& packet) : ClientPacket(CMSG_ITEM_REFUND_INFO, std::move(packet)) { }
|
||||
|
||||
void Read() override;
|
||||
|
||||
ObjectGuid ItemGUID;
|
||||
};
|
||||
|
||||
class RepairItem final : public ClientPacket
|
||||
{
|
||||
public:
|
||||
RepairItem(WorldPacket&& packet) : ClientPacket(CMSG_REPAIR_ITEM, std::move(packet)) { }
|
||||
|
||||
void Read() override;
|
||||
|
||||
ObjectGuid NpcGUID;
|
||||
ObjectGuid ItemGUID;
|
||||
bool UseGuildBank = false;
|
||||
};
|
||||
|
||||
class SellItem final : public ClientPacket
|
||||
{
|
||||
public:
|
||||
SellItem(WorldPacket&& packet) : ClientPacket(CMSG_SELL_ITEM, std::move(packet)) { }
|
||||
|
||||
void Read() override;
|
||||
|
||||
ObjectGuid VendorGUID;
|
||||
ObjectGuid ItemGUID;
|
||||
uint32 Amount = 0;
|
||||
};
|
||||
|
||||
class SetProficiency final : public ServerPacket
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -199,7 +199,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBinderActivateOpcode);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_BUG, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBugOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_BUSY_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBusyTradeOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_BUYBACK_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBuybackItem );
|
||||
DEFINE_HANDLER(CMSG_BUYBACK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::BuyBackItem, &WorldSession::HandleBuybackItem);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_BUY_BANK_SLOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBuyBankSlotOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_BUY_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBuyItemOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_ADD_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarAddEvent );
|
||||
@@ -381,7 +381,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_INSPECT_HONOR_STATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInspectHonorStatsOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_INSTANCE_LOCK_WARNING_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_REFUND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefund );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_REFUND_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefundInfoRequest );
|
||||
DEFINE_HANDLER(CMSG_ITEM_REFUND_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::ItemRefundInfo, &WorldSession::HandleItemRefundInfoRequest);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_TEXT_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemTextQuery );
|
||||
DEFINE_HANDLER(CMSG_JOIN_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::JoinChannel, &WorldSession::HandleJoinChannel);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_KEEP_ALIVE, STATUS_NEVER, PROCESS_THREADUNSAFE, &WorldSession::Handle_EarlyProccess );
|
||||
@@ -563,7 +563,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_RECLAIM_CORPSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReclaimCorpseOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_RECRUIT_A_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_HANDLER(CMSG_REORDER_CHARACTERS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::ReorderCharacters, &WorldSession::HandleReorderCharacters);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_REPAIR_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRepairItemOpcode );
|
||||
DEFINE_HANDLER(CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::RepairItem, &WorldSession::HandleRepairItemOpcode);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_REPOP_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRepopRequestOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_REPORT_PVP_AFK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReportPvPAFK );
|
||||
DEFINE_HANDLER(CMSG_REQUEST_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::ClientConfig::RequestAccountData, &WorldSession::HandleRequestAccountData);
|
||||
@@ -590,7 +590,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_ROUTER_CLIENT_LOG_STREAMING_ERROR, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_SAVE_CUF_PROFILES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleSaveCUFProfiles );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_SELF_RES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSelfResOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_SELL_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSellItemOpcode );
|
||||
DEFINE_HANDLER(CMSG_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SellItem, &WorldSession::HandleSellItemOpcode);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_MAIL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSendMail );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_SOR_REQUEST_VIA_ADDRESS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_SOR_REQUEST_VIA_BNET_ACCOUNT_ID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
|
||||
@@ -148,6 +148,10 @@ namespace WorldPackets
|
||||
|
||||
namespace Item
|
||||
{
|
||||
class BuyBackItem;
|
||||
class ItemRefundInfo;
|
||||
class RepairItem;
|
||||
class SellItem;
|
||||
class SplitItem;
|
||||
class SwapInvItem;
|
||||
class SwapItem;
|
||||
@@ -658,7 +662,7 @@ class WorldSession
|
||||
void HandleShowingCloakOpcode(WorldPacket& recvData);
|
||||
|
||||
// repair
|
||||
void HandleRepairItemOpcode(WorldPacket& recvPacket);
|
||||
void HandleRepairItemOpcode(WorldPackets::Item::RepairItem& packet);
|
||||
|
||||
// Knockback
|
||||
void HandleMoveKnockBackAck(WorldPacket& recvPacket);
|
||||
@@ -882,7 +886,7 @@ class WorldSession
|
||||
void HandleSwapInvItemOpcode(WorldPackets::Item::SwapInvItem& swapInvItem);
|
||||
void HandleDestroyItemOpcode(WorldPackets::Item::DestroyItem& destroyItem);
|
||||
void HandleAutoEquipItemOpcode(WorldPackets::Item::AutoEquipItem& autoEquipItem);
|
||||
void HandleSellItemOpcode(WorldPacket& recvPacket);
|
||||
void HandleSellItemOpcode(WorldPackets::Item::SellItem& packet);
|
||||
void HandleBuyItemInSlotOpcode(WorldPacket& recvPacket);
|
||||
void HandleBuyItemOpcode(WorldPacket& recvPacket);
|
||||
void HandleListInventoryOpcode(WorldPackets::NPC::Hello& packet);
|
||||
@@ -890,7 +894,7 @@ class WorldSession
|
||||
void HandleReadItem(WorldPacket& recvPacket);
|
||||
void HandleAutoEquipItemSlotOpcode(WorldPacket& recvPacket);
|
||||
void HandleSwapItem(WorldPackets::Item::SwapItem& swapItem);
|
||||
void HandleBuybackItem(WorldPacket& recvPacket);
|
||||
void HandleBuybackItem(WorldPackets::Item::BuyBackItem& packet);
|
||||
void HandleAutoBankItemOpcode(WorldPacket& recvPacket);
|
||||
void HandleAutoStoreBankItemOpcode(WorldPacket& recvPacket);
|
||||
void HandleWrapItemOpcode(WorldPacket& recvPacket);
|
||||
@@ -1088,7 +1092,7 @@ class WorldSession
|
||||
|
||||
void HandleCancelTempEnchantmentOpcode(WorldPacket& recvData);
|
||||
|
||||
void HandleItemRefundInfoRequest(WorldPacket& recvData);
|
||||
void HandleItemRefundInfoRequest(WorldPackets::Item::ItemRefundInfo& packet);
|
||||
void HandleItemRefund(WorldPacket& recvData);
|
||||
|
||||
void HandleSetTaxiBenchmarkOpcode(WorldPacket& recvData);
|
||||
|
||||
Reference in New Issue
Block a user