Get an Epic Experience with Premium


Combat Login to Add Favorites
  • World of Warcraft
  • 822 Monthly Downloads
  • Supports: 6.0.3
  • 329,460 Total Downloads
  • Updated 11/06/2014
  • Created 04/10/2009
  • 582 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 3.0RC2

About Watcher


Watcher helps you manage your rotation by consolidating and condensing information onto a simple to read display. It allows you to focus on things that are more important like boss mechanics, your situational awareness, or listening to your raid leader; instead of being bogged down in the act of performing your rotation.

With deep and powerful configuration options, Watcher allows you to see exactly the information about your rotation that you want to see. However, it comes with a wide variety of defaults for many classes and specs to get you started. Properly configured and customized, Watcher is a mighty tool for both new players just learning their classes as well as players that have been raiding since classic.

A GIF of Watcher running on a 2H Frost Death Knight:

Watcher also includes:

  • A dynamic event-driven architecture; unlike some other rotation helping addons, Watcher won't tank your framerate
  • Masque support for skinning icons
  • A large number of visibility options to control exactly when Watcher shows up
  • And more!


Through the use of a priority system as well as powerful filters for spells and abilities, Watcher displays your rotation in the familiar context of a timeline, with higher priority spells stacked on top of lower priority ones and upcoming abilities placed on the timeline according to when they will become useful. Abilities on the timeline are waiting for a wide variety of things: coming off of cooldown, waiting for resources, monitoring a DoT, etc.

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

Ability keybinds can be optionally displayed.


More to come in this section later.

A slightly old full walkthrough of Watcher configuration is located here

Display settings documentation.

Priorities can be adjusted to where they suit you.

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


Found a bug? Report it!

Want a feature? Request it!


Want to help make the defaults better? Vist the class forum posts for each default:

Death Knight | Druid | Hunter | Mage | Monk | Paladin | Priest | Rogue | Shaman | Warlock | Warrior

Here's a tutorial for creating and exporting defaults.

tag 3.0RC2
Michael P. Starkweather <>
2014-11-06 23:18:29 -0600


Michael P. Starkweather:
    - Some changes to message and TOC for the RC2
    - Change anticipation support in the secondary resource filter to only count anticipation if you have more than 5 combo points.
Marci @ Hellscream:
    - Fixed Feral defaults to properly not cap CP and not Thrash if you have SotF.
    - Added Anticipation support to Combat Rogue Defaults.
Michael P. Starkweather:
    - Fix for not using the correct spellId for the power filter change.
    - Fix accidental bug with not specifying unit
    - Remove check if a channel has a cooldown in the usability filter.
    - Change to remove the cost of the currently casting spell from the player's mana pool in the power filter
Marci @ Hellscream:
    - Various changes to Hunter defaults.
    - Made changes to ProtPaladin defaults to account for Talented buffs and procs.
    - Berserker Rage added to ProtWar defaults.
    - Rererere-fixed Jab. This should work for everyone and be simpler.
    - Added Force of Nature to Balance defaults.
    - Insanity issues in Priest Defaults, should fix.
    - Fixed Jab. Again. Apparently there is a different SpellID depending on MH weapon. 6 SpellIDs. 6 Filters per SpellID. 36 separate filters for Jab. 'Cause "Reasons". Thanks Blizz.
    - Fix for Shadow Word: Insanity.
    - Fixed SpellID issue with Jab. Different SpellID based on 2h vs DW. Wierd.
    - Fixes to Frost priorities and filters.
    - Added Brewmaster defaults.
    - Added Resonating Power, Bloodbath, Sudden Death.
    - Initial pass at Shadow Defaults.
    - Adjusted Prot defaults, to account for Bastion of Glory, and not capping Holy Power, and use Shield of the Righteous.
    - Thrash Fix.
    - Balance defaults in.
    - Small changes to ProtWar defaults. Probably more will be needed.
Michael P. Starkweather:
    - Spell texture should now always change if the spell texture changes.
    - Should now properly never show things that are usable on the GCD.
Marci @ Hellscream:
    - Added Prot Defaults.
    - Fix to Demonic Fury and Burning Embers reflected in the Defaults.
Michael P. Starkweather:
    - Demonic fury/burning embers is now fixed.
Marci @ Hellscream:
    - Fixed issues with various Assassination defaults.
Michael P. Starkweather:
    - Switch to using the frequent power updates for both power and secondary resource
    - Change to the max slider in secondary resources to allow for up to 1000. A soft max will still be set by the type of secondary resource.
Marci @ Hellscream:
    - Changes to Rend handling, Execute SpellID for Arms.
    - Changes to bugged Warlock defaults.
    - New Paladin defaults, including fixes to Exorcism and reaction to Divine Purpose procs.
Michael P. Starkweather:
    - Change the "Towards Solar" and "Towards Lunar" so that you are able to actually read them.
    - Changes to Mage, Warlock, and Warrior defaults -- thanks Marci-Hellscream.
    - Fix for Ticket #75 - Slam broken in Defaults.
    - Always choose the spellId that we know to add
    - Switch to LibSpellbook for adding spells by name, should be a little bit more reliable at adding the correct spell.
    - Now can edit filter set names with a popup, taking care of ticket #51
    - Tiny change to hunter defaults and will not ask to replace. Aimed Shot - Thrill of the Hunt was configured slightly wrong.
    - Secondary Resource filter revamp.
    - Slider is used in Secondary Resource tab instead of entry box, with min and max set by the type of resource.
    - Eclipse: can now specify what direction that the Eclipse is growing
    - Combo Points: can now specify if you want to take Anticipation into account if you are a rogue
    - New API Version.
    - Removes because it isn't needed
    - Adds a cooldown table to each priorityList, this will be for cooldowns and will have a secondary display. Not implemented yet.
    - Adds an optionalBehavior variable to secondaryResource filters. Not implemented yet.
    - Reverse the spellName and dropdownLabel in spell dropdowns. This change is based on how the defaults are playing out.
    - Fixes for defaults for Warrior (ticket #71), Warlock (ticket #58), and Death Knight (ticket #59).
    - Made the secondary resource use the UNIT_POWER event instead of the UNIT_POWER_FREQUENT event.
    - Embedded AceSerializer. We'll use it later for export/import.
    - Fixed issue with Timer not being canceled when the frame is suddenly hiden.
    - Removed the animation calls that I was using to test.
    - No OnUpdate! Frame will now determine it needs to be animating and won't update if it doesn't have to.
    - Also, finally fixed issue with stacking at load. Stupid undocumented Blizzard API bugs
    - Fix for Warlock Soul Shards and Burning Embers not returning a decimal for the actual amount of those resources. Blizzard API is a little weird with these two.
    - Fix for desaturate sometimes not being applied when under/over the correct amount.


First Previous Page 47 of 60 Next Last
  • #204
    I like the key binding but is there a way to set it up so you can just click the current priority spell right in the window?
  • #200
    Love your addon, great work :)

    Would it be possible to add Divine Plea to the list of available pally spells? Would be great for me :)

    And if you're looking for more specs that can use this: I think this would be very nice for enh shammies too. Their priority list is "Lightning Bolt if Maelstrom Weapon is at 5 stacks (=instant Lightning Bolt) else Stormstrike if available else Earth Shock if available else Lava Lash if available"
  • #201
    Ye, it's a possibility. I'm including an "add your own spell" feature with 1.12 so should I forget you can do it yourself :P

    Ye, i have been planning on elem shaman support. But with 1.13 a shaman can always add their own spells anyway.
  • #202
    Oh, excellent, thanks :D

    Forgot one other thing I wanted to say, I'm using 'show only in combat' atm but the addon I was using previously also had 'show only if targeting enemy' which is nice since it allows you to see opener too.
  • #203
    Good Idea, I'll add it to 1.13.
  • #198
    I used 1.12b and 1.12c for my hunter and i see no icons or text only a little bar.
    plz help
  • #199
    Hmm not sure what is causing it for you.

    Try with 1.12 or 1.12a for now..
  • #196
    Woot, all working in 1.12c for warrior including icon are shown on 1st load!

    PS. May be its is stupid but GetSpellInfo returns _, _, _, powercost as integer but up in UpdateSpell divided it by 100 so it is float now etc?... Probably I am telling a bullshit. Bun nvm all working so far - i cannot test it now more - see you tomorrow :)
  • #197
    Yep! Version 1.12c works perfectly for Arms Warrior! Thank you so much for this great addon Gellin!
  • #192
    Gelin, go drink beer relax etc. You are coding a nice addon so be cool.
    1. Line 914 in core.lua: powerthreshold = powerthERshold / 100
    self:Print(powerthreshold). After 1st loading it prints junk and correct value is just for HS that is obtained from options.lua I am not familiar with LUA, but it looks like UpdateSpell called incorrectly by warrior.lua. After /console reloadui you recompile .lua files again and fill memory location by correct values...
  • #194
    Hehe, it's alright cool. Hopefully, and i do stress hopefully, I fixed it.

    Thats some interesting information actually regarding the rage costs. It does sound like a problem with GetSpellInfo(). The rage check is not actually required for the other spells so i think I shall set the rage costs for other spells to 0 and see the effect.
  • #195
    If you use self:Print(SpellName..":", powerthreshold) in core.lua you will find that GetSpellInfo filled spellname correctly while powerthreshold is wrong. So its definitely GetSpellInfo bug. I searched wow API/lua forums a bit -- ppl already had troubles with GetSpellInfo. How to fix it I have no idea :( Not a coder anymore...
  • #193
    ...or GetSpellInfo doesnt work properly
  • #191
    Downloaded the new (1.12b) and it still dosent work for my warrior :
  • #187
    I cannot see cooldowns (icons or text) when i use addon. I added primary and secondary spec abilities. but not working. Few versions before it was the same, and i always had to reload addons. Now even after reloading addons i cannot see any cooldowns - just the bar, but nothing happens at all, apart from small red dot under bar, that moves as cooldown :/ I play warrior, don't know if any other classes got the same problem.
  • 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 »

Legends of Hoenn Tin Giveaway