Core/PacketIO: updated structure of SMSG_ITEM_COOLDOWN, SMSG_ITEM_ENCHANT_TIME_UPDATE
This commit is contained in:
@@ -22697,10 +22697,10 @@ void Player::ApplyEquipCooldown(Item* pItem)
|
||||
|
||||
GetSpellHistory()->AddCooldown(effectData->SpellID, pItem->GetEntry(), std::chrono::seconds(30));
|
||||
|
||||
WorldPacket data(SMSG_ITEM_COOLDOWN, 12);
|
||||
data << pItem->GetGUID();
|
||||
data << uint32(effectData->SpellID);
|
||||
GetSession()->SendPacket(&data);
|
||||
WorldPackets::Item::ItemCooldown data;
|
||||
data.ItemGuid = pItem->GetGUID();
|
||||
data.SpellID = effectData->SpellID;
|
||||
GetSession()->SendPacket(data.Write());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -716,13 +716,12 @@ void WorldSession::SendEnchantmentLog(ObjectGuid target, ObjectGuid caster, uint
|
||||
|
||||
void WorldSession::SendItemEnchantTimeUpdate(ObjectGuid Playerguid, ObjectGuid Itemguid, uint32 slot, uint32 Duration)
|
||||
{
|
||||
// last check 2.0.10
|
||||
WorldPacket data(SMSG_ITEM_ENCHANT_TIME_UPDATE, (8+4+4+8));
|
||||
data << Itemguid;
|
||||
data << uint32(slot);
|
||||
data << uint32(Duration);
|
||||
data << Playerguid;
|
||||
SendPacket(&data);
|
||||
WorldPackets::Item::ItemEnchantTimeUpdate data;
|
||||
data.ItemGuid = Itemguid;
|
||||
data.DurationLeft = Duration;
|
||||
data.Slot = slot;
|
||||
data.OwnerGuid = Playerguid;
|
||||
SendPacket(data.Write());
|
||||
}
|
||||
|
||||
void WorldSession::HandleWrapItem(WorldPackets::Item::WrapItem& packet)
|
||||
|
||||
@@ -374,3 +374,21 @@ void WorldPackets::Item::CancelTempEnchantment::Read()
|
||||
{
|
||||
_worldPacket >> Slot;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Item::ItemCooldown::Write()
|
||||
{
|
||||
_worldPacket << ItemGuid;
|
||||
_worldPacket << uint32(SpellID);
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Item::ItemEnchantTimeUpdate::Write()
|
||||
{
|
||||
_worldPacket << ItemGuid;
|
||||
_worldPacket << uint32(DurationLeft);
|
||||
_worldPacket << uint32(Slot);
|
||||
_worldPacket << OwnerGuid;
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
@@ -363,6 +363,30 @@ namespace WorldPackets
|
||||
int32 Slot = 0;
|
||||
};
|
||||
|
||||
class ItemCooldown final : public ServerPacket
|
||||
{
|
||||
public:
|
||||
ItemCooldown() : ServerPacket(SMSG_ITEM_COOLDOWN, 20) { }
|
||||
|
||||
WorldPacket const* Write() override;
|
||||
|
||||
ObjectGuid ItemGuid;
|
||||
uint32 SpellID = 0;
|
||||
};
|
||||
|
||||
class ItemEnchantTimeUpdate final : public ServerPacket
|
||||
{
|
||||
public:
|
||||
ItemEnchantTimeUpdate() : ServerPacket(SMSG_ITEM_ENCHANT_TIME_UPDATE, 40) { }
|
||||
|
||||
WorldPacket const* Write() override;
|
||||
|
||||
ObjectGuid OwnerGuid;
|
||||
ObjectGuid ItemGuid;
|
||||
uint32 DurationLeft = 0;
|
||||
uint32 Slot = 0;
|
||||
};
|
||||
|
||||
ByteBuffer& operator>>(ByteBuffer& data, InvUpdate& invUpdate);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1258,12 +1258,12 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVENTORY_CHANGE_FAILURE, STATUS_NEVER, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_IS_QUEST_COMPLETE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PURCHASE_REFUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PUSH_RESULT, STATUS_NEVER, 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_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARN_TALENT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
|
||||
Reference in New Issue
Block a user