I'm sure most of you have had your pet stop attacking without realising it, for one of the following reasons:
a.) it's on passive and you forgot (dark animus pet tanking)
b.) it despawned due to range (immerseus)
c.) it died (dark shamans)
d.) pet move and you forgot (beast cleave)
e.) he decided to go on an adventure due to pet pathing issues (megaera)
f.) general retardation
Anyway I was looking for an addon to help me out and I couldn't find anything other than this which is ugly as sin and uncustomisable/unsupported.
I tried to make a weakaura but there wasn't any easy way to do it, and the only thread I could find with something relevant was kinda broken and horribly inneficient.
I spent a bit more time on it and was able to come up with a pretty good solution by modifying a priest Rapture aura.
Here's a video of how it looks.
Here is the import string if you're interested:
It's a roudabout method, but it's the best way that I could find to do it. Here's a general idea of how it works:
There's a hidden aura named 'Pet Is Attacking'. This activates every time your pet deals damage with a melee swing. If your pet hasn't attacked in 2 seconds for any reason (dead, despawned, dismissed, out of range, passive, immune) it will hide. You can modify this number to your preference, under 'Pet Is Attacking' > Trigger > Hide > Duration.
When the 'Pet Is Attacking' aura hides, it triggers another aura named 'Pet Not Attacking' which is what you see, and it will show as long as you are in combat and until your pet attacks again.
More technical info to help someone like me who stumbles upon this and wants to modify it:
Every time the 'Pet Is Attacking' aura hides or shows it triggers an event named WA_CHECK_PET that the other aura can check for so it doesn't have to scan every frame or something stupid. When it shows, it sets a variable WA_Pet_Attacking to true, and when it hides it sets it to false.
The 'Pet Is Not Attacking' aura triggers every time the WA_CHECK_PET event is sent, and then it checks if WA_Pet_Attacking is true or false and hides or shows the aura.
Hope this helps