Aptechka

Aptechka

182k Downloads

Adding customization to built-in status

spamwax opened this issue ยท 39 comments

commented
  • 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 a bar) 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?)
commented

For questions now you can use https://github.com/rgd87/Aptechka/discussions
Or ask in discord

commented
  1. 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.

    helpers.importantTargetedCasts = {

  2. 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.

  3. 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.

commented
  1. What's the command line to reassign it? or what should I change in UserConfig?
  2. 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.
  3. 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.
commented
config.IncomingCastStatus.assignto = set("incomingCastIcon", "bar4")

No, default widgets can't be deleted or replaced.

commented

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

commented

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!

commented

Uhh... are you actually having problems with it?
You shouldn't need to deactivate anything.

  1. When you use userconfig you're effectively modifying the default settings.
  2. In most cases widgets aren't created until they're used. So if nothing is assigned to incomingCastIcon then it's not even there
commented

I used config.IncomingCastStatus.assignto = set("incomingCastIcon", "bar4") as you suggested (I am assigning it to a diff widget than bar4) and restarted the game.

But incomingCastIcon widget shows up in the list, and since it's not green I am assuming it's added by the mod?
temp1

Should I delete that?

commented

That list is just widget settings. And if incomingCastIcon was still being used then it'd be created from these settings.

commented

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!

commented

ezgif com-video-to-gif(4)

commented

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")

commented

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

temp1

commented

It should be just config.IncomingCastStatus.assignto = set("Glimmer")

commented

I see the issue now! I thought first argument of set("incomingCastIcon", "Glimmer") is the name of status! My bad :)

commented

What's the new floatingicon widget for?

commented

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

commented

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?

commented
commented

Well it's like doing config.templates["ActiveMitigation"].assignto = set("icon") but GUI.

commented

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?

commented

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

commented

oh, I see, that's pretty neat.

commented

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>
commented

I should not read your release notes as they bring more questions to mind about Aptechka's features :)

commented

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

commented

Yeah, that's the idea.

commented

is it possible to add the new flyout animation (or the flashing animation) to buffs/debuffs that are about to expire?

commented

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).

commented

how about changing the color of bars/squares at a set time?

commented

I'll try it

commented

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

commented

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?

commented

spell settings only inherit templates, you can layer individual spell settings on top

commented

so if the chosen template is using a bar and "assign to" is using another widget, say, icon then the icon will take precedence?

commented

yes

commented

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?

commented

What debuffs use it or not is detemined by blizzard and it's usually reserved for something important, not just anything. I also have a table with spell Ids that flag it in addition to that, but that's mostly for pvp CC debuffs.