WeakAuras

WeakAuras

206M Downloads

Additional Filter Options in Aura Triggers

Darianopolis opened this issue ยท 2 comments

commented

Is your feature request related to a problem? Please describe.
You currently can't (to my knowledge) create an aura trigger that checks if an aura is cast by a player unit, is a boss debuff, or a few other aura parameters that are returned from UnitAura.

name, icon, count, debuffType, duration, expirationTime, source, isStealable,
nameplateShowPersonal, spellId, canApplyAura, isBossDebuff, castByPlayer, nameplateShowAll, timeMod, ...
= UnitAura("unit", index[, "filter"])

I noticed this when I wanted to create a group that tracked mine, and non-player debuffs on my target.
E.g. I want to see all of my debuffs on the target, and any fight relevant debuffs, but not anything applied by other members of my group.

Describe the solution you'd like
Additional options in the Aura trigger:

  • "Cast By Player Unit"
  • "Is Boss Debuff"

Potentially other options could be included such as:

  • "Can Apply Aura"
  • "Nameplate Show Personal"
  • "Nameplate Show All"

Can Apply Aura could be useful in some circumstances, but the other 2 are of dubious use.

Describe alternatives you've considered
You could potentially whitelist every single possible non-player debuff, or blacklist every debuff that could be applied by a player unit. But that would require a very large amount of initial effort, and maintenance, and might still not work in some edge cases.
Through discussion in the #wa-discussion channel. I could only come up with a few other, sub-optimal, solutions.

  1. Simply making a TSU that manually scanned through the auras, effectively replacing the need for an aura trigger
  2. Doing a manual recheck of aura information within a Custom Grow function, which is arguably much worse than just making a TSU). And requires the manual re-implementation of a Grid Grow behaviour.
  3. Creating a Custom Sort that does a recheck of UnitAura and sorts items to be hidden last, then using a condition and a flag to make them transparent. (This is easily the worst of the 3 solutions and was just included here for completeness.)

There are probably several other ways of utilizing custom code in various ways to achieve this result. But none of them are good solutions.

Obviously these aren't desired as they double up (or worse) on the work that is already being done by WA, on one of the most heavily updated units (the boss).

commented

I want to see all of my debuffs on the target, [and any fight relevant debuffs,] but not anything applied by other members of my group

image

You could potentially whitelist every single possible non-player debuff (...) But that would require a very large amount of initial effort, and maintenance,

you can find a lot of such whitelist on wago.io for every dungeons and raids

I think i don't understand your use case

commented

I couldn't find any whitelists myself. But even so, would want something that would work for every single mob that might have non-player debuffs applied to it. So it would have to account for every debuff that could be applied by an npc to any mob in the open-world or any dungeon whilst levelling aswell.

"Own Only" is great if I wanna see my buffs specifically. But it won't help differentiate debuffs applied by someone else in my group (that I don't wanna see), or debuffs that are part of an event, encounter, or else that I would wanna see.

Although I realize now that I'm not sure if castByPlayer accounts for other Player's Pets. So maybe additionally being able to filter on source might help.