Core/PacketIO: updated structure of SMSG_ITEM_COOLDOWN, SMSG_ITEM_ENCHANT_TIME_UPDATE

This commit is contained in:
MitchesD
2015-05-24 22:06:58 +02:00
parent c44273ec93
commit 3552c4bd72
5 changed files with 55 additions and 14 deletions
+4 -4
View File
@@ -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());
}
}
+6 -7
View File
@@ -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);
}
}
+3 -3
View File
@@ -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);