Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

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

Closed
MrSmite opened this Issue · 4 comments

3 participants

MrSmite Trond B Krokli Aokromes
MrSmite

Core: c28345e
DB: TDB_full_335.52 + updates

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

Bug:

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...

Details:

  • 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

Notes:

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
MrSmite MrSmite changed the title from [335] Growl (pet) stops working on target switch to [335] Pet abilities stop working "ability not ready"
MrSmite

Update:

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.

MrSmite

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.

MrSmite

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 referenced this issue from a commit in MrSmite/TrinityCore
MrSmite Fix pet spell cooldown being extended without successful cast
Closes #12560
5dcf111
Shauren Shauren closed this in #12818
Trond B Krokli

Nice work troubleshooting this issue, @MrSmite ! :smirk_cat:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.