aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2013-08-06 08:35:57 -0700
committerNay <dnpd.dd@gmail.com>2013-08-06 08:35:57 -0700
commit8dccf610054d579d65a80f415b9dce19bb95bc2b (patch)
tree8b8c7be9f00a588582692fbe16871dd3cceaeab8 /src
parent1bf1f95a8ead4ad898723a63501d7a4034bda166 (diff)
parent4bb49378fc62ac89e841d2525afdd054b40b0754 (diff)
Merge pull request #10445 from Discover-/Cooldown-Exploit
Core/Items: Fix an exploit where players would be able to reset the cool...
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index b2312d13896..ac8b7d92f21 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -22684,6 +22684,11 @@ void Player::ApplyEquipCooldown(Item* pItem)
if (spellData.SpellTrigger != ITEM_SPELLTRIGGER_ON_USE)
continue;
+ //! Don't replace longer cooldowns by equip cooldown if we have any.
+ SpellCooldowns::iterator itr = m_spellCooldowns.find(spellData.SpellId);
+ if (itr != m_spellCooldowns.end() && itr->second.itemid == pItem->GetEntry() && itr->second.end > time(NULL) + 30)
+ break;
+
AddSpellCooldown(spellData.SpellId, pItem->GetEntry(), time(NULL) + 30);
WorldPacket data(SMSG_ITEM_COOLDOWN, 12);