WeakAuras

WeakAuras Icon

WeakAuras

WeakAuras is a powerful and flexible framework that allows you to display highly customizable graphics on your screen to indicate buffs, debuffs, and a whole host of similar types of information. It was originally meant to be a lightweight replacement for Power Auras, but it now incorporates many features that Power Auras does not, while still remaining more efficient and easy to use.

Features include:

  • An intuitive and powerful configuration interface
  • Custom textures including all textures from Power Auras and the new Cataclysm spell alerts
  • Progress bars and textures that show the exact duration of auras
  • Displays based on auras, health, power (mana, rage, soul shards, holy power, etc.), cooldowns, combat events, runes, totems, items, and many other triggers
  • Preset and user-defined animations
  • Custom side-effects such as chat announcements or sounds
  • Grouping, which allows multiple displays to be positioned and configured at the same time
  • CPU optimizations such as conditional loading/unloading of displays, modularity, and prevention of full aura scanning
  • Powerful customization options, such as animation paths, on-show/on-hide code, and custom triggers, for Lua-savvy users

To open the options window, type "/wa" or "/weakauras"

Note: WeakAuras works better with more media!

For in-depth documentation, see the Usage page.

For some examples of what WeakAuras can do, see the Examples page!


News

  • 1.4.0 is released! Many new features were added, including:
    • Auto-cloning: a feature available for multi-target, group, and full-scan Auras that will automatically duplicate your display to show multiple sources of information
    • Dynamic Text options for Progress Bar and Icon displays
    • A Circular growth option for Dynamic Group displays
    • Specific Unit options for all triggers that use a Unit option - this allows you to watch only a specific group member, or use the boss1, boss2, etc. unit IDs to watch bosses
    • A new display type, Model, which allows you to display any 3D model from the game files on your screen
    • Third-party addons can now define pre-made displays that can be quickly and seamlessly integrated into your configuration
    • Localization for German, Russian, and Chinese, and partial localization for French
    • WeakAurasTutorials, a framework for displaying in-game step-by-step assistance, along with two pre-made tutorials:
      • Beginners Guide: A guide through WeakAuras' basic configuration options
      • New in 1.4: See the new features of WeakAuras 1.4
  • Examples!

Upcoming

Upcoming:

  • More Tutorials, for more advanced features
  • Documentation updated for 1.4

Problem?

  • Please see the Usage page.
  • If you need help with your set-up, post in the Forum.
  • If you've discovered something that's clearly wrong, or if you get an error, Post a Ticket.
  • If you have a general comment or concern, feel free to comment on the main page!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of jvinmahar jvinmahar Oct 30, 2011 at 20:01 UTC - 0 likes

    Hey again Commander. I'm really enjoying this addon. Thanks alot for all your help.

    I have another aura I am trying to create. I want it to trigger only when I am immobilized. Any idea of the best way to achieve this?

  • Avatar of CommanderSirow CommanderSirow Oct 26, 2011 at 07:50 UTC - 0 likes

    Weird, it seems like the curse client is handing out version 1.4.4b (good), while the website is falsely handing out 1.4.4 (bad). jvinmahar, if you are using version 1.4.4, please update to 1.4.4b.

    I'll tag a new version (without any letter postfix) later, to eradicate this misbehavior.

  • Avatar of jvinmahar jvinmahar Oct 26, 2011 at 00:26 UTC - 0 likes

    Hey Commander, i'm using 1.44 following your link to curse from this page. Here is another error message I am getting. All I want it to do is to trigger when I am diseased and stoneform is ready.

    Message: Interface\AddOns\WeakAuras\WeakAuras.lua:2213: table index is nil Time: 10/25/11 21:25:25 Count: 1 Stack: Interface\AddOns\WeakAuras\WeakAuras.lua:2213: in function `ScanAuras' Interface\AddOns\WeakAuras\WeakAuras.lua:1972: in function `ScanForLoads' ...terface\AddOns\WeakAurasOptions\WeakAurasOptions.lua:7894: in function <...terface\AddOns\WeakAurasOptions\WeakAurasOptions.lua:7893>

    Locals: unit = "player" time = 216516.265 old_unit = "player" fixedUnit = "player" uGUID = "0x0580000007A087CB" aura_object = nil cloneIdList = nil groupcloneToUpdate = nil (for generator) = <function> defined =[C]:-1 (for state) = <table> { 1 = <table> { } } (for control) = 1 _ = 1 aura_list = <table> { Commanding Shout = <table> { } Stoneform = <table> { } } name = "Commanding Shout" rank = nil icon = nil count = nil debuffType = nil duration = nil expirationTime = nil unitCaster = nil isStealable = nil shouldConsolidate = nil spellId = nil tooltip = "Nature damage every 3 sec. Movement speed reduced by 50%." debuffClass = "disease" tooltipSize = 3 remaining = 189.86899999998 checkPassed = true (for generator) = <function> defined =[C]:-1 (for state) = <table> { Commanding Shout = <table> { } Stoneform = <table> { } } (for control) = "Stoneform" id = "Stoneform" triggers = <table> { 1 = <table> { } } (for generator) = <function> defined =[C]:-1 (for state) = <table> { 1 = <table> { } } (for control) = 1 triggernum = 1 data = <table> { rem = 0 names = <table> { } specificUnit = false icon = true debuffType = "HARMFUL" region = <unnamed> { } numAdditionalTriggers = 1 unit = "player" scanFunc = <function> defined @Interface\AddOns\WeakAuras\WeakAuras.lua:3118 load = <function> defined return function(event, combat, name, class, spec, level, zone, size, difficulty, role) local never = false if((name=="Balgar") and (spec==3)) then return true else return false end end:1 fullscan = true } filter = "HARMFUL" active = false index = 1 name = nil casGUID = nil (*temporary) = <table> { Battle Shout = "Interface\Icons\Ability_Warrior_BattleShout" Crippling Poison = "Interface\Icons\Ability_PoisonSting" Trauma = "Interface\Icons\Ability_Warrior_BloodNova" Deadly Poison = "Interface\Icons\Spell_Nature_NullifyPoison" Rend = "Interface\Icons\Ability_Gouge" Serpent Sting = "Interface\Icons\Ability_Hunter_Quickshot" Venom Sting = "Interface\Icons\Ability_PoisonSting" Thunder Clap = "Interface\Icons\Spell_Nature_ThunderClap" Commanding Shout = "Interface\Icons\Ability_Warrior_RallyingCry" Infected Wounds = "Interface\Icons\Ability_Druid_InfectedWound" Blood Plague = "Interface\Icons\Spell_DeathKnight_BloodPlague" Fungal Decay = "Interface\Icons\Ability_Creature_Disease_03" Thrash = "INTERFACE\ICONS\spell_druid_thrash" Victorious = "Interface\Icons\Ability_Warrior_Devastate" Rake = "Interface\Icons\Ability_Druid_Disembowel" Rip = "Interface\Icons\Ability_GhoulFrenzy" Demoralizing Shout = "Interface\Icons\Ability_Warrior_WarCry" Mind-numbing Poison = "Interface\Icons\Spell_Nature_NullifyDisease" Hemorrhage = "Interface\Icons\Spell_Shadow_LifeDrain" Spell Reflection = "Interface\Icons\Ability_Warrior_ShieldReflection" Acidic Sweat = "Interface\Icons\Ability_Creature_Disease_03" Ebon Plague = "INTERFACE\ICONS\ability_creature_cursed_03" Frost Fever = "Interface\Icons\Spell_DeathKnight_FrostFever" Deep Wounds = "Interface\Icons\Ability_BackStab" Wound Poison = "Interface\Icons\INV_Misc_Herb_16" Devouring Plague = "Interface\Icons\Spell_Shadow_DevouringPlague" Pounce Bleed = "Interface\Icons\Spell_Shadow_VampiricAura" Poison = "Interface\Icons\Spell_Nature_CorrosiveBreath" } (*temporary) = nil (*temporary) = "Nature damage every 3 sec. Movement speed reduced by 50%." (*temporary) = nil (*temporary) = nil (*temporary) = "disease" (*temporary) = true (*temporary) = nil (*temporary) = nil (*temporary) = "Nature damage every 3 sec. Movement speed reduced by 50%." (*temporary) = "disease" (*temporary) = 3 (*te

  • Avatar of CommanderSirow CommanderSirow Oct 24, 2011 at 14:15 UTC - 0 likes

    @jvinmahar: Which WA version are you currently using? And if possible, could you upload your WeakAuras config?

    @Slikk210: Could you tell me, if its fixed in r196 (not yet commited)

    Last edited Oct 24, 2011 by CommanderSirow
  • Avatar of Slikk210 Slikk210 Oct 24, 2011 at 01:33 UTC - 0 likes

    Sorry it took me a while to do this, I've been pretty busy irl.

    It seems like the printout is showing the appropriate solar/lunar values, however the lunar eclipse weakaura I set up will show updated progress heading to and coming from lunar eclipse, while the solar eclipse weakaura (exactly the same, except using solar power as the value) remains with just a background and no updated texture as you move through the power values.

    It definitely is showing updated values in the printout though (i.e. 100 100 on full solar, -100 100 lunar, and if checked after each cast it updates the first number appropriately) but the solar weakaura that should be updating just like the lunar is non-functional.

    Hope that's clearer than mud =x Thanks for looking into it! :)

  • Avatar of CommanderSirow CommanderSirow Oct 22, 2011 at 08:53 UTC - 0 likes

    @Mirrornm: Thanks, but maintaining you addon is really easy as you have a clean and efficient coding style. :)

    @Multiple Trigger: At the top there is a button to "Add Trigger".

    @Full Aura Scan Bug: Note to self: do more code checks! Sorry, will be fixed soon. ;)

  • Avatar of jvinmahar jvinmahar Oct 21, 2011 at 23:15 UTC - 0 likes

    I've been getting these types of messages any time I select full scan. Any idea whats going wrong?

    Message: Interface\AddOns\WeakAuras\WeakAuras.lua:3124: attempt to index local 'name' (a nil value) Time: 10/21/11 20:15:18 Count: 47 Stack: Interface\AddOns\WeakAuras\WeakAuras.lua:3124: in function `scanFunc' Interface\AddOns\WeakAuras\WeakAuras.lua:2211: in function `ScanAuras' Interface\AddOns\WeakAuras\WeakAuras.lua:1622: in function <Interface\AddOns\WeakAuras\WeakAuras.lua:1619>

    Locals: name = nil tooltip = "Improves your critical strike and critical block chance by 10%." isStealable = nil spellId = nil debuffClass = "none" (*temporary) = "find('%s')" (*temporary) = nil (*temporary) = nil (*temporary) = "attempt to index local 'name' (a nil value)" trigger = <table> { rem = "5" ownOnly = true unit = "player" type = "aura" custom_hide = "timed" debuffType = "HELPFUL" name_operator = "find('%s')" use_unit = true subeventSuffix = "_CAST_START" names = <table> { } subeventPrefix = "SPELL" event = "Cooldown Progress (Spell)" inverse = true use_name = true use_spellName = true name = "shout" use_inverse = true remOperator = "<" unevent = "auto" spellName = 2565 fullscan = true }

  • Avatar of Mirrormn Mirrormn Oct 20, 2011 at 20:46 UTC - 0 likes

    Just dropping by to comment on how awesome CommanderSirow is for maintaining WeakAuras while I've been busy with other pursuits! You're the best, CommanderSirow, keep up the good work!

  • Avatar of jvinmahar jvinmahar Oct 20, 2011 at 19:53 UTC - 0 likes

    @CommanderSirow: Go

    how do you add multiple triggers to one display?

  • Avatar of CommanderSirow CommanderSirow Oct 20, 2011 at 11:22 UTC - 0 likes

    @Reflectable: I don't think there is a way to query this. Since I don't play a Warrior/DK, how do you know a spell is reflectable?

    @Multiple Checks: You could try to create one display and add all triggers to it and than set trigger condition to ANY. Note though, that the behavior might be strange as there is something wrong with ANY triggers and passing info to the display.

    @bronxmp: So this means, everything is fine?

Facts

Date created
Oct 03, 2010
Categories
Last update
Apr 30, 2013
Development stage
Release
Language
  • enUS
License
GNU General Public License version 2 (GPLv2)
Curse link
WeakAuras
Downloads
959,428
Recent files
  • A: r302 for 5.2.0 Apr 30, 2013
  • A: r301 for 5.2.0 Mar 24, 2013
  • A: r300 for 5.2.0 Mar 08, 2013
  • R: 1.4.7.9 for 5.2.0 Mar 05, 2013
  • A: r298 for 5.2.0 Mar 05, 2013

Authors