Get an Epic Experience with Premium


Combat Login to Add Favorites
  • World of Warcraft
  • 2,151 Monthly Downloads
  • Supports: 5.4.0
  • 314,024 Total Downloads
  • Updated 10/15/2014
  • Created 04/10/2009
  • 570 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: Watcher v2.19.00

About Watcher

Updates for WoD

Sparbanken has taken over the development of this addon and is busy providing updates for WoD. The updated version has been dramatically overhauled and is available now for download. However, most classes do not come with defaults and will need to be configured manually using the new in-game interface. In order to set up defaults and test the new interface, we are seeking the help of a few knowledgeable players. After configuring the addon in-game for each class, the settings can be exported and shared with us so that we can load them as defaults. A tutorial for doing this is located here. If you're willing to help, please contact Sparbanken, Nothingsknower or make a ticket on the curseforge development page.

A tutorial for configuring the updated Alpha version is located here.


Watcher is a DPS improvement addon. Its goal is to provide useful and intelligent information in order to boost DPS.

Some classes have native support but other requires you to add spells manually. If you would like your class to get more native spells, then please configure the spells in game and get in touch with the addon manager to share your configuration.


Through the use of a priority table for attacks, Watcher times cooldowns and dots to provide information on which attack should be performed next.

Note that these are fairly old screenshots. With the 3.0+ release, all screenshots will be updated.

Attacks ready to be performed are displayed using a stack with the most prioritised attack shown on top.

Spells can be configured to be cast based on the presence (or lack there of) of an aura on you or your target, your target's health %, your mana/resource %, whether a spell can be stole or interrupted, whether you have a particular talent or glyph, among other options.

Watcher v2.19.00

compatible with 5.4.0

Michael Starkweather:
    - Changed duration string to display 1m instead of 60
    - Embedded AceTimer
    - Major work done on move into an event based system.
    - Changed move up and move down to up and down to support larger fonts
    - Added edit button that pops out spell settings from priority menu. Changed move up and move down to reselect the spell/filter set that you are moving.
    - Changed cooldown filter slightly to allow for the cooldown of unusable spells past the previous 3 second mark.
    - Fixed not being able to add 0 to the time segments after removing it.
    - Fixed icon size being odd without Masque. Fixed tooltip for health. Adjusted aura refresh threshold max to 60sec. Should support monk stagger now.
    - Added option to check player health instead of enemy health
    - Will not show if there are no setup priorities.
    - Now orders specs correctly so that the one that pops up is the spec that you are in.
    - Added two new options -- MaxStackedIcons and StackHeight. Moved Timeline settings into own display settings tab. Fixed not being able to edit Timeline time segments Can now edit the maximum number of icons
    - Switching talents should now properly change the priority list.
    - Fixed show on enemy target. Again.
    - Fix for invulnerable enemy targets not showing using Show Only If Target Exists
    - Fixed turning off keybind labels. Removed MONOCHROME font effect since it crashes the game regularly. Added "Casting a spell that has a cooldown removes it from the list."
    - Fixed totems. Hopefully for the last time.
    - Mistype on 295 of Filters.lua Ooops
    - Fixed totems.
    - Hopefully fixed totem time detection.
    - Added totem filter.
    Changed "None" to "Usable"
    - Actually fixed moving.
    - Fixed moving frame.
    - Renamed a bunch of things.
    - Fixing for packaging
    - Spellcheck.
    - Attempt number 2 on trying to get packager to like it.
    - Fix AceLocale and AceGUI
    - Fix for AceGUI and AceLocale not embedding
    - First attempt at doing a packaging test.
    - Removed buffTypes since using LibDispelable
    - Added CheckSecondaryResource filter.
    Fixed flipped >= and <= in Classification filter.
    - Added LibDispel and wrote CheckTargetAura filter
    - Added target casting interruptible filter
    - Added license to files
    - Target classification filter now working
    - Fixed CheckSpellTalent
    - Changed some minor things for consistency.
    Updated CHANGELOG.txt to be.. better.
    - Added CHANGELOG.txt
    - Added LICENCE.txt
    - Added .pkgmeta file to embed latest versions of libraries.
    - First attempt at showing only one icon.
    - Fixed usability patch to make so cooldowns and aura tracking doesn't go away when not enough resources.
    - Changed tooltip for power filter.
    Keybind display now working.
    - Fixed priority lists retaining deleted values of spells/filter sets
    - Fixed inverted aura detection.
    - Priority list options appear on first load.
    Changed "Default" name to "None" and made so that cannot change the filters attached to it.
    Priority list GUI doesn't show the filter set "None" in the sidebar.
    - Usability is ignored if ability is on cooldown.
    - More work on getting frame tied into new backend.
    Max refresh rate on frame is now 60fps.
    - Removal (and commenting out) of all old code and starting to integrate newDB into the frame and overall usage.
    Priority list is evaluated at enable time currently. This is working.
    Beginning of spell filter evaluation.
    New frame draw method. Hopefully it works -- untested as of now
    - Changed priority frame GUI to display position in list.
    - Working GUI for editing priority lists with default values. These priority lists are set up automatically to be all of the available specs of your class.
    - Can now add spells based on name presuming that the character has the spell.
    - Initial commit.


First Previous Page 10 of 57 Next Last
  • #753

    Heyas,  looks like altho this (or at least my edited version) were working on beta just fine, but with live Im getting the following error:


    Message: Interface\AddOns\Watcher\Core.lua:931: attempt to call field '?' (a nil value)
    Time: 08/28/12 15:51:11
    Count: 1
    Stack: Interface\AddOns\Watcher\Core.lua:931: in function `SetPriorityFrame'
    Interface\AddOns\Watcher\Core.lua:585: in function `CreatePriorityFrame'
    Interface\AddOns\Watcher\Core.lua:349: in function `?'
    ...non\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147: in function <...non\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
    [string "safecall Dispatcher[1]"]:4: in function <[string "safecall Dispatcher[1]"]:4>
    [C]: ?
    [string "safecall Dispatcher[1]"]:13: in function `?'
    ...non\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: in function `Fire'
    ...ace\AddOns\Bagnon\libs\AceEvent-3.0\AceEvent-3.0.lua:52: in function <...ace\AddOns\Bagnon\libs\AceEvent-3.0\AceEvent-3.0.lua:51>

    Locals: self = <table> {
    defaults = <table> {
    powertypemin = <table> {
    sounds = <table> {
    CancelTimer = <function> defined @Interface\AddOns\Broker_TolBarad\Libs\AceTimer-3.0\AceTimer-3.0.lua:311
    ShowHideFrame = <function> defined @Interface\AddOns\Watcher\Options.lua:1472
    dir = <table> {
    GetSeventhshowraidboss2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2602
    SetFont = <function> defined @Interface\AddOns\Watcher\Options.lua:2667
    SetLabelCol = <function> defined @Interface\AddOns\Watcher\Options.lua:1787
    GetShowCombat = <function> defined @Interface\AddOns\Watcher\Options.lua:1498
    SetDefaults = <function> defined @Interface\AddOns\Watcher\Core.lua:59
    Get2Keybind2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2207
    ScheduleTimer = <function> defined @Interface\AddOns\Broker_TolBarad\Libs\AceTimer-3.0\AceTimer-3.0.lua:276
    SetFifthPriority = <function> defined @Interface\AddOns\Watcher\Options.lua:2428
    GetFont = <function> defined @Interface\AddOns\Watcher\Options.lua:2679
    SetSeventhPriority2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2567
    SetThirdshowraidboss2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2634
    SetSeventhshowraidboss2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2606
    ShowBarText = <function> defined @Interface\AddOns\Watcher\Options.lua:1321
    SetRipCombo = <function> defined @Interface\AddOns\Watcher\Options.lua:1744
    db = <table> {
    GetFifthPriority2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2543
    SetSegmentSize = <function> defined @Interface\AddOns\Watcher\Options.lua:2014
    SetLabel21 = <function> defined @Interface\AddOns\Watcher\Options.lua:1917
    GetSeventhPriority2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2563
    swingtype = 0
    GetThirdshowraidboss2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2630
    GetFifthPriority = <function> defined @Interface\AddOns\Watcher\Options.lua:2424
    SetLabel6 = <function> defined @Interface\AddOns\Watcher\Options.lua:1899
    Activateaxis = <function> defined @Interface\AddOns\Watcher\Options.lua:1964
    scan = <function> defined @Interface\AddOns\Watcher\Core.lua:399
    SetFifthPriority2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2547
    GetSegmentSize = <function> defined @Interface\AddOns\Watcher\Options.lua:1547
    GetLabel21 = <function> defined @Interface\AddOns\Watcher\Options.lua:1595
    unbindkeys2 = <function> defined @Interface\AddOns\Watcher\Options.lua:2321
    GetLabel23 = <function> defined @Interface\AddOns\Watcher\Options.lua:1603
    SetBar2Col = <function> defined @Interface\AddOns\Watcher\Options.lua:1811
    SetLabel24 = <function> defined @Interface\AddOns\Watcher\Options.lua:1935
    UNIT_ENTERED_VEHICLE = <function> defined @Interface\AddOns\Watcher\Core.lua:436
    AddPriorityTable = <function> defined @Interface\AddOns\Watcher\Options.lua:1287
    ActivateShowRaid = <function> defined @Interface\AddOns\Watcher\Options.lua:1447
    RAID_ROSTER_UPDATE = <function> defined @Interface\AddOns\Watcher\Core.lua:456
    GetBar8Col = <function> defined @Interface\AddOns\Watcher\Options.lua:1689
    GetSecondshowraidboss = <funct

  • #754

    That error seems to happen when you have/had something set in your priority list, but that something no longer exists. I need to build something that detects that problem and clears out the priorities automatically, but I don't have that set up yet. You'lll have to delete your saved variables for that addon to get it to work right.

  • #763

    Posted a followup directly below your post, just wanted to make sure you saw it :)

    Ty again for fixing this one up!

  • #762
    Quote from Jeslinis »

    "Well, by default mangle is supposed to show up and be timed to cast with the debuff that causes slower movement. you can override this by changing the "spell to track" to blank, removing infected wounds"

    Problem is.. I deleted it (it let me).. and now when I created a new mangle, its unable to track it.

    Im gonna delete the stuff pertaining to watcher in the wtf folder and see if that fixes.

    edit: where exactly is this stuff to delete? I see saved variables in my specific character (for the druid).. but I think the spell variables are global... However, there is no watcher.lua in my global saved variables?

    the variables are character specific, so you can delete the file for your character.

  • #761

    and basically continuing on here:


    Deleted my watcher.lua in my druids folder. this reset the addon for my druid.

    went into spell stuffs --

    For mangle: removed it tracking by Aura for the snare debuff (you should make this defaultly track CD only)

    For thrash: removed it tracking for its bleed aura only (you should make this defaultly track CD only)

    for lacerate; removed it tracking for its bleed aura only.


    Appears to be working


    Note: does not have a base default for Faerie Fire. .. Only Faerie swarm, which most tanks wont take due to pulling a mob by snaring it = bad (like why prot paladins do NOT glyph for snare shield throw)

  • #760

    "Well, by default mangle is supposed to show up and be timed to cast with the debuff that causes slower movement. you can override this by changing the "spell to track" to blank, removing infected wounds"

    Problem is.. I deleted it (it let me).. and now when I created a new mangle, its unable to track it.

    Im gonna delete the stuff pertaining to watcher in the wtf folder and see if that fixes.

    edit: where exactly is this stuff to delete? I see saved variables in my specific character (for the druid).. but I think the spell variables are global... However, there is no watcher.lua in my global saved variables?

    Last edited by Jeslinis on 8/29/2012 9:40:25 PM
  • #759

    Well, by default mangle is supposed to show up and be timed to cast with the debuff that causes slower movement. you can override this by changing the "spell to track" to blank, removing infected wounds.

    As for thrash tracking lacerate, lacerate  tracking moonfire, I don't know... is that seen in the config window in the "spell to track"? that's definatly not default behavior but it could be some glitch from the saved variables you have. You could certainly delete the saved variables you have to solve the problem sooner rather than later. I've still got to debug why it's not letting spells get deleted.

  • #756

    Should I delete the saved variables for this and start over? Im having issues atm on my druid with trying to setup for bearform mangle off CD, thrash, lacerate, and FF off CD, etc.. but for whatever reason, Mangle is tracking for the snare debuff aura, thrash is tracking lacerate, lacerate is tracking moonfire.. etc...

    I did submit a ticket on curseforge with the error I was getting trying to remove the bad thrash.. 

    But yea.. if you could do testing on a druid bearform to even just get it to show mangle when off CD, that would be amazing. ATM Power Auras cant even see mangle for some reason so I have NO method of telling myself its off CD other then looking at the bar.

  • #752

    ill look into hunters this week, maybe monday. ive been cleaning up the class luas, and nothingsknower has been hard at work cleaning up the main luas. nothinsknower has been showing me what i need to do to make the spells look the way we want them to right out of the box, so once its updated, almost every spell that you'd use in your rotation will already be set up......that means no need to input a spell yourself, it will already be done, and working the way it should:).

    ive been doing it alphabeticaly so dks and druids are done, hunters are next ect. (i got locks and warriors up and running, but they still need some love, and are last in line. im gettin about 3 classes per week, so maybe a week or two more and we'll be jammin. certainly by MoP.

  • #755

    Sounds great!

    On Beta, with the downloaded version I got a few days ago, I saw that Glaive toss (spell I added through the interface) once or twice vanished off of the bar, like I'd seen Chimera Shot do in Marksman, and it did not reappear until like 1-2 seconds before it was ready to be fired. I think it may have vanished right after I had done a Kill Command, but I'm constantly doing Kill Commands and seeing Glave Toss NOT disappear. I paid attention but at least in that test session on the Internal Test Boss, I couldn't identify what had caused Glaive Toss to vanish out of the display those few times.



  • #749

    the alpha link. ive been workin with nothingsknower on fixing bugs, but for the most part, its workin for beta and ptr.

    we'll keep working on it and fix it so its better than ever, however we are both busy with rl so it wont happen over night. main thing, it IS working for the upcomming patch, and it will only get better from now on.

    Last edited by Hallowman100 on 8/25/2012 1:13:23 AM
  • #750

    Hey, that's great news, Hallowman100!

    Say, if you're improving it, I note that sometimes (at least in Marksman), Chimera Shot doesn't actually pop into Watcher until it's like, almost finished its CD. Might keep an eye out for that as you test.


  • #751

    In my (limited) testing on my hunter, chimara shot is working fine. By chance, is your Chimera Shot set up to only display when the Concussive Barrage debuff is missing from your target? That might explain why it only pops up in the last few seconds.

  • #747

    The patch that will break this addon on the live wow servers is a week and a half away. It's going to be messed up if someone with stronger LUA skills than I have doesn't grab this and get it updated. This addon is special.

  • #748

    I'm only moderatly good at lua myself, but at first glance the updates required for the basic functions are pretty simple. I've never used the addon, so if someone wants to try the updates I suggested in this thread, let me know if it's working right or if there's something else that's missing/broken:


  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

VIP trip to SMITE World Championship