Core/PacketIO: updated SMSG_LOOT_RELEASE and enabled CMSG_OPEN_ITEM

This commit is contained in:
MitchesD
2015-04-03 20:07:45 +02:00
parent 18343a7309
commit be016b94aa
4 changed files with 25 additions and 5 deletions

View File

@@ -8412,9 +8412,10 @@ void Player::RemovedInsignia(Player* looterPlr)
void Player::SendLootRelease(ObjectGuid guid)
{
WorldPacket data(SMSG_LOOT_RELEASE, (8+1));
data << guid << uint8(1);
SendDirectMessage(&data);
WorldPackets::Loot::LootReleaseResponse packet;
packet.LootObj = guid;
packet.Owner = GetGUID();
SendDirectMessage(packet.Write());
}
void Player::SendLoot(ObjectGuid guid, LootType loot_type)

View File

@@ -113,3 +113,11 @@ void WorldPackets::Loot::LootRoll::Read()
_worldPacket >> LootListID;
_worldPacket >> RollType;
}
WorldPacket const* WorldPackets::Loot::LootReleaseResponse::Write()
{
_worldPacket << LootObj;
_worldPacket << Owner;
return &_worldPacket;
}

View File

@@ -155,6 +155,17 @@ namespace WorldPackets
uint8 LootListID = 0;
uint8 RollType = 0;
};
class LootReleaseResponse final : public ServerPacket
{
public:
LootReleaseResponse() : ServerPacket(SMSG_LOOT_RELEASE, 32) { }
WorldPacket const* Write() override;
ObjectGuid LootObj;
ObjectGuid Owner;
};
}
}

View File

@@ -577,7 +577,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_OBJECT_UPDATE_RESCUED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_OFFER_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::OfferPetition, &WorldSession::HandleOfferPetition);
DEFINE_OPCODE_HANDLER_OLD(CMSG_OPENING_CINEMATIC, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleOpeningCinematic );
DEFINE_HANDLER(CMSG_OPEN_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Spells::OpenItem, &WorldSession::HandleOpenItemOpcode );
DEFINE_HANDLER(CMSG_OPEN_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::OpenItem, &WorldSession::HandleOpenItemOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_MISSION_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_SHIPMENT_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_TRADESKILL_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -1298,7 +1298,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ITEM_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_MONEY_NOTIFY, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RELEASE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RELEASE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RELEASE_ALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_REMOVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);