Quantcast SPELL_AURA_REFRESH question - WoWInterface
Thread Tools Display Modes
08-03-19, 03:15 PM   #1
merlecorey
A Murloc Raider
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 9
SPELL_AURA_REFRESH question

I'm trying to figure out how to track unit auras in 8.x and I've run into something I don't understand.

I have a Ret paladin with the Zeal talent. This talent gives me a stackable buff whenever I cast Judgment. Here's the scenario that makes my head hurt:

* I cast Judgment and get a SPELL_AURA_APPLIED for Zeal.
* I cast Judgment two more times and get a SPELL_AURA_APPLIED_DOSE for each. My Zeal stack is now at the maximum value.

From that point on, further casts of Judgment generate no events for my Zeal buff. I expected to get a SPELL_AURA_REFRESH for Zeal or, well... something to indicate that the buff duration has been refreshed. Nope. The default Blizzard UI reflects the updated expiration properly, but my code doesn't get a CLEU event.

Is there anything I am missing here?

Edit: To clarify, I know SPELL_AURA_REFRESHED is not completely gone: my Judgment casts leave a debuff on the target which gets SPELL_AURA_REFRESHED every time. That's not the problem. The problem is that it's not generated for buffs on me.

Last edited by merlecorey : 08-03-19 at 03:31 PM.
  Reply With Quote
08-03-19, 07:45 PM   #2
d87
A Flamescale Wyrmkin
 
d87's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 136
It just doesn't fire refresh event for auto-refreshes or extensions. Been that way since cataclysm i think. There are maybe other cases, but the bottom line is you can't completely rely on CLEU.
  Reply With Quote
08-03-19, 07:49 PM   #3
merlecorey
A Murloc Raider
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 9
Originally Posted by d87 View Post
It just doesn't fire refresh event for auto-refreshes or extensions. Been that way since cataclysm i think. There are maybe other cases, but the bottom line is you can't completely rely on CLEU.
Any suggestions how to handle it in the least CPU- and resource-intensive manner? I suppose I could always process UNIT_AURA and check for any auras whose expiration time has changed, but that kind of sucks.
  Reply With Quote
08-03-19, 08:06 PM   #4
d87
A Flamescale Wyrmkin
 
d87's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 136
Yes, you need to do both. And to reduce CPU the only thing you can do is to minimize the amount of UnitAura scanning
  Reply With Quote
08-03-19, 08:31 PM   #5
merlecorey
A Murloc Raider
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 9
Originally Posted by d87 View Post
Yes, you need to do both. And to reduce CPU the only thing you can do is to minimize the amount of UnitAura scanning
I don't see how I can avoid scanning every single aura for that unit on every single UNIT_AURA event, though, if I want to figure out which buffs got refreshed.
  Reply With Quote
08-03-19, 08:42 PM   #6
d87
A Flamescale Wyrmkin
 
d87's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 136
i mean avoid scanning units/guids that do not have existing timers. But it doesn't really matter anyway

EDIT: It is maybe better not to do that, because sometimes you'll need to create timers from UnitAura too, in case it wasn't registered in combat log (like if you reload ui in the middle of combat)

Last edited by d87 : 08-03-19 at 08:49 PM.
  Reply With Quote
08-04-19, 03:43 AM   #7
aallkkaa
A Black Drake
 
aallkkaa's Avatar
AddOn Author - Click to view addons
Join Date: Jun 2017
Posts: 89
I understand your Paladin's Judgment + Zeal is only an example, but it this were to work for that, i might work for all such case...?

Given that your "Judgment casts leave a debuff on the target which gets SPELL_AURA_REFRESHED every time. That's not the problem. The problem is that it's not generated for buffs on" you, could you not track just that Judgment on said target and use that to reset the duration on Zeal?
For this to work for other spells, aside just Zeal, you'd need to have some kind of table linking debuff-on-target to buff-on-self for each such case, but... presuming you had that table, then I believe that would be a less CPU intensive routine.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » SPELL_AURA_REFRESH question

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off