diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-08-02 18:02:50 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-08-02 18:02:50 +0200 |
| commit | f60a28978a78e983246e97332b8f6d2eff539144 (patch) | |
| tree | acb44b9e4bd1a708363bfd8c237a1ab403afc9f3 /src | |
| parent | b0ad346cf31e49c059d5e1e0bc54f8bf8f05ac0a (diff) | |
Core/PacketIO: Update and enabled SMSG_ITEM_COOLDOWN opcode
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 7 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/ItemPackets.cpp | 1 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/ItemPackets.h | 3 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 |
4 files changed, 5 insertions, 8 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index cb9957f3be6..7b45462ea82 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22727,15 +22727,10 @@ void Player::ApplyEquipCooldown(Item* pItem) if (effectData->Trigger != ITEM_SPELLTRIGGER_ON_USE) continue; - // Don't replace longer cooldowns by equip cooldown if we have any. - if (GetSpellHistory()->GetRemainingCooldown(effectData->SpellID) > 30 * IN_MILLISECONDS) - continue; - - GetSpellHistory()->AddCooldown(effectData->SpellID, pItem->GetEntry(), std::chrono::seconds(30)); - WorldPackets::Item::ItemCooldown data; data.ItemGuid = pItem->GetGUID(); data.SpellID = effectData->SpellID; + data.Cooldown = 30 * IN_MILLISECONDS; // Always 30secs? GetSession()->SendPacket(data.Write()); } } diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp index 6d7fdffc73b..26dda8e646e 100644 --- a/src/server/game/Server/Packets/ItemPackets.cpp +++ b/src/server/game/Server/Packets/ItemPackets.cpp @@ -381,6 +381,7 @@ WorldPacket const* WorldPackets::Item::ItemCooldown::Write() { _worldPacket << ItemGuid; _worldPacket << uint32(SpellID); + _worldPacket << uint32(Cooldown); return &_worldPacket; } diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h index 69a6c5ab997..d179f03b041 100644 --- a/src/server/game/Server/Packets/ItemPackets.h +++ b/src/server/game/Server/Packets/ItemPackets.h @@ -376,12 +376,13 @@ namespace WorldPackets class ItemCooldown final : public ServerPacket { public: - ItemCooldown() : ServerPacket(SMSG_ITEM_COOLDOWN, 20) { } + ItemCooldown() : ServerPacket(SMSG_ITEM_COOLDOWN, 24) { } WorldPacket const* Write() override; ObjectGuid ItemGuid; uint32 SpellID = 0; + uint32 Cooldown = 0; }; class ItemEnchantTimeUpdate final : public ServerPacket diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index f0924dbde7d..7e5fe5e5e29 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1254,7 +1254,7 @@ 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_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); |
