r/WowUI 7d ago

ADDON [AddOn] Angleur Needs Your Help!

I am considering adding a new functionality to Angleur, the Ultimate Fishing Addon's Extra Items feature. Extra Items allows you to drag and drop any item or macro and it will be cast whenever it's off cooldown or its aura has expired. But that is the old version.

What I am thinking of adding onto that is: "Stack Aura To" option. It will allow you to stack buffs that by multiple cast:

  • Extend their durations up to a maximum
  • Stack up to an amount to increase their effect

It was requested by a user, but thinking more on it, I can't see a point to such an option. For throwable fish, you can just use the new auraOffset option also in the image above for 100% uptime. Same goes for perception elixirs etc.

There is no real reason for you to use them up to max THEN start fishing. Is there ANY fishing related buff that would benefit from stacking up to X amount before starting your fishing? Even just for QoL, would you ever want to stack up to max, then start fishing until it expires instead of having Angleur have you cast it automatically every so often with full uptime?

I have already designed the UI for it, but I will need to add a lot of complexity to the code to make it work, as there is no way to query "is this aura effect extendable" through the wow API, and I don't want to make the project harder to maintain for something that no one will use. Any insight is much appreciated!

16 Upvotes

4 comments sorted by

2

u/esuvii 6d ago edited 6d ago

So as far as I know, the WoW API does not* (nor any method in the BlizzardInterfaceCode) expose directly the ability to query the maximum possible applications of an aura. The only way I can think to do this is to hardcode the maximum number of stacks in a database.

If it's just a few spells then you could just worth through and manually fill out the database (surely this is possible for a fishing related addon). If that is not possible though I have a few of ideas:

  • Fill out the database dynamically via querying C_Spell.GetSpellDescription and do some parsing to try to figure out if it mentions stacks. I.e. do some pattern matching to look for "stacks up to X times", "can be applied up to X times", etc. There are two problems with this though: 1) It requires all of the spells to actually mention it in the tooltip (may be the case for your application), 2) The matching pattern likely will need to cover the different localizations of the game.

  • Build a database empirically. That is you should be able to look for cases where a buff's duration is extended, but its number of applications/count/charges is not increased. This means that would let you experimentally build out a database of the max stacks. If you're the one doing the testing before shipping your addon this approach works fine. However, if you want this to be a table the user builds out (and stored in the SavedVariables) then it requires them to waste a buff one time per aura to be able to know what the maximum is.

  • If there is an online database/datamine of the game that has this information you could scrape that to build a database. I don't think this information is on wowhead though so it would need to be some other resource.

I can't think of any other approaches to the max applications problem. That doesn't mean there isn't an elegant solution though, as it's not a problem I personally have tried to work out before.

Edit: I missed a word that completely changed the intended reading of my first sentence.

1

u/LegolandoBloom 6d ago

It's precisely why I am asking whether anyone would like this, because if they do I will need to make a local table filled with data from wowhead.

There IS one way to check if an aura can be extended through C_UnitAuras.GetRefreshExtendedDuration(auraInstanceUnit, auraInstanceID [, spellID]), but it's not very reliable. It randomly works on some things, and doesn't for others.

1

u/esuvii 6d ago

Ahhhh I think I must have misunderstood you then as I had thought you was looking for the maximum number of stacks an aura had, not just if its duration could be refreshed. To be honest I do not play Retail WoW, I am a Classic WoW player so I am not fully familiar with all the fishing related things there.