aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-08-11 09:02:58 +0200
committerShauren <shauren.trinity@gmail.com>2014-08-11 09:02:58 +0200
commit730ca4d9e07865f74e5957138c47703bb0de4b88 (patch)
tree3f4c5878eb627f6e30a9ff2064aba30c08f7accf /src
parent14cb6e4235ebb84ad41d6ceb4eaf56c0b55d9238 (diff)
parent5dcf11115045c8c848efac9c4c4451f5cc26d447 (diff)
Merge pull request #12818 from MrSmite/pet_spell_cooldown
Fix pet spell cooldown
Diffstat (limited to 'src')
-rw-r--r--src/server/game/AI/CoreAI/PetAI.cpp2
-rw-r--r--src/server/game/Spells/Spell.cpp7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp
index 8032568434f..4bce9113082 100644
--- a/src/server/game/AI/CoreAI/PetAI.cpp
+++ b/src/server/game/AI/CoreAI/PetAI.cpp
@@ -246,8 +246,6 @@ void PetAI::UpdateAI(uint32 diff)
me->SendUpdateToPlayer(owner->ToPlayer());
}
- me->AddCreatureSpellCooldown(spell->m_spellInfo->Id);
-
spell->prepare(&targets);
}
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 1245ef71a4d..c81b3ebc6fe 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -3420,7 +3420,14 @@ void Spell::SendSpellCooldown()
{
Player* _player = m_caster->ToPlayer();
if (!_player)
+ {
+ // Handle pet cooldowns here if needed instead of in PetAI to avoid hidden cooldown restarts
+ Creature* _creature = m_caster->ToCreature();
+ if (_creature && _creature->IsPet())
+ _creature->AddCreatureSpellCooldown(m_spellInfo->Id);
+
return;
+ }
// mana/health/etc potions, disabled by client (until combat out as declarate)
if (m_CastItem && (m_CastItem->IsPotion() || m_spellInfo->IsCooldownStartedOnEvent()))