Adding customization to built-in status
spamwax opened this issue ยท 39 comments
- My most favorite feature of Aptechka is the incomingCastIcon which helps a lot in M+. Right now there is now way to assign that status to any other widget like a bar or
pixelGlow
widget. Is it possible to add this? Adding this lets the user to create a white list of important spells in M+ so proper decisions can be taken in terms of applying external damage reduction like Ironbark or Blessing of Protection - Similarly couple of other key features like
mitigation
are not customizable (currently assigned to abar
) I know I can find all mitigations in spell list and assign them to an icon but since Aptechka has a mechanism to capture them, wouldn't it be better to let the user assign it to different widgets/icon? - Another example is the customization of heal/damage absorbs (let user change color/texture?)
For questions now you can use https://github.com/rgd87/Aptechka/discussions
Or ask in discord
-
I've added IncomingCastStatus to config in 9.0.6, but not to GUI yet. if you reassign it to icon and a bar you'll get a proper castbar.
Regarding cast highlights not sure when and how, but yeah, it'd be nice. Like always, GUI is the problem here.
Actually, when i first added incoming casts i had an option to only show casts from the whitelist, but it quickly became clear that just showing everything is always better.
I still maintain the list tho, it's used to show casts with any degree of importance on top of other garbage.
Line 687 in 5d453c8
-
What mechanism to capture?
mitigation
is just a default bar widget. I guess what you mean is mass reassigning stuff that's using the same template. Yeah, that's a problem. -
What's wrong with default heal and absorb? I don't want to do this because there's an option to invert healthbar colors (which in fact most people use weirdly) and heal/absorb colors are configured differently based on that. If I make them customizable i can't control that anymore, without overwriting user settings.
But you can customize them in AptechkaUserConfig. So if you're the sort of person that's going around with their own absorb textures, then maybe you can manage to do it in Lua.
It can be done like this
Aptechka.PostFrameUpdate = function(self)
self.health.absorb2:SetVertexColor(0.7,0.7,1, 0.65)
self.health.incoming:SetVertexColor(0.3, 1,0.4, 0.4)
end
Also in 9.0.6 i've added a floating icon thing, it shows events like potions, healthstone, damage cooldowns. For now it's disabled by default in all profiles. It's kind of a test run of it, and it could be annoying in raids.
- What's the command line to reassign it? or what should I change in UserConfig?
- I think I wasn't clear enough. Right now when a tank uses mitigation I see bars at the bottom of the frame. So it seems Aptechka already knows about the mitigation spells without me specifying them. So I was wondering if the
mitigation
which is currently a bar in widget lists can be changed to icon. - I don't have a way of testing the absorbs colors/texture, but remembering from very few times they were active in dungeons I couldn't easily tell/remember which one is heal absorb and which one is damage absorb. That's why I want to be able to change them somehow.
On a separate but related note, I think I found a bug with invert health color. I'll open a separate issue.
config.IncomingCastStatus.assignto = set("incomingCastIcon", "bar4")
No, default widgets can't be deleted or replaced.
In 9.0.7 you can use this to do what you wanted.
config.templates["ActiveMitigation"].assignto = set("icon")
Runic power is it's own thing tho, not using AM template
That's great, thank you ๐
How do I deactivate the default/builtin IncomingCastStatus if I've assigned it to something else using config.IncomingCastStatus.assignto
option? The only way I thought of was to set the alpha of current incomingcast widget to 0!
Uhh... are you actually having problems with it?
You shouldn't need to deactivate anything.
- When you use userconfig you're effectively modifying the default settings.
- In most cases widgets aren't created until they're used. So if nothing is assigned to incomingCastIcon then it's not even there
That list is just widget settings. And if incomingCastIcon was still being used then it'd be created from these settings.
ok, understood. But using the custom config doesn't turn it off. I could see two widgets showing the incoming cast at the same time!
Type /dump AptechkaDefaultConfig.IncomingCastStatus
What does it say?
And what do you have in your UserConfig? It should be just config.IncomingCastStatus.assignto = set("customIcon", "customBar")
UserConfig has most of stuff that it came with after I downloaded the addon. But I added some profile logic change and incomingCastStatus
as well as ActiveMitigation
. This is my current userconfig.lua
I see the issue now! I thought first argument of set("incomingCastIcon", "Glimmer")
is the name of status! My bad :)
Also in 9.0.6 i've added a floating icon thing, it shows events like potions, healthstone, damage cooldowns. For now it's disabled by default in all profiles. It's kind of a test run of it, and it could be annoying in raids.
Enable Aptechka > Profile Settings > Buff Gain Floating icon
And then you'll see it
I'll try it as soon as I can get my damn M.2 drive to boot :)
By the release notes, I am guessing it's a better way of organizing user customizations, right?
First version with GUI for templates: https://github.com/rgd87/Aptechka/releases/tag/9.0.10-beta2
Well it's like doing config.templates["ActiveMitigation"].assignto = set("icon")
but GUI.
hmm... I guess I am not familiar with the concept of templates in Aptechka then. So config.templates["ActiveMitigation"].assignto = set("icon")
causes all my characters see the same assignment?
In short if you reassign template to different widgets all the spells that use it will follow. So you don't have to individually reassign 70 different cooldowns
After clicking save to create a user template
2x SharedXML\TableUtil.lua:111: bad argument #1 to 'pairs' (table expected, got nil)
[string "=[C]"]: in function `pairs'
[string "@SharedXML\TableUtil.lua"]:111: in function `CopyTable'
[string "@Aptechka\Options\SpellList.lua"]:251: in function <Aptechka\Options\SpellList.lua:207>
[string "=[C]"]: ?
[string "@Ace3\AceGUI-3.0\AceGUI-3.0-41.lua"]:72: in function <Ace3\AceGUI-3.0\AceGUI-3.0.lua:70>
[string "@Ace3\AceGUI-3.0\AceGUI-3.0-41.lua"]:306: in function `Fire'
[string "@Ace3\AceGUI-3.0-41\widgets\AceGUIWidget-Button.lua"]:22: in function <...dOns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-Button.lua:19>
I should not read your release notes as they bring more questions to mind about Aptechka's features :)
ok I see how it works.
So now I can assign multiple spells to a template to group them up, and later if modify the template's "assigned to" widget all of the spells will be updated.
As in before, I had to
1- Either manually change the widgets for all those spells
2- Or if I was lucky and only wanted to change location/size (and not type/icon/bar/text) of them I'd just update that particular widget's properties
is it possible to add the new flyout animation (or the flashing animation) to buffs/debuffs that are about to expire?
Later maybe another floating icon for when buffs actually expire. That was the plan at first but there's like no space left for it in the default setup.
But flashing when icons are about to expire would be kinda disproportionally costly for performance, so i don't want to do that (yet).
https://github.com/rgd87/Aptechka/releases
In the latest beta there's a new widget type BarIcon and it replaces the old default center icon and buffIcons.
It also plays animation when you can refresh
Looks good!
Regarding templates:
Each spell/buff has now a template assignment as well as a "assign to" option! Which one takes priority? Shouldn't "assign to" become disabled if user has select any template (other than None) from the drop down menu?
so if the chosen template is using a bar and "assign to" is using another widget, say, icon then the icon will take precedence?
under debuffIcons, there is "Boss Scale". I have noticed that debuffs from dungeon bosses don't honor that setting so the stay in default size of the widget. Is that scale only for raid bosses?