Page 1 of 2
1
2
LastLast
  1. #1

    UberAuras - Dynamic Weakauras any class. (Updated 9/17/16)

    Updated 10/19/2016


    I call it Uberauras because it's almost an extension to Weakauras rather than just a group of Icons.


    With this code, you can track ANY player ability with a single meaningfully useful WA icon, by default.
    This allows for use of dynamic groups that are otherwise impossible to make.
    It also includes custom desaturation so you'll never need to make two of an aura and stack them to get a desaturated cooldown again.


    I've manually created groups for a couple classes, but the icons can be duplicated for any class/spec.
    (Simply change "Ability Name" in the 'Actions' tab).
    If you have trouble porting this to a particular ability please comment here or on WAGO and I'll help.




    WAGO LINK



    Here is a video of what the most recent iteration looks like in action. The second video is outdated but the techniques still apply so please watch it as well if you have any questions/issues.



    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    The first ~40s of this vid give you a brief idea of how it works, and the rest shows how to port the auras to new abilities/classes. If you know weakauras you won't need the vid, its all VERY easy.


    FOR DRUIDS, nearly monks, and soon priests.. THIS CAN BE CONSIDERED A 'FINISHED PRODUCT'. For all other classes, its a *FRAMEWORK* with which to build your own aura group that has functionality beyond what default triggers offer.

    General requests and bug reports are absolutely welcome!

    Enjoy
    -Dennis
    Last edited by dennisdkramer; 2016-11-19 at 05:08 PM. Reason: update

  2. #2
    Quote Originally Posted by dennisdkramer View Post
    With this code, you can track ANY player ability with a single meaningfully useful WA icon, by default.
    This allows for use of dynamic groups that are otherwise impossible to make.[/I]
    Can you please clarify what you mean and how it works?

  3. #3
    Im curious too.
    Don't want to offend you or anything, but from what I can see in the video, it's a kind of basic set of auras..

  4. #4
    Have you guys considered um.. trying it :P

    Its difficult to explain, but its much more than just a set of auras. Have you ever tried using Dynamic Groups? What if you wanted the icon to be faded on cooldown, or colored when a buff is up? What if you wanted to show a talent like bloodtalons, where its an icon for the talent being selected, then shows predatory swiftness when it procs, and then shows bloodtalon stacks when you consume PS.. all in a SINGLE weakaura, so that it can be put in a dynamic group.

    Maybe I need to edit a better video to show it more clearly.

  5. #5
    Quote Originally Posted by dennisdkramer View Post
    Have you guys considered um.. trying it :P

    Its difficult to explain, but its much more than just a set of auras. Have you ever tried using Dynamic Groups? What if you wanted the icon to be faded on cooldown, or colored when a buff is up? What if you wanted to show a talent like bloodtalons, where its an icon for the talent being selected, then shows predatory swiftness when it procs, and then shows bloodtalon stacks when you consume PS.. all in a SINGLE weakaura, so that it can be put in a dynamic group.

    Maybe I need to edit a better video to show it more clearly.
    Thanks. That explained it.

  6. #6
    Deleted
    Me again, with a few more helpful hints (well I hope you find them helpful)

    You've got rid of the 7.75 million loop iterations so that is great Few more optimisations which would be a good idea.

    Your calling functions such as "GetSpellInfo" much more than you need to, for instance your custom colurfunc calls this every single frame along with GetSpellBaseCooldown, you have 30ish abilities doing this each frame, so lets say we have 60 frames a second that is 3,720 calls to functions with could have the results cached within your init code.

    WA_Uberaura_Trigger - this could do with a few changes. Your calling IsPlayerSpell, GetSpellInfo alot in these functions when the results could be cached instead. Listen to the event PLAYER_TALENTS_UPDATED, and updated cached information on spells effected by talents via this trigger instead of checking repeatedly in your triggers and functions.

  7. #7
    Quote Originally Posted by TolanNightBlade View Post
    Me again, with a few more helpful hints (well I hope you find them helpful)
    I'm always glad to hear advice even if I don't end up using it

    So to some degree you're right, but the thing is its constantly changing that information. I can't call GetSpellInfo just once and leave it, because I need it to change for a secondary ability when it procs, etc. I may update it to do some cached info that updates on events, but that's really outside the scope of my coding ability right now.. or more accurately outside the scope of what I'm willing to figure out given that it works very well as-is. I couldn't have told you how to make a for loop a week ago haha

    Oh and i call getspellinfo in the colour function seperately because the coloring logic isn't always the same as the triggering logic, and mashing the two together makes it really confusing to change. Once I'm 100% sure everything is working right for every class I'll clean it up further

    also i couldnt figure out how to put the color function in the core like all the other functions. Any idea whats up with that?
    Last edited by dennisdkramer; 2016-08-25 at 06:02 PM.

  8. #8
    Man, this looks aweseome! Any chance you make one for Enhancement? Im too stupid to understand anything in the options to learn myself!
    Last edited by Shancii; 2016-08-26 at 01:32 AM.

  9. #9
    Quote Originally Posted by Shancii View Post
    Man, this looks aweseome! Any chance you make one for Enhancement? Im too stupid to understand anything in the options to learn myself!
    I don't have a shaman/know how to play one, but I might get to it eventually. I'm currently making a brief video that shows how to add auras for new abilities; its REALLY easy.

    - - - Updated - - -

    Updated original post with new brief tutorial video.

    Theres a new revision of the weakauras I'll be uploading tomorrow, if you notice any weirdness there's a good chance it's just that so hold off on bug reports.

  10. #10
    Thank you for creating all of this! Since I'm having to redo my main's and my alts' UIs, this will make things go much faster in the Weakauras setup department. Cheers!

  11. #11
    Quote Originally Posted by Smothered Hope View Post
    Thank you for creating all of this! Since I'm having to redo my main's and my alts' UIs, this will make things go much faster in the Weakauras setup department. Cheers!
    You're very welcome! If you make a setup for a class I don't have done pm me and we can add it to the collection

  12. #12
    Ok, I have to admin, its not just a simple set of auras.. nice work, using it on my priest.
    btw, is there an easier way to change the icon size then adjusting every single one for itself? just asking as i may use it for other classes too

    also.. are "aura_env.spellName", "aura_env.buffName" and "aura_env.formRequired" the only vars that use name-strings? meaning that the auras are easy to use on non-english clients if you just enter the spell/buff name in the specific language? or is there anything in the core functions part that would need some adjustment?
    Last edited by bambule; 2016-08-27 at 04:39 AM.

  13. #13
    Quote Originally Posted by chumii View Post
    Ok, I have to admin, its not just a simple set of auras.. nice work, using it on my priest.
    btw, is there an easier way to change the icon size then adjusting every single one for itself? just asking as i may use it for other classes too

    also.. are "aura_env.spellName", "aura_env.buffName" and "aura_env.formRequired" the only vars that use name-strings? meaning that the auras are easy to use on non-english clients if you just enter the spell/buff name in the specific language? or is there anything in the core functions part that would need some adjustment?
    Take the core function out of the dynamic group (it can go wherever) and then just change all the icons at once in the group display settings.

    That is exactly correct; nothing in the core function is language specific. Please let me know if you run into any problems on other clients but I don't think you would.


  14. #14
    So I translated the priest group to german, everything is working fine so far.. would like to upload it to wago, but i get "Invalid string entered." erro when trying to submit.. any idea why?

  15. #15
    Quote Originally Posted by chumii View Post
    So I translated the priest group to german, everything is working fine so far.. would like to upload it to wago, but i get "Invalid string entered." erro when trying to submit.. any idea why?
    I'm not really sure - try copying and re-importing your own string to see if it works in game. If you can import it in game but still get the error on the site i have no clue.

  16. #16
    hmm, now its working, no idea what went wrong there..
    anyways here is a link to the german version, if anyone else wants to use it.. https://wago.io/41nm1yocb

  17. #17
    Deleted
    These look amazing! I'll give them a shot
    thanks for sharing

  18. #18
    You're welcome!

    Updated (be sure to grab the new core function and delete your old one)

    also added my cast bars and feral bleed trackers, not really a PART of uberauras or anything but there's some cool stuff in there

  19. #19
    Deleted
    For the double cooldown thing you mention in the video.

    I use the blizzard interface option for this but i would like to still see the cds on my bars and other stuff.
    If i disable "cooldown" in weak auras the clock animation is gone but i could live with that.

    Am i missing something else with this solution?
    Or is there a better way to handle this?

  20. #20
    Quote Originally Posted by turtlefreak View Post
    For the double cooldown thing you mention in the video.

    I use the blizzard interface option for this but i would like to still see the cds on my bars and other stuff.
    If i disable "cooldown" in weak auras the clock animation is gone but i could live with that.

    Am i missing something else with this solution?
    Or is there a better way to handle this?

    If anyone knows of a way to make just Weakauras specifically not take cooldown text from other things that would be the ideal solution.

    Anyway, kind of the whole point of this is you're not supposed to be looking at your bars, like.. ever. Depending on the size of your action bars, you could use that addon everyone uses to put cooldown text on them but not the weakauras since they're smaller.

    One problem is that if you show cooldowns in the middle of the weakaura icons, you can't actually see the cooldown spiral at all, and I don't know about you but I dont actually read numbers and count to know cooldowns; its more of a peripheral thing where 'that icon's CD spiral is almost gone'.

    Another problem is you can't put the stack text in the corner of the icon like you'd expect; for some fucking reason the weakauras coders have made this insanely good addon but can't just nudge stack text to where a real person would actually want it to be.

    Now on the other hand, its a fairly easy fix.

    First, make sure any specially coded auras are out of the group [they're indicated by ** "Text Explaining Whats Different" in the name of the weakaura] (I think of all the ones I've made so far frenzied regen is the only one that NEEDS to be out of the group for this to work)

    then, we're gonna click on the group, and click Display. Under custom function you should see

    Code:
    function()
    return WA_Uberaura_Display()
    end
    replace that with

    Code:
    function()
        if not aura_env.charges or (aura_env.maxCharges and aura_env.maxCharges == 1) or (aura_env.charges and aura_env.charges == 0) then 
            aura_env.chargeReturn = " "
        else aura_env.chargeReturn = aura_env.charges
        end    
        return aura_env.chargeReturn
    end

    Now it'll just show stack text with the same logic that it would normally. You'll need to reposition this text wherever you'd like it to go. Just don't be surprised if there's literally no way to make the stack text look good and not get covered by the cooldown text at this point haha

    - - - Updated - - -

    Also - Monk auras are done


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •