Atlantiss / NetherwingBugtracker

Official bugtracker for the Netherwing and Karazhan (2.4.3) realms.
52 stars 36 forks source link

[Hunter][Pets] Pet AI Behaviour with Growl #3820

Open Vortexsphere opened 5 years ago

Vortexsphere commented 5 years ago

Description:

Hunter pets, when issued a command - in particular, Growl - will not always execute the command, even though there is nothing that should be preventing it. When you have other abilities set to autocast and you issue the Growl command to your pet, it should run up to the mob and use it as its top-priority move (focus permitting, of course). Only then should the autocast stuff occur. The issue that exists is that sometimes - not always, but enough to be noticeable - the pet will essentially ignore the execution of the Growl command. It will run up to the mob and sometimes, instead of using Growl, will just begin to spam its autocast abilities and ignore Growl completely. It shouldn't take a genius to see that this is completely illogical. I've played hunter on a few different expansions and I've never had this issue with Growl before, so I suspect it's either something simple with the Core pet AI routines that could be fixed without too much difficulty (I hope).

Current behaviour:

Pets will sometimes ignore the execution of a given Growl command but will still run up and engage a mob if not in combat.

Expected behaviour:

The Growl command, when given to a pet not in combat, should be executed as the first thing a pet does when it runs up and engages a mob, taking priority above any set autocast abilities. Additionally, as long as the pet has focus for it, it's not on CD, and the pet is in range of its target and not otherwise CC'd, Growl should always be instantly executed when commanded to do so, since it's not on the pet's GCD.

Server Revision:

2585

Example:

Here's a GIF showing an example of what I mean: https://gph.is/2R9U0Ii

I start off by manually clicking the Growl, to make sure it's not macros or something else causing the issue. As you can see, the pet receives the command and runs towards the mob. However, when it reaches melee range, it doesn't cast Growl, despite it having full focus; instead it begins using its other abilities that are set on autocast. This is clearly a logical bug; Growl should cast as the first thing it does when reaching melee combat in this case.

A few seconds later, I begin attacking by using my Arcane Shot macro, that also has /cast Growl(Rank 2) in it (the Growl cast is the first thing in the macro, after the showtooltip line). As you can see, in this particular example, it happened to work, as the pet casted Growl when I gave it the command, although it doesn't always obey. I then told it to switch targets and manually clicked Growl again, which just so happened to work, although again, it only works sometimes; it should work always (assuming it has sufficient focus).

One last thing I wanted to mention is that the behaviour should be consistent, regardless of whether the ability is manually cast (clicked) or part of a macro. When I was testing this recently on vengeance's server for comparison, the pet worked flawlessly with commands given, both manual and macros, just like I remember and expected. I'm sure you guys can resolve the issue :)

DragunovUA commented 5 years ago

bump

Vortexsphere commented 5 years ago

This issue is still present. I think all that has to be done to fix it is to ensure that the issued command is given top priority in the pet action queue, above its set auto-cast abilities. Additionally, updating the frequency of pet AI ticks a little would help ensure that the pet doesn't run past the mob as it engages and then have to chase after it, which sometimes happens, particularly during moments of high latency (the sanitizer demonstrated this well).

DragunovUA commented 5 years ago

still there

The14me commented 4 years ago

That may need proof.

Zarant commented 4 years ago

From my experience with the classic client, auto cast commands are batched and are a little unresponsive, so if you manually send your pet to do something, odds are your pet is waiting for another spell batch to cast one of its auto cast spells. But in that sense, the spell you manually cast is always prioritized during a certain batch window.