diff options
author | Shauren <shauren.trinity@gmail.com> | 2014-08-11 09:02:58 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2014-08-11 09:02:58 +0200 |
commit | 730ca4d9e07865f74e5957138c47703bb0de4b88 (patch) | |
tree | 3f4c5878eb627f6e30a9ff2064aba30c08f7accf /src | |
parent | 14cb6e4235ebb84ad41d6ceb4eaf56c0b55d9238 (diff) | |
parent | 5dcf11115045c8c848efac9c4c4451f5cc26d447 (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.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 7 |
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())) |