Go back to matching by name the way Inline Aura did
mbattersby opened this issue ยท 2 comments
LibPlayerSpells-1.0 - specifically the drivers part of it - has become a millstone around your neck. To save your own sanity and stress levels, and get ABA largely working automatically, I suggest changing back to matching auras by name.
Looking at the design philosophy from the creation of ABA:
No spell auto-discovery
AdiButtonAuras only shows data for existing rules. It does not try to guess what to show.
Pro: avoid showing wrong data. [1]
Con: all spells of relevance for all classes should be listed. [2]Using spell ids instead of spell names
AdiButtonAuras uses the spells' numerical identifiers instead of their names to search for applicable rules.
Pro: avoid showing information on a wrong spell that has the same name as the intended one. [3]
Con: spell ids are sometimes different depending on shapeshift forms, glyphs or talents. All of them should be listed. [4]
the cons of matching by ID and having a huge DB of all spells now outweigh the pros by a huge amount. In particular:
- LibPlayerSpells-1.0 is too hard to maintain with the frequency of changes, especially with the amount of borrowed power (and even temporary buffs) adding new abilities. Talents, PVP talents, conduits, legendaries, soulbinds, everything adds up to making it overwhelming.
- In modern (retail) WoW the driver spells and the auras have the same name 99% of the time now. Blizzard have been very good at this in recent times.
- The number of "wrong spells" that might be shown is very small. Possibly zero, filtering auras by PLAYER or RAID.
This would cut LibPlayerSpells-1.0, or at least the part that needed to be maintained, to a manageable level: interrupts, crowd controls, etc. Things you really can't get out of the Blizzard API.
This is, I admit, a huge change and probably a lot of work. But I contend that it is less work, especially over time, than struggling to maintain LibPlayerSpells-1.0.
To put my money where my mouth is, I went ahead and tried making a button aura addon that matches by name to see how well it worked. And it's a dream. I spent less time making it from scratch than I spent trying and failing to completely update one class (rogue) in LibPlayerSpells-1.0. Pretty much every aura just works, and the amount of code required is tiny in comparison.
I hope you don't take this the wrong way. I love ABA and loved Inline Aura before it. I have no words for how grateful I am for its existence and the time and effort put into it, thank you so much. I just want to put this out there in case it saves ABA or your sanity.
TBQH I won't be the one doing this and I doubt it is worth it.
To put my money where my mouth is, I went ahead and tried making a button aura addon that matches by name to see how well it worked. And it's a dream. I spent less time making it from scratch than I spent trying and failing to completely update one class (rogue) in LibPlayerSpells-1.0. Pretty much every aura just works, and the amount of code required is tiny in comparison.
Then you are golden I suppose. So I don't quite understand why someone has to change anything here :)
I hope you don't take this the wrong way. I love ABA and loved Inline Aura before it. I have no words for how grateful I am for its existence and the time and effort put into it, thank you so much. I just want to put this out there in case it saves ABA or your sanity.
No offense taken, don't worry. If it helped you, I'm glad. If you found a better way to do it, I'm even happier.