Aura Mastery
1 Attachment(s)
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 |
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. |
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 :) |
maybe you can use this list
http://esoacademy.com/buffs-debuffs/ and look for the id's in Srendarr ? |
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.
|
good idea. maybe deltias list is more complete?
|
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).
|
Quote:
i tried to add retreating maneuver, but it doesn't work, because i don't understand the Display conditions with their values... :( |
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. |
Quote:
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]." Quote:
|
Well I forgot about the "multi conditions" :D
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) |
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.
|
/new build (lua error fixes)
|
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 |
Maybe I get it wrong or you think too complicated :D
Just overwrite the icon in the svars if the user manually changes it (if there already was determined or set an icon before). |
Quote:
Based on your specified conditions the icon should show up at timeleft < 1 and vanish once it runs out. Quote:
|
Problem should be solved, now. The bug was caused by abilities, that provided buffs to not only the player, but also allies.
Quote:
|
I will give it a try, thanks
|
Quote:
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. |
Quote:
|
All times are GMT -6. The time now is 10:49 AM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI