diff --git a/src/game/LootMgr.cpp b/src/game/LootMgr.cpp index 4cfd4394e..c1294c461 100644 --- a/src/game/LootMgr.cpp +++ b/src/game/LootMgr.cpp @@ -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(count_pos, itemsShown); + b.put(currency_count_pos, currenciesShown); return b; } diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp index a53775d44..f806a375f 100644 --- a/src/game/Opcodes.cpp +++ b/src/game/Opcodes.cpp @@ -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 ); diff --git a/src/game/Opcodes.h b/src/game/Opcodes.h index c24bd8174..cc5560823 100644 --- a/src/game/Opcodes.h +++ b/src/game/Opcodes.h @@ -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, diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 0692aebeb..0c84b8575 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "0057" + #define REVISION_NR "0058" #endif // __REVISION_NR_H__