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!
- SharedMedia for more bar textures.
- SharedMediaAdditionalFonts for more fonts.
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?
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
- Reply
- #248
jvinmahar Oct 30, 2011 at 20:01 UTC - 0 likesHey 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?
- Reply
- #247
CommanderSirow Oct 26, 2011 at 07:50 UTC - 0 likesWeird, 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.
- Reply
- #246
jvinmahar Oct 26, 2011 at 00:26 UTC - 0 likesHey 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
- Reply
- #245
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)
- Reply
- #244
Slikk210 Oct 24, 2011 at 01:33 UTC - 0 likesSorry 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! :)
- Reply
- #243
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. ;)
- Reply
- #242
jvinmahar Oct 21, 2011 at 23:15 UTC - 0 likesI'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 }
- Reply
- #241
Mirrormn Oct 20, 2011 at 20:46 UTC - 0 likesJust 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!
- Reply
- #240
jvinmahar Oct 20, 2011 at 19:53 UTC - 0 likes@CommanderSirow: Go
how do you add multiple triggers to one display?
- Reply
- #239
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?