[335] Pet abilities stop working "ability not ready" #12560

MrSmite opened this Issue Jul 18, 2014 · 4 comments

3 participants


Core: c28345e
DB: TDB_full_335.52 + updates

EDIT: This does not seem to be limited to Growl. See my update below


When a pet kills a target and switches to a new target, Growl will stop working unitl you exit combat or toggle off other pet abilities.

Note: The linked site says it costs mana but it is actually focus...


  • Put your pet on passive
  • Aggro multiple targets so they attack you not your pet
  • Switch your pet to defensive
  • When it picks a target, switch to it and assist your pet in killing it
  • Let the pet choose a new target but don't attack it yourself
  • Notice that Growl will not work (random) even with the required 15 focus
  • Spam click Growl, you will get the message Ability isn't ready yet even though the cooldown is up


Sometimes turning off other pet abilities gets Growl working again. Not sure if there's an issue with cooldown collision or what. It also seems a bit random in that sometimes it happens frequently and other times it only happens occasionally (I guess that defines random ;) )

@Aokromes Aokromes added the Comp-Core label Jul 19, 2014
@MrSmite MrSmite changed the title from [335] Growl (pet) stops working on target switch to [335] Pet abilities stop working "ability not ready" Aug 9, 2014


This is not limited to Growl as I had first thought. I've been playing around with a Wolf and it appears that abilities such as Bite silently trigger the cooldown for Furious Howl (no visual CD).

During combat, I noticed that the cooldown on Furious Howl had finished but it would not cast even though my pet had enough focus. I turned off all abilities and kept clicking FH while receiving "Ability is not ready" errors. Once a full 40 seconds went by it cast and started a visible cooldown.

Since Bite has no cooldown, it seems to keep other abilities in a constant state of cooldown. This same issue can be seen with other pet abilities. The lower or no cooldown abilities seem to trick the AI into thinking everything is in cooldown.

This is a relatively recent bug, up until a few months ago it did not exist.


So after mucking around in the debugger it appears the spells are getting stuck at SPELL_FAILED_NOT_READY after HasSpellCooldown() is checked.

Having trouble figuring out why... my guess is that the cooldown is not being cleared properly when the timer ends.


More info:

AddCreatureSpellCooldown() is called in both the PetAI and PetHandler::HandlePetActionHelper(). The one in PetAI seems to be set wether the spell cast or not so it applies the cooldown in the background.

This begs the question, why isn't the cooldown set in Spell::Cast() instead of the calling function? In fact, SendSpellCooldown(), which is called from Spell::Cast(), does this for the Player but not for the pet. Seems reasonable that the pet's cooldowns should be handled there.

Will be testing this shortly.

@MrSmite MrSmite pushed a commit to MrSmite/TrinityCore that referenced this issue Aug 10, 2014
MrSmite Fix pet spell cooldown being extended without successful cast
Closes #12560
@Shauren Shauren closed this in #12818 Aug 11, 2014
TrinityCore member

Nice work troubleshooting this issue, @MrSmite ! 😼

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment