Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Update and check CMSG_GET_ITEM_PURCHASE_DATA, SMSG_ITEM_EXPIRE_PURCHA…
Browse files Browse the repository at this point in the history
…SE_REFUND

Signed-off-by: AlterEgo <[email protected]>
  • Loading branch information
SkyFire committed Dec 8, 2023
1 parent 66c1ea2 commit 5318539
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 39 deletions.
52 changes: 18 additions & 34 deletions src/server/game/Handlers/ItemHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1545,41 +1545,26 @@ void WorldSession::HandleCancelTempEnchantmentOpcode(WorldPacket& recvData)
GetPlayer()->ApplyEnchantment(item, TEMP_ENCHANTMENT_SLOT, false);
item->ClearEnchantment(TEMP_ENCHANTMENT_SLOT);
}
/*
void WorldSession::HandleItemRefundInfoRequest(WorldPacket& recvData)
{
SF_LOG_DEBUG("network", "WORLD: CMSG_GET_ITEM_PURCHASE_DATA");

ObjectGuid guid;
guid[1] = recvData.ReadBit();
guid[0] = recvData.ReadBit();
guid[3] = recvData.ReadBit();
guid[2] = recvData.ReadBit();
guid[7] = recvData.ReadBit();
guid[4] = recvData.ReadBit();
guid[5] = recvData.ReadBit();
guid[6] = recvData.ReadBit();
void WorldSession::HandleItemRefundInfoRequest(WorldPacket& recvData)
{
SF_LOG_DEBUG("network", "WORLD: CMSG_GET_ITEM_PURCHASE_DATA");

ObjectGuid guid;

recvData.ReadByteSeq(guid[3]);
recvData.ReadByteSeq(guid[7]);
recvData.ReadByteSeq(guid[5]);
recvData.ReadByteSeq(guid[1]);
recvData.ReadByteSeq(guid[0]);
recvData.ReadByteSeq(guid[6]);
recvData.ReadByteSeq(guid[4]);
recvData.ReadByteSeq(guid[2]);
Item* item = _player->GetItemByGuid(guid);
if (!item)
{
SF_LOG_DEBUG("network", "Item refund: item not found!");
return;
}
GetPlayer()->RefundItem(item);
recvData.ReadGuidMask(guid, 1, 0, 3, 2, 7, 4, 5, 6);
recvData.ReadGuidBytes(guid, 3, 7, 5, 1, 0, 6, 4, 2);

Item* item = _player->GetItemByGuid(guid);
if (!item)
{
SF_LOG_DEBUG("network", "Item refund: item not found!");
return;
}

GetPlayer()->SendRefundInfo(item);
}
*/

void WorldSession::HandleItemRefund(WorldPacket& recvData)
{
SF_LOG_DEBUG("network", "WORLD: CMSG_ITEM_REFUND");
Expand Down Expand Up @@ -1936,7 +1921,7 @@ void WorldSession::SendReforgeResult(bool success)
SendPacket(&data);
}

/*

void WorldSession::SendItemExpirePurchaseRefund(ObjectGuid itemGuid)
{
WorldPacket data(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, 8);
Expand All @@ -1961,4 +1946,3 @@ void WorldSession::SendItemExpirePurchaseRefund(ObjectGuid itemGuid)

SendPacket(&data);
}
*/
9 changes: 4 additions & 5 deletions src/server/game/Server/Protocol/Opcodes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ void OpcodeTable::InitializeClientTable()
DEFINE_OPCODE_HANDLER(CMSG_INSTANCE_LOCK_WARNING_RESPONSE, 0x12C0, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleInstanceLockResponse ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_ITEM_REFUND, 0x074B, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefund ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_ITEM_TEXT_QUERY, 0x0123, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleItemTextQuery ); // 5.4.8 18414 // LEGACY CMSG sub_600632
//DEFINE_OPCODE_HANDLER(CMSG_GET_ITEM_PURCHASE_DATA, 0x1258, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefundInfoRequest ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_GET_ITEM_PURCHASE_DATA, 0x1258, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefundInfoRequest ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_KEEP_ALIVE, 0x1A87, STATUS_AUTHED, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_LEARN_TALENT, 0x02A7, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLearnTalentOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_LEAVE_CHANNEL, 0x042A, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLeaveChannel ); // 5.4.8 18414
Expand Down Expand Up @@ -820,9 +820,8 @@ void OpcodeTable::InitializeServerTable()
DEFINE_OPCODE_HANDLER(SMSG_INITIALIZE_FACTIONS, 0x0AAA, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_SEND_KNOWN_SPELLS, 0x045A, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_SETUP_CURRENCY, 0x1A8B, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_PVP_CREDIT, 0x100A, STATUS_NEVER );
DEFINE_OPCODE_HANDLER(SMSG_UPDATE_CURRENCY, 0x129E, STATUS_NEVER );

DEFINE_OPCODE_HANDLER(SMSG_PVP_CREDIT, 0x100A, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_UPDATE_CURRENCY, 0x129E, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_INIT_WORLD_STATES, 0x1560, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_INSPECT_HONOR_STATS, 0x1A1E, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_INSPECT_RESULTS, 0x1842, STATUS_NEVER ); // 5.4.8 18414
Expand All @@ -833,7 +832,7 @@ void OpcodeTable::InitializeServerTable()
DEFINE_OPCODE_HANDLER(SMSG_INVENTORY_CHANGE_FAILURE, 0x0C1E, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, 0x1904, STATUS_NEVER ); // 5.4.8 18414 // LEGACY!
DEFINE_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, 0x10A2, STATUS_NEVER ); // 5.4.8 18414
//DEFINE_OPCODE_HANDLER(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, 0x0E33, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, 0x0E33, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_ITEM_PURCHASE_REFUND_RESULT, 0x049E, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_ITEM_PUSH_RESULT, 0x0E0A, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, 0x18C1, STATUS_NEVER ); // 5.4.8 18414
Expand Down
2 changes: 2 additions & 0 deletions src/server/game/Server/WorldSession.h
Original file line number Diff line number Diff line change
Expand Up @@ -959,7 +959,9 @@ class WorldSession

void HandleCancelTempEnchantmentOpcode(WorldPacket& recvData);

void HandleItemRefundInfoRequest(WorldPacket& recvData);
void HandleItemRefund(WorldPacket& recvData);
void SendItemExpirePurchaseRefund(ObjectGuid itemGuid);

void HandleChannelVoiceOnOpcode(WorldPacket& recvData);
void HandleVoiceSessionEnableOpcode(WorldPacket& recvData);
Expand Down

0 comments on commit 5318539

Please sign in to comment.