Druid rules improvements
mspykerez opened this issue ยท 12 comments
On my new druid Solar and Lunar Empowerment is not showing the good border rules when the buff is found on self, could it be because the blizzard default flash overwrites it? If so it would be a good idea to add an option to disable the default Blizzard highlight flashes (preferable per spell) so it does not interfere with the addon.
I would also like that the buff 'Wax and Wane' stacks would show like combo points on the icon without changing any border rules because at the moment this buff stacks only shows when we have the 'good' border rules selected and it will always show the cooldown of the buff which is higher than the ability itself making it a bit confusing.
Try
return Configure {
'Custom Wax and Wane',
'Shows the stacks of @NAME',
{ 8921, 93402 }, -- Moonfire, Sunfire (show the rule on those spells)
'player', -- the event unit (where to look for the buff)
'UNIT_AURA', -- the event for refrehing the rule
function(_, model) -- code to be executed when the event fires
local found, count, expiration = GetPlayerBuff('player', 239952) -- Wax and Wane
if found then
model.expiration = expiration -- delete this line if you don't want the timer
model.count = count
end
end,
238083, -- Wax and Wane artifact trait (the provider spell)
}
The idea is to only set the model properties you need. See here for further information.
You can also use ShowStacks, which is a shorthand of the above.
For the first part no: we don't modify stock ui flashes or touch the action bars otherwise (like cooldowns and stuff) as it could introduce taint. This is more suitable for an action bars addon that follows the secure system in WoW.
You have to disable the default rule and write your own for Wax and Wane.
I do not know how to code thus writing my own rule its out of the scope, a little help plz would be much appreciated!
Sorry to bother again but I got Oneth's Intuition legendary to drop on me and now I'm trying to create a rule where the buff that procs of it highlights the target spell, in this case when I get 'Oneth's Overconfidence' buff it should highlight my Starfall spell on the action bar, and when I get 'Oneth's Intuition' buff it should highlight Starsurge spell on the action bar. The thing is I'm clueless as how to create a rule for this, I tried to modify the string you gave me above to no avail, plus Starsurge spell appears not to be supported by the addon as it says status: 'unknown', can you fix this? and give me an example of a string that I can modify to all spells I want.
To summarize I want a rule to flash highlight the following 3 spells on my action bars when there is a buff present that makes them free of charge to use:
- Starfall > when 'Oneth's Overconfidence' buff is present
- Starsurge > when 'Oneth's Intuition' buff is present
- Lunar Strike > when 'Owlkin Frenzy' buff is present (this one has a default blizzard flash when Lunar Strike is empowered which makes it overwrite any rules, but I found out this little addon here https://wow.curseforge.com/projects/nobuttonglow which makes blizzard flashes not to show! making possible to use custom rules without any issues/conflicts, I only can wish that AdiButtonAuras had this option build-in too!)
Starfall > when 'Oneth's Overconfidence' buff is present
return SelfBuffAliases {
191034, -- on Starfall
209407, -- show Oneth's Overconfidence
}
Starsurge > when 'Oneth's Intuition' buff is present
return SelfBuffAliases {
78674, -- on Starsurge
209406, -- show Oneth's Intuition
}
Those are probably the simplest rules ABA has, but will show the normal "good" border with the buff duration. You can either use the "Show flash instead" option in conjunction with those rules or write the Configure
alternatives.
return Configure {
'OnethsOverconfidence',
BuildDesc('HELPFUL PLAYER', 'flash', 'player', 209407), -- Oneth's Overconfidence
191034, -- Starfall
'player',
'UNIT_AURA',
function(_, model)
local found, _, expiration = GetPlayerBuff('player', 209407) -- Oneth's Overconfidence
if found then
model.expiration = expiration -- for the buff timer
model.flash = true -- for the flash highlight
end
end,
}
For Starsurge it is the same, just replace the ids respectively.
Lunar Strike > when 'Owlkin Frenzy' buff
I'll try adding this through LibPlayerSpells, but its provider spell (Moonkin Form (Rank 2)) is not listed in the spell book, so I'll have to figure out how to do it.
is it also possible to highlight 'Remove Corruption'
This is already implemented. The "bad" border and the duration are displayed if there is a debuff you can dispel, either on the targeted ally or on yourself.
For Starfall and Starsurge I had to use the simplest rules with "Show flash instead" because the Configure alternatives is giving the error 'Error attempt to call a string value' !
As for 'Owlkin Frenzy' and after further testing I found out that the addon I mention before (https://wow.curseforge.com/projects/nobuttonglow) is not working properly as in I sometimes get some highlights procs when I have Lunar Empowerment buff, same happens with Solar Wrath when I have Solar Empowerment so this will be an issue because it will overwrite the 'Owlkin Frenzy' buff and AFAIK AdiButtonAuras doesn't disable the blizzard default highlights. Perhaps messing up with the frame strata can make it so AdiButtonAuras has always priority over the default blizzard highlights ?
because the Configure alternatives is giving the error 'Error attempt to call a string value' !
Ah, I missed a comma behind 'OnethsOverconfidence'. I edited my last comment to fix it.
ABA's overlays are independent from Blizzard's stock flashes. You can have all of ABA's model properties displayed together with a stock flash. Again, we do not modify the stock ui, we rather extend it.
It is the stock ui flash, the green border is beneath it. It won't break if you disable the stock flashes with some addon.