Core/Packet: Update structure for SMSG_ITEM_TIME_UPDATE

Closes #13855
This commit is contained in:
projectcoredevs
2015-01-10 05:14:39 +00:00
committed by Nayd
parent f4047d5b31
commit 039cf60d11
5 changed files with 26 additions and 6 deletions

View File

@@ -29,6 +29,7 @@
#include "Player.h"
#include "Opcodes.h"
#include "WorldSession.h"
#include "ItemPackets.h"
void AddItemsSetItem(Player* player, Item* item)
{
@@ -1048,10 +1049,10 @@ void Item::SendTimeUpdate(Player* owner)
if (!duration)
return;
WorldPacket data(SMSG_ITEM_TIME_UPDATE, (8+4));
data << GetGUID();
data << uint32(duration);
owner->GetSession()->SendPacket(&data);
WorldPackets::Item::ItemTimeUpdate itemTimeUpdate;
itemTimeUpdate.ItemGuid = GetGUID();
itemTimeUpdate.DurationLeft = duration;
owner->GetSession()->SendPacket(itemTimeUpdate.Write());
}
Item* Item::CreateItem(uint32 itemEntry, uint32 count, Player const* player)

View File

@@ -42,6 +42,14 @@ void WorldPackets::Item::SellItem::Read()
_worldPacket >> Amount;
}
WorldPacket const* WorldPackets::Item::ItemTimeUpdate::Write()
{
_worldPacket << ItemGuid;
_worldPacket << DurationLeft;
return &_worldPacket;
}
WorldPacket const* WorldPackets::Item::SetProficiency::Write()
{
_worldPacket << ProficiencyMask;

View File

@@ -70,6 +70,17 @@ namespace WorldPackets
uint32 Amount = 0;
};
class ItemTimeUpdate final : public ServerPacket
{
public:
ItemTimeUpdate() : ServerPacket(SMSG_ITEM_TIME_UPDATE, 8 + 4) { }
WorldPacket const* Write() override;
ObjectGuid ItemGuid;
uint32 DurationLeft = 0;
};
class SetProficiency final : public ServerPacket
{
public:

View File

@@ -1049,7 +1049,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_REMOVE_PASSIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_SEND_PASSIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TEXT_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_KICK_REASON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARNED_DANCE_MOVES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARNED_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);

View File

@@ -441,7 +441,7 @@ enum OpcodeClient : uint32
CMSG_OBJECT_UPDATE_RESCUED = 0xBADD,
CMSG_OFFER_PETITION = 0xBADD,
CMSG_OPENING_CINEMATIC = 0xBADD,
CMSG_OPEN_ITEM = 0xBADD,
CMSG_OPEN_ITEM = 0x08AD,
CMSG_OPT_OUT_OF_LOOT = 0xBADD,
CMSG_PAGE_TEXT_QUERY = 0x0BBB,
CMSG_PARTY_SILENCE = 0xBADD,