Quantcast Aura Mastery - ESOUI
Thread Tools Display Modes
05/17/16, 03:15 AM   #1
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 198
Post Aura Mastery

Hi guys,

I've just finished creating the first alpha version of my addon. Describing or categorizing it is very difficult imo, you could probably describe it as a "notification/aura manager".

The idea behind it:

Create your own Icons/Statusbars and display them based upon userdefined conditions. With "status conditions" (health points, ressources, unit_states), "combatLogEvent" based conditions (e.g. UNIT_SPELLCAST_SUCCEDDED [thats from WoW, i am not familiarized with ESOs combatlog, yet) and other stuff it's currently not more than a customizable aura tracker working on a whitelist basis.

It will probably be more clear if u take a look at the screenshots:




In this case I picked argent dawnbreaker's icon for the display, set it's dimensions to 64x64, border of 1px...
I let it display once the following conditions are met:

1. Deto's timeleft < 3s
2. Rapid maneuver's timeleft > 10s
(Makes no sense, it's just for demonstration purposes).

Each Icon can be configured seperatly, there are no lists or groups, so u can keep your interface clean and only display stuff once it gets interesting.



This is the configuration menu.
The left side contains all auras you created. The names are just for personal identification purposes.
On the right side there are 3 menu categories:

1. Display options
- Transparency is alpha and ranges from 0(invisible)-1(no transparency) quite self explanatory to coders
- critical: once the timeleft goes beyond this threashold display the duration in milliseconds

2. Display conditions
The conditions always compare the value specified within the value-editbox using the selected operator to an aura's remaining duration.
- Check all: In ESO every ability(-morph) has 4 ranks. Therefor the ability has 4 different spell IDs, 1 for each rank. If u set this to true the addon will not only track your specified rank, but all ranks for the provided spell. This will be useful for configuring a display based on enemies debuffs on you (their spell ranks can be from 1-4 without any chance to exactly know it) and saves the user from creating a condition for every rank.

- Invert: Invert the whole provided logic. This is useful for displaying an aura if the specified debuff is not present and hide it once it is up. This could've been achieved using a "value == 0" logic, but as I said before i will add some other conditions, such as statusconditions one day, where a numeric expression would not work that easily.




Please be aware that this addon is my first steps within the ESO-Api. Especially the menu controls and the way their functionality is implemented are most probably a mess because I had no time to familiarize myself with the original templates provided bei Zenimax, so I inherited from absolutely nothing and built most editboxes, submenus, dropdownmenus, etc. from scratch using not more than basic controls. This is gonna change in the future.

In other words: This is a very early alpha version to get everybody an idea of what I am doing/planing.



Usage:


/am menu << Open the config menu to set up your auras

/am unlock << Make all auras movable (pixel precise positioning can be done in the menu)

/am unlock << self explanatory


Any feedback, comments, bug reports or tips how to do better would be HIGHLY appreciated!

Cheers,
Letho
Attached Files
File Type: zip AuraMastery.zip (46.6 KB, 181 views)

Last edited by Letho : 05/18/16 at 09:33 AM.
  Reply With Quote
05/17/16, 04:58 AM   #2
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,108
Looks great! I'll have to give it a try.

If you are looking for an easy and widely accepted way to do the settings menu you could use LibAddonMenu and create custom controls for the parts that are not already defined.
__________________
>siri.exe MyAddon
Does your addon work? [y/n] n
There is a typo in there.
  Reply With Quote
05/17/16, 07:40 AM   #3
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 198
Well, i have thought about using LAM2, problem is, as far as I understood it, it defines controls in the style of ESO's main menu (thereby using fixed controls with textures, specific proportions, and so on). Looking into it and understanding it 100% is one of my future goals for AuraMastery^^

Thx for trying it, let me know if u run into any issues or have some ideas how to improve it!

P.S.: There is currently no way for tracking all Major/Minor buffs, the spell IDs have to be set up one by one. I'm gonna implement that next, once my exam phase is over

Last edited by Letho : 05/17/16 at 07:44 AM.
  Reply With Quote
05/17/16, 09:46 AM   #4
Scootworks
 
Scootworks's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 214
maybe you can use this list
http://esoacademy.com/buffs-debuffs/

and look for the id's in Srendarr ?
  Reply With Quote
05/17/16, 01:08 PM   #5
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 198
Hey, I'm already using that list It's not 100% complete, though! I'll take a deeper look into srendar's code tomorrow and ask kith for permission.
  Reply With Quote
05/17/16, 02:06 PM   #6
Scootworks
 
Scootworks's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 214
good idea. maybe deltias list is more complete?
  Reply With Quote
05/17/16, 02:52 PM   #7
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 198
I misunderstood. The list is complete in terms of buffs/debuffs, just not in terms of what buff/debuff is triggered by what ability^^ I need the 2nd (the spell IDs to be precise).
  Reply With Quote
05/17/16, 09:58 PM   #8
Scootworks
 
Scootworks's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 214
Originally Posted by Letho View Post
I misunderstood. The list is complete in terms of buffs/debuffs, just not in terms of what buff/debuff is triggered by what ability^^ I need the 2nd (the spell IDs to be precise).
aaah ok

i tried to add retreating maneuver, but it doesn't work, because i don't understand the Display conditions with their values...
  Reply With Quote
05/18/16, 12:47 AM   #9
Baertram
 
Baertram's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 1,741
Looks good so far.
Wasn't able to test it yet but on first glance I'd say there is missing a simple way to use the skills/aura icon/texture itsself without having to browse all icons from that "skill tree" :-)

You are able to get the texture from the skill/ability name as far as I know.
At least for player buffs this works by using the events for buffs you'll find in the Wiki -> Events.
  Reply With Quote
05/18/16, 02:19 AM   #10
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 198
Originally Posted by Scootworks View Post
aaah ok

i tried to add retreating maneuver, but it doesn't work, because i don't understand the Display conditions with their values...
Displaying conditions are always compared to the provided spell's duration left. Lets say u found the spellId of retreating maneuver using the spell-ID finder on the right side.

Enter it in the Spell-ID-Box (never forget to press [Enter] to save it!)
Leave "check all" and "invert" to false
Operator and value determine the condition itself: " > 3" means disaplay the icon as long as the timeLeft of the provided spellId (in your case the ability id of retreating maneuver) is longer than 3s.

In short: Just read it as

"Display as long as [ability-ID]'s duration is [operator] than [value]."


Originally Posted by Baertram View Post
Looks good so far.
Wasn't able to test it yet but on first glance I'd say there is missing a simple way to use the skills/aura icon/texture itsself without having to browse all icons from that "skill tree" :-)

You are able to get the texture from the skill/ability name as far as I know.
At least for player buffs this works by using the events for buffs you'll find in the Wiki -> Events.
Right, problem is, on a multi-conditioned display: what automatic icon shall i choose for display? flipping icons could be quite confusing.
  Reply With Quote
05/18/16, 02:32 AM   #11
Baertram
 
Baertram's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 1,741
Well I forgot about the "multi conditions"
Maybe choose the icon of the first condition automatically and let it change manually, or let the user choose if he wants to use the icon of 2nd, 3rd, 4th, ... condition as he adds a condiiton.

I bet most of the diplayed stuff will be related to only 1 buff (or result in the view of 1 desired buff where it's "all about", like your argent downbreaker icon)
  Reply With Quote
05/18/16, 03:25 AM   #12
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 198
I could make the addon preselect an icon based on the first icon condition (as 1st condition could also be a status condition). That introduces another problem though: Lets assume the user enters an ability-ID, the addon would check if there is an icon-set. The check fails and the addon would use the ability ID's icon now and put it into the svars. Now the user changes his mind and adds another ability-ID => Icon wont be updated now, because there is already an icon set. I'd have to add another variable that contains the state if an icon is user-selected. im uncertain if that's really worth the effort.

Last edited by Letho : 05/18/16 at 03:40 AM.
  Reply With Quote
05/18/16, 09:34 AM   #13
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 198
/new build (lua error fixes)
  Reply With Quote
05/18/16, 08:12 PM   #14
Randactyl
 
Randactyl's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 253
using 0.2a

okay, so I have this set up:



Firstly, the aura box is not displayed on UI load as I would expect it to be under the specified conditions (no, i was not affected by the buff at the time of UI load)

Secondly, the box appears as it is supposed to if I cast Igneous Weapons after the UI load and the time remaining reaches the specified value. When it appears or when the buff runs out (couldn't pinpoint), these errors are thrown:
Code:
user:/AddOns/AuraMastery/Functions.lua:36: attempt to index a nil value
stack traceback:
	user:/AddOns/AuraMastery/Functions.lua:36: in function 'AuraMastery.OnEffectEvent'

user:/AddOns/AuraMastery/Functions.lua:107: attempt to index a nil value
stack traceback:
	user:/AddOns/AuraMastery/Functions.lua:107: in function 'AuraMastery:CheckCondition'
	user:/AddOns/AuraMastery/Functions.lua:94: in function 'AuraMastery:TriggerAura'
	user:/AddOns/AuraMastery/Functions.lua:65: in function 'AuraMastery:UpdateAura'
	user:/AddOns/AuraMastery/Functions.lua:60: in function 'AuraMastery.updateHandler'
Edit: I forgot to say that the aura box does not update after the errors are thrown and is just stuck there.
__________________
Randactyl | NA Megaserver | Blood for the Pact!

My Addons
Check out my GitHub repos to follow my latest changes and see some addons before they are released.
  Reply With Quote
05/19/16, 01:03 AM   #15
Baertram
 
Baertram's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 1,741
Maybe I get it wrong or you think too complicated
Just overwrite the icon in the svars if the user manually changes it (if there already was determined or set an icon before).
  Reply With Quote
05/19/16, 01:23 AM   #16
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 198
Originally Posted by Randactyl View Post
using 0.2a

okay, so I have this set up:



Firstly, the aura box is not displayed on UI load as I would expect it to be under the specified conditions (no, i was not affected by the buff at the time of UI load)
I probably failed to describe that functionality. If there are no effects up on you, the appropriate timeLeft-variable is not 0, but not defined to prevent it from updating and costing ressources. If you want an icon to bedisplayed if a certain effect is NOT up, the conditions must be set to always display (ABILITY_ID > 0) and then the logic must be inverted (INVERT=true).
Based on your specified conditions the icon should show up at timeleft < 1 and vanish once it runs out.
Originally Posted by Randactyl View Post
Secondly, the box appears as it is supposed to if I cast Igneous Weapons after the UI load and the time remaining reaches the specified value. When it appears or when the buff runs out (couldn't pinpoint), these errors are thrown:
Code:
user:/AddOns/AuraMastery/Functions.lua:36: attempt to index a nil value
stack traceback:
	user:/AddOns/AuraMastery/Functions.lua:36: in function 'AuraMastery.OnEffectEvent'

user:/AddOns/AuraMastery/Functions.lua:107: attempt to index a nil value
stack traceback:
	user:/AddOns/AuraMastery/Functions.lua:107: in function 'AuraMastery:CheckCondition'
	user:/AddOns/AuraMastery/Functions.lua:94: in function 'AuraMastery:TriggerAura'
	user:/AddOns/AuraMastery/Functions.lua:65: in function 'AuraMastery:UpdateAura'
	user:/AddOns/AuraMastery/Functions.lua:60: in function 'AuraMastery.updateHandler'
Edit: I forgot to say that the aura box does not update after the errors are thrown and is just stuck there.
I could reproduce the error and i am just debugging it, thx for reporting!

Last edited by Letho : 05/19/16 at 02:01 AM.
  Reply With Quote
05/19/16, 02:01 AM   #17
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 198
Problem should be solved, now. The bug was caused by abilities, that provided buffs to not only the player, but also allies.

Originally Posted by Baertram View Post
Maybe I get it wrong or you think too complicated
Just overwrite the icon in the svars if the user manually changes it (if there already was determined or set an icon before).
That's exactly the way it is currently done
  Reply With Quote
05/19/16, 08:08 AM   #18
esportman
Join Date: May 2016
Posts: 3
I will give it a try, thanks
  Reply With Quote
05/19/16, 11:30 PM   #19
Randactyl
 
Randactyl's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 253
Originally Posted by Letho View Post
Problem should be solved, now. The bug was caused by abilities, that provided buffs to not only the player, but also allies.
Thanks! Works like a charm

Edit: And thanks for the logic clarification. I was being a nard and didn't think it through when I was setting it up amidst Mantikora wipes.
__________________
Randactyl | NA Megaserver | Blood for the Pact!

My Addons
Check out my GitHub repos to follow my latest changes and see some addons before they are released.
  Reply With Quote
04/11/17, 10:01 AM   #20
Lacordeweb
Join Date: Apr 2017
Posts: 1
Originally Posted by Letho View Post
Hi guys,


Usage:


/am menu << Open the config menu to set up your auras

/am unlock << Make all auras movable (pixel precise positioning can be done in the menu)

/am unlock << self explanatory


Any feedback, comments, bug reports or tips how to do better would be HIGHLY appreciated!

Cheers,
Letho
Thanks for your tuto (sorry for my english i'm a french guy).
  Reply With Quote

ESOUI » AddOns » Alpha/Beta AddOns » Aura Mastery

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off