Get an Epic Experience with Premium


Combat Login to Add Favorites
  • World of Warcraft
  • 744 Monthly Downloads
  • Supports: 5.4.0
  • 311,826 Total Downloads
  • Updated 09/10/2013
  • Created 04/10/2009
  • 568 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: Watcher v2.19.00

About Watcher


Watcher will not be maintained for the upcoming patches or expansion unless a new developer wishes to take it over. Please message the current manager, nothingsknower, if you wish to do so. There is an alpha version of the addon available on the development site made by another author who was going to take over the project, which dramatically overhauled and improved most of the code. This would probably be the best place to start rather than the current release version, which had been held together largely by duck tape and bubble gum after the original author abandoned it. I helped patch it through to survive the MoP expansion, but as I am no longer playing and as real life commitments mount, I will no longer be able to maintain it.


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 provide a list of spells and their behaviour and I'll attempt to implement them.


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

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

5.1 status

Watcher no longer hides when the player enters a vehicle, as some combat is done within vehicles Fixed the scaling issue that was causing text to flicker and gradually grow over the course of a long fight Added a new option to spell configurations that allows you to ignore your current mana/rage/energy The holy power scale for Paladins has been fixed and set to a maximum of 5

Useful Information

For setting up the addon for the first time please see here. (Outdated, but still useful)

If you have a bug to report or have a suggestion to improve the addon, please, could you make a ticket here.

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 12 of 53 Next Last
  • #670
    I think I've sorted some of the weird stuff with regards to the custom spells. Should be working after I commit the changes tonight.
  • #668
    After recent updates Watcher working again for warriors. However after additional tests i still have some troubles. It seems right now watcher can track overpower with default settings.
    To fix problem I modified existing spell "Overpower" to track Taste for Blood buff on player, and its solved problem, but only when i stay in battle stance. However, as soon as i change my stance (to berserker or protection) addon immediately stop detecting overpower (even if Taster for Blood proc). (option Set unusable spell's icon as Greyscale=enabled).
    Its important for me to know when overpower is ready in any stance. Is there some way to solve this problem?

  • #672
    Interesting problem. Overpower won't de-grey as it's not usable in that stance. You could use a spell that is able to be cast in that stack and just remember that it actually means Overpower but that's messy. There is one thing I could do but it would means adding some extra settings to the addon.
  • #667
    grrrr i really don't care for watcher i liked ShotAndAwe alot better with my hunter probly noway that it will be updated for this patch or to better use watcher is there any place that explains it more to i may adept to it...thanks
  • #664
    Got it more or less working on my hunter now - thanks for the fix!

    I've been trying to make Watcher track the improved steady shot proc, for this I decided that the easiest way was to add another steady shot spell to my list, like the Aimed shot and Aimed shot /w Fire! I can modify the existing steady shot spell, and I can create a new "Improved Steady Shot" spell but I get a crash when I try to set the spell for the new one to "Steady Shot", crash dump is below. I think what I want to do is to do is have Improved Steady shot higher than arcane shot in my prority que, then regular steady shot below. But with the Improved steady shot I am setting the "Adjust Time from DOT Threshold" box to 1.5 seconds.

    Thanks again for fixing the last bug so quickly and for the great addon!

    Date: 2010-10-20 15:30:27
    ID: 2
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\Watcher\Options.lua line 177:
    attempt to index field 'cd' (a nil value)
    (tail call): ?
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[2]"]:9:
    [string "safecall Dispatcher[2]"]:5
    (tail call): ?
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[3]"]:9:
    [string "safecall Dispatcher[3]"]:5
    (tail call): ?
    ...face\AddOns\Altoholic\libs\AceGUI-3.0\AceGUI-3.0.lua:314: Fire()
    Swatter, v3.1.15 ()
    Altoholic, v4.0.002
    ArkInventory, v3.02
    ArkInventoryRules, v
    Atlas, v1.17.2
    AtlasBattlegrounds, v1.17.2
    AtlasDungeonLocs, v1.17.2
    AtlasOutdoorRaids, v1.17.2
    AtlasTransportation, v1.17.2
    AtlasLoot, vv5.11.07
    AtlasLootBurningCrusade, vv5.11.07
    AtlasLootCrafting, vv5.11.07
    AtlasLootOriginalWoW, vv5.11.07
    AtlasLootWorldEvents, vv5.11.07
    AtlasLootWrathoftheLichKing, vv5.11.07
    AtlasLootFu, vv5.11.07
    BonusScanner, v5.3.1
    DataStore, v4.0.001
    DataStoreAchievements, v4.0.001
    DataStoreAuctions, v4.0.001
    DataStoreCharacters, v4.0.001
    DataStoreContainers, v4.0.001
    DataStoreCrafts, v4.0.001
    DataStoreCurrencies, v4.0.001
    DataStoreInventory, v4.0.001
    DataStoreMails, v4.0.001
    DataStorePets, v4.0.001
    DataStoreQuests, v4.0.001
    DataStoreReputations, v4.0.001
    DataStoreSpells, v4.0.001
    DataStoreStats, v4.0.001
    DataStoreTalents, v4.0.001
    DBMCore, v
    FishingBuddy, v0.9.9a
    GearScore, v3.1.20 - Release
    Grid, v1.40000.1370
    HealBot, v4.0.1.1
    HunterFocusBar, v0.93beta
    MikScrollingBattleText, v5.5.83
    Omen, v3.0.11
    oUF, v1.3.24
    RazerNaga, v1.2.0
    RazerNagaCast, v
    RazerNagaConfig, v
    RazerNagaRoll, v
    RazerNagaTotems, v
    RazerNagaXP, v
    Recount, v
    SexyMap, v
    SlideBar, v3.1.15 ()
    SpamMeNot, v4.0
    SpellFlash, v5.24
    SpellFlashArgentTournamentMounts, v1.17.2
    SpellFlashCore, v1.21
    Stubby, v5.8.4723 (CreepyKangaroo)
    SunnArt, v3.47
    Titan, v4.3.9.40000 - Revision 386
    TitanBag, v4.3.9.40000
    TitanClock, v4.3.9.40000
    TitanCoords, v4.3.9.40000
    TitanGoldTracker, v4.3.9.40000
    TitanLootType, v4.3.9.40000
    TitanPerformance, v4.3.9.40000
    TitanRepair, v4.3.9.40000
    TitanVolume, v4.3.9.40000
    TitanXP, v4.3.9.40000
    Watcher, v2.12
    WhoFramedWatcherWabbit, v1.5
    XPerl, v3.1.0 Beta 4
    XPerlArcaneBar, v
    XPerlParty, v
    XPerlPartyPet, v
    XPerlPlayer, v
    XPerlPlayerBuffs, v
    XPerlPlayerPet, v
    XPerlRaidAdmin, v
    XPerlRaidFrames, v
    XPerlRaidHelper, v
    XPerlRaidMonitor, v
    XPerlRaidPets, v
    XPerlTarget, v
    XPerlTargetTarget, v
    BlizRuntimeLib_enUS v4.0.1.40000

  • #665
    I managed to work around by modifying the existing steady shot spell name to "Imp Steady Shot" and adding a new "Steady Shot" spell - it seems to work fine when creating a new watcher spell with the same name as a wow spell, just giving problems when the spell name isn't set when the new spell is added.
  • #666
    Found another minor bug. After renaming the old steady shot spell and adding a new one I got another crash when trying to alter my priorities. I managed to work around by setting the number of priorities to 1, reloading my UI and setting them up again. I guess there is a problem with the string compaisson with the ComboBox values, but I don't know enough about LUA or wow addons to be any more prescise. Crash dump is below, minus the addons, which haven't changed since the last post.
    Date: 2010-10-20 15:49:54
    ID: -2
    Error occured in: Global
    Count: 2
    Message: attempt to compare string with number
    (tail call): ?
    [C]: ?
    ...ic\libs\AceGUI-3.0\widgets\AceGUIWidget-DropDown.lua:592: SetList()
    ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1538: FeedGroup()
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[3]"]:9:
    [string "safecall Dispatcher[3]"]:5
    (tail call): ?
    ...face\AddOns\Altoholic\libs\AceGUI-3.0\AceGUI-3.0.lua:314: Fire()
    ...libs\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua:156: SelectTab()
    ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1574: FeedGroup()
    ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1814: Open()
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[2]"]:9:
    [string "safecall Dispatcher[2]"]:5
    (tail call): ?
    ...face\AddOns\Altoholic\libs\AceGUI-3.0\AceGUI-3.0.lua:314: Fire()
    [C]: Show()
    ..\FrameXML\InterfaceOptionsFrame.lua:28: InterfaceOptionsList_DisplayPanel()
    ..\FrameXML\InterfaceOptionsFrame.lua:46: InterfaceOptionsListButton_OnClick()
    [string "*:OnClick"]:2:
    [string "*:OnClick"]:1
  • #671
    Just a heads up. I think I might have fixed these errors for the next build. So should be working in v2.14
  • #660
    Hi prior to patch I was using watcher with my combat rogue and I used to love it... after patch though it isnt u intend tofix this so other classes can set it too??? regards maxi
  • #662
    Hi, just replied to your pm. Just to make this public. The addon shouldn't break for rogues anymore from v2.13 forwards.
  • #659
    Getting the error below on load with my warlock. Looked at warlock.lua and it seems different from all the other class lua files (perhaps it was part of a rewrite?). Calling functions like addicon, Apply, Debuff, etc. that I don't see in Core.lua

    1x Watcher-2.12\warlock.lua:42: attempt to call method 'Apply' (a nil value)
    Watcher-2.12\Core.lua:198: in function `SetDefaults'
    Watcher-2.12\Core.lua:211: in function
    (tail call): ?:
    : ?

    (tail call): ?:
    AceAddon-3.0-5:510: in function `InitializeAddon'
    AceAddon-3.0-5:622: in function

  • #661
    The warlock lua was provided by somebody else but I seem to have messed up on installation, I missed a function. Will be fixed in the next build.
  • #658
    The new version appears to be working just fine for my hunter. Aimed Shot w/Fire! including.
  • #655
    On my paladin, it's mostly working great! One small problem: on the priorities tab, every spell's raid-boss-only suppress checkbox reads "priority 1" for primary spec and "priority 2" for secondary spec. I tried checking the box anyway (to suppress AW except on raid bosses), and it still worked. (I didn't realize it at first, though, because I didn't realize heroic training dummies counted as raid bosses. Ha ha.)

    One question/suggestion: a way to better highlight abilities that become abruptly available (in this case, TV and insta-exo, for example). This may vanish when the latency compensation slider is put into play, but I find that with the new queue system, I'm missing these on the first available GCD because they are so much less obvious when they appear and only move the space of the GCD on the bar. Is there, or could there be, a way to make them pop up larger or more distinctively?
  • #656
    The current popping that occurs is only really a placeholder. I'll start working on it again once all the other classes are fully fixed.
  • 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 »

Absolute Lojack Giveaway!