[0058] Enabled some Opcodes for SMSG_LOOT_RESPONSE Thanks DDuarte.

Signed-off-by: Salja <salja2012@hotmail.de>
This commit is contained in:
Salja 2012-08-11 00:55:13 +02:00 committed by Antz
parent 24eba55f0c
commit faf58f7621
4 changed files with 22 additions and 18 deletions

View file

@ -749,21 +749,24 @@ ByteBuffer& operator<<(ByteBuffer& b, LootView const& lv)
{
b << uint32(0); // gold
b << uint8(0); // item count
return b; // nothing output more
b << uint8(0); // currency count
return b;
}
Loot& l = lv.loot;
uint8 itemsShown = 0;
uint8 currenciesShown = 0;
// gold
b << uint32(l.gold);
b << uint32(l.gold); // gold
size_t count_pos = b.wpos(); // pos of item count byte
b << uint8(0); // item count placeholder
size_t currency_count_pos = b.wpos(); // pos of currency count byte
b << uint8(0); // currency count placeholder
if (lv.permission == NONE_PERMISSION)
return b; // nothing output more
return b;
for (uint8 i = 0; i < l.items.size(); ++i)
@ -834,8 +837,9 @@ ByteBuffer& operator<<(ByteBuffer& b, LootView const& lv)
}
}
// update number of items shown
// update number of items and currencies shown
b.put<uint8>(count_pos, itemsShown);
b.put<uint8>(currency_count_pos, currenciesShown);
return b;
}

View file

@ -338,7 +338,7 @@ void InitializeOpcodes()
//OPCODE(CMSG_AUTOSTORE_GROUND_ITEM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_AUTOSTORE_LOOT_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutostoreLootItemOpcode );
//OPCODE(CMSG_STORE_LOOT_IN_SLOT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_AUTOEQUIP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoEquipItemOpcode );
OPCODE(CMSG_AUTOEQUIP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoEquipItemOpcode );
//OPCODE(CMSG_AUTOSTORE_BAG_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoStoreBagItemOpcode );
//OPCODE(CMSG_SWAP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSwapItem );
OPCODE(CMSG_SWAP_INV_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSwapInvItemOpcode );
@ -346,7 +346,7 @@ void InitializeOpcodes()
//OPCODE(CMSG_AUTOEQUIP_ITEM_SLOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoEquipItemSlotOpcode );
//OPCODE(CMSG_UNCLAIM_LICENSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_DESTROYITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDestroyItemOpcode );
//OPCODE(SMSG_INVENTORY_CHANGE_FAILURE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_INVENTORY_CHANGE_FAILURE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_OPEN_CONTAINER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_INSPECT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleInspectOpcode );
//OPCODE(SMSG_INSPECT_RESULTS_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -421,11 +421,11 @@ void InitializeOpcodes()
//OPCODE(CMSG_REPOP_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRepopRequestOpcode );
//OPCODE(SMSG_RESURRECT_REQUEST, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_RESURRECT_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleResurrectResponseOpcode );
//OPCODE(CMSG_LOOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLootOpcode );
OPCODE(CMSG_LOOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLootOpcode );
//OPCODE(CMSG_LOOT_MONEY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLootMoneyOpcode );
//OPCODE(CMSG_LOOT_RELEASE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLootReleaseOpcode );
//OPCODE(SMSG_LOOT_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_LOOT_RELEASE_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_LOOT_RELEASE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLootReleaseOpcode );
OPCODE(SMSG_LOOT_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_LOOT_RELEASE_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_LOOT_REMOVED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_LOOT_MONEY_NOTIFY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_LOOT_ITEM_NOTIFY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );

View file

@ -323,7 +323,7 @@ enum Opcodes
CMSG_AUTOSTORE_GROUND_ITEM = 0x1108,
CMSG_AUTOSTORE_LOOT_ITEM = 0x1109,
CMSG_STORE_LOOT_IN_SLOT = 0x110A,
CMSG_AUTOEQUIP_ITEM = 0x110B,
CMSG_AUTOEQUIP_ITEM = 0x4304, // 4.3.4 15595
CMSG_AUTOSTORE_BAG_ITEM = 0x110C,
CMSG_SWAP_ITEM = 0x110D,
CMSG_SWAP_INV_ITEM = 0x2614, // 4.3.4 15595
@ -331,7 +331,7 @@ enum Opcodes
CMSG_AUTOEQUIP_ITEM_SLOT = 0x1110,
CMSG_UNCLAIM_LICENSE = 0x1111,
CMSG_DESTROYITEM = 0x1112,
SMSG_INVENTORY_CHANGE_FAILURE = 0x1113,
SMSG_INVENTORY_CHANGE_FAILURE = 0x2236, // 4.3.4 15595
SMSG_OPEN_CONTAINER = 0x1114,
CMSG_INSPECT = 0x1115,
SMSG_INSPECT_RESULTS_UPDATE = 0x1116,
@ -406,11 +406,11 @@ enum Opcodes
CMSG_REPOP_REQUEST = 0x115B,
SMSG_RESURRECT_REQUEST = 0x115C,
CMSG_RESURRECT_RESPONSE = 0x115D,
CMSG_LOOT = 0x115E,
CMSG_LOOT = 0x0127, // 4.3.4 15595
CMSG_LOOT_MONEY = 0x115F,
CMSG_LOOT_RELEASE = 0x1160,
SMSG_LOOT_RESPONSE = 0x1161,
SMSG_LOOT_RELEASE_RESPONSE = 0x1162,
CMSG_LOOT_RELEASE = 0x2007, // 4.3.4 15595
SMSG_LOOT_RESPONSE = 0x4C16, // 4.3.4 15595
SMSG_LOOT_RELEASE_RESPONSE = 0x6D25, // 4.3.4 15595
SMSG_LOOT_REMOVED = 0x1163,
SMSG_LOOT_MONEY_NOTIFY = 0x1164,
SMSG_LOOT_ITEM_NOTIFY = 0x1165,

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "0057"
#define REVISION_NR "0058"
#endif // __REVISION_NR_H__