WeakAuras

WeakAuras

200M Downloads

Item Quality for Icon Auras

kensylvia opened this issue ยท 7 comments

commented

Is your feature request related to a problem? Please describe.
With the new crafting system, items have "quality." Those quality levels change the item's level and power. Unfortunately, they are implemented through a BonusID system, and the IconID is the same for all versions of the same item. This makes it either impossible or very difficult to have an icon aura that represents a crafted item to be accurate--it will always be missing the quality icon.

Describe the solution you'd like
I would like a default option in the icon Settings menu to add Item Quality to the icon. It would be ideal for WA to be able to pull the bonus ID or item quality off the ItemID, which is different for each quality level. I assume it would be possible for WA to look this up as it's running.

Describe alternatives you've considered
I think custom code would be the only option now, and I wouldn't know where to begin. One perhaps simpler fix would be a simple drop down menu to select none, 1, 2, 3, 4 or 5, which would just slap the quality icon on the icon aura. This may be suboptimal, as it would not be dynamic, but it would be better than nothing and would work fine in many cases (and I assume it would be easier to implement)

Additional context
This seems like a feature that even casual users would use. Requiring custom code to simply display the same icon that shows up in the stock wow bags is suboptimal. Item Quality, for better or worse, appears to be here to stay, so adding this to the addon would be a positive change.

I have included a screenshot of three phials in my bags below. They are all called "Charged Phial of Alacrity" and have the IconID 4497589. However, they have different ItemIDs and bonusIDs (which are harder to find). I would like my WA for them to look like they do in my bags, but I can only use the icon without the quality symbol as of now.

Thanks

image

commented

On what kind of aura would you want to display the quality?

commented

An example would be an aura that tracks what raid consumables I have in my bags. There are about a million different types of items for that this expansion, so having something to keep it all sorted will be really useful. That's the context in which this came up, but I'm sure there are other examples of icon aura showing items that now have quality associated with them.

I'll need something to tell me to go buy or make more of whichever things end up being correct to use.

commented

That's a very niche use case, which I doubt we'll cater to any time soon.

commented

i think the only remotely reasonable way to do this is by adding a new texture string to state of item triggers (call it reagentQuality, if the tradeskill api is any guide), and have the user add the text subregion themselves.

commented

Yeah we need to:
a) Extend our triggers to
a1) Fetch that information
a2) Allow filtering based on that information

b1) Either a text replacement, similar to %raidMark or
b2) Add a texture sub element, which you'd show/hide based on conditions

At least I think that's more reasonable than building it directly into the icon region.

commented

A work-around I ended up using, courtesy of some help from the WA Discord, is a custom text field using this code:

function() return CreateAtlasMarkupWithAtlasSize("Professions-Icon-Quality-Tier3-Small") end

Then %c to display the custom text in a text field on the aura. This is a completely manual implementation that doesn't look up the quality icon based on anything, like a trigger, it just slaps the listed icon into a text field.

Manipulating it as a text field is fine from a usability perspective. Having this built into the Item Count or similar trigger and then having %itemQuality as a text replacement would work great.

commented

looks like C_TradeSkillUI.GetItemReagentQualityByItemInfo(itemID) is the magic spell to make this happen. This returns nil for equipment, but consumables & reagents both produce correct results.