Download
(59Kb)
Download
Updated: 05-29-09 07:16 AM
Pictures
File Info
Updated:05-29-09 07:16 AM
Created:10-27-08 06:48 AM
Downloads:56,910
Favorites:251
MD5:

CooldownWatch  Popular! (More than 5000 hits)

Version: 1.16a
by: Tifi [More]

Bad news, everyone: I quit WoW, my account expires on August 11th. So tick that "Load out of date AddOns" check box and hope for the best!
I just wanted to say thanks for using my AddOns and for all the support, feedback, bug reports, and kind words. Very much appreciated. Bye!


Description
Displays cooldowns of your spells, items or equipment slots. Every cooldown has an icon, the time left, an optional bar, and an optional, user-defined label ("trinket 1" for example).
I wrote this AddOn because I wanted to get rid of all those action buttons, taking up a big part of my screen. I use hotkeys for almost every spell I have, so I don't need buttons. After I hid all those buttons, I was missing two things: Range detection and cooldowns. This AddOn takes care of the cooldown part.

Features
- Speed: I have a slow computer, and I like optimizing code, so I designed the addon to be as fast as possible.
- Watches cooldowns of spells, items or equipment slots
- Fixed, user-defined order: I don't want my cooldowns sorted by time. If I need to know the cooldown of Taunt, I don't want to spend time looking for it, I need it to always be in the same place.
- Disable the bars: If you don't like bars (or want to make the addon run even faster), you can disable them. CooldownWatch will only display the icon and the time left.
- Auto-hide (optional): Hides the cooldown frame if the ability or item is off cooldown to save screen real estate.
- Customizable layout: You can change the bar texture, bar colors, the text color, and the font. Some of these features require SharedMediaLib/SharedMedia-1.0 (not included). Try the addon SharedMedia if you're interested.
You can also change the list layout, i.e. the order of the cooldowns in the list. The default is top to bottom, available options are bottom->top, left->right, right->left.
- Drag-and-drop interface: See below. Or just try it out.

Usage
Enter /cooldownwatch or /cw to toggle the config mode. A small anchor frame is visible if you're in config mode. CooldownWatch automatically activates the config mode if it runs for the first time on a toon. In config mode you can do the following:
Move the cooldown frames: Drag the anchor.
Add a cooldown: Drag and drop a spell or item to the anchor frame to add it at the end of the list.
Or drop it on another cooldown to insert it at that position, and use that cooldown's settings.
Note: If you drag an item from your bags, the item itself will be added as the cooldown. If you drag an item from your character frame, the equipment slot it came from will be watched. That way, you can watch for example the cooldowns of the trinkets you're currently wearing.
Remove a cooldown: Middle click the cooldown frame.
Reorder cooldowns: Drag the cooldown frame.
Access cooldown specific options: Right-click the cooldown frame.
Access global options: Right-click the anchor frame.

IMPORTANT: While you're in config mode, cooldowns won't get updated. You have to leave config mode in order to make cooldowns work.

Things you might be missing (ToDo list)
- Currently there's only one list of cooldowns. Maybe I will add multiple lists someday.

Features CooldownWatch doesn't have, and never will (NoDo list)
- Cooldowns of other players or mobs.
- Automatically add cooldowns.
- Automatic sorting.
- You can't change the format or graining of the time displayed. For example if the cooldown is 2h34m11s, CooldownWatch will display 3h (which means 3h or less) until it's less than 120m. At that point of time it will switch to minutes, and at less than 120s it will display seconds. It's unlikely that I'm going to change this.
- Localization of the config menus. I don't see a real need.

Bugs/Issues
- Drag and drop doesn't work for pet spells, not sure why they disabled this in WoW. Pet spells are not supported at the moment.
- If one spell triggers multiple cooldowns, the results may be unexpected, because CooldownWatch tries to avoid scanning all watched spell cooldowns. Let's say you're watching Shield Bash and Pummel: If you use Pummel, only the cooldown frame of Pummel will be updated. However, if you hide and show the interface (Alt-Z), or reload the UI, or exit config mode, CooldownWatch has to scan all watched cooldowns, and will detect that Shield Bash is on cooldown, too. There's no way for CooldownWatch to know that multiple spells share the same cooldown, unless I add all those combinations manually. Which I'm not going to do.

Notes
The main feature of CooldownWatch is speed. Cooldowns have to use OnUpdate code, which is executed in every frame, i.e. every time WoW redraws the screen.
Most timer addons update the text that displays the time left in every frame. The default interface also does this if you enable the display of buff/debuff duration. Let's say a cooldown has 15 minutes left, so for the next few minutes, the text will only change once per minute. Let's say you have a frame rate of 15fps, that's 900 frames per minute. That means 899 out of 900 times, updating the text is just wasting CPU, because the text won't change anyways. CooldownWatch, on the other hand, only updates the text when it's needed.
Another example: Let's say the cooldown bar has a width of 90 pixels. Again, other cooldown addons would update this bar every frame. For longer cooldowns, most of these updates won't actually change the bar, just waste CPU. It's 90 pixels, so the bar only needs 90 updates, which is exactly what CooldownWatch will do.
One more example: There's an option in CooldownWatch to disable the bar of a cooldown. Most addons would work like this: In every frame they would check if the cooldown has a bar, and update it if there is one. Checking for that bar is CPU overhead; the addon (and your frame rate) becomes a little slower, just because hiding the bar is optional. Most addons look up options in their database, which requires multiple table lookups. Now image you're a programmer. You would know beforehand if you want a bar or not. Since you're a programmer, you can write the code accordingly; you don't need to check if there's a bar or not, you just write the code to update the bar if there is one, or leave that code out, if there is no bar. CooldownWatch works exactly like this, it actually writes the code itself. That way, CooldownWatch can have optional features, without spending time on these checks.

As a small test, I compared CooldownWatch to the addons "Cooldown Timer Bars" and "Cooldown Bars 2.0" from curse. I configured them all to have bars of size 90x18. Then I triggered four cooldowns, and measured the CPU times for each addon with WoW's CPU profiling feature for 30s while all four cooldowns were still running.
CooldownBars 257.6ms
CooldownTimers2 99.2ms
CooldownWatch 15.4ms

1.16a
Bugfix: Item and equipment slot cooldowns cannot be unlearned anymore (e.g. Managems).
Bugfix: CooldownWatchConfig is not always loaded, only when entering config mode.
Bugfix: After learning a tracked cooldown talent, the frame is now initialized properly (auto-hide).

1.16
Added setting to adjust the spacing between bars.
Bugfix: The icon height equals the frame's height now.

1.15
Learning/unlearning talents will now show/hide the corresponding cooldown frames.
Bugfix: Unlearned spells are now initialized properly as collapsed.
TOC interface version bump to 3.1.

1.14b
New: Added option to toggle the Blizzard default icon border.

1.14a
Bugfix: If an ability comes off cooldown earlier (Readiness, Sword&Board, etc), the corresponding frame now resets properly.

1.14
New: The layout being mirrored (icons left, bars shrink from left to right)
is now optional, but still the default.

1.13
Bugfix: If the computer was running for more than 10 days, the addon would
stop working.

1.12
New slash command options:
/cw debug <level>: Sets the debug level, 3 is a good start.
/cw debug: Disables debugging.
/cw log: Shows an ugly frame to copy the debug output.
Ignore cooldowns that are triggered but not started (like Feign Death, Inner Focus, etc).

1.11
If the texture or font was not found (for example because the addon providing
it was deleted), revert do default.
Bugfix: If a cooldown started before the computer was booted, the remaining
time displayed was wrong. (Untested on Mac and Linux).
Bugfix: Faerie Fire (Feral) should work now.

1.10
Bugfix: Spells with a cooldown that doesn't start immediately should work
correctly now (like Inner Focus, but also potions in combat).

1.9
Fixed stuff for 3.0.
.toc version bump.
Added LibSharedMedia-3.0 as an optional dependency.
Removed Dongle.
Bugfix: If the addon was disabled, the anchor's position was reset.
Optional Files (0)


Post A Reply Comment Options
Unread 01-31-09, 03:14 PM  
eg0
A Defias Bandit

Forum posts: 2
File comments: 14
Uploads: 0
Originally posted by Nakari
Small problem with the hunter ability Readiness (and I assume the similar Preparation): If you use Readiness to clear your cooldowns, the bars won't reset and only update if you use the ability again.
Can't comment on Readiness but Preparation is working fine.
Report comment to moderator  
Reply With Quote
Unread 01-31-09, 02:41 PM  
jadakren
A Flamescale Wyrmkin
 
jadakren's Avatar
AddOn Author - Click to view AddOns

Forum posts: 103
File comments: 112
Uploads: 2
You have list from left to right, right to left...

I humbly request an option to list from center horizontally or vertically.
Report comment to moderator  
Reply With Quote
Unread 01-31-09, 06:56 AM  
Tifi
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 94
Uploads: 4
LOL this thread needs more bananas, they're awesome.

Tingmann, all I do is call icon:SetTexture(GetSpellTexture(<spellname>)). I don't have an extra texture for the border. I believe what you're referring to as the "Blizzard default" is really just part of the icon texture, which - as far as I can tell - can't be removed.

Nakari, I can reproduce this bug with Sword&Board. Thanks for reporting. Edit: Fixed in 1.14a.

habik, not possible right now, and it's very unlikely that I add it. Sorry.

Gogusrl, by "minimalist look" do you also mean no bars?
Last edited by Tifi : 01-31-09 at 07:42 AM.
Report comment to moderator  
Reply With Quote
Unread 01-30-09, 05:41 PM  
Tingmann
A Kobold Labourer

Forum posts: 0
File comments: 63
Uploads: 0
Oh, and i must add, that it would be very nice to have 2 or 3 sets of bars, for example, one little set, for not-so-important CDs, and one big one, say, for my vital tanking CDs.

Not really a request, just a little feedback

And thanks again for best CD addon ever!
Report comment to moderator  
Reply With Quote
Unread 01-30-09, 05:36 PM  
Tingmann
A Kobold Labourer

Forum posts: 0
File comments: 63
Uploads: 0
Originally posted by Tifi
Tingman, I'm not exactly sure what an icon border is. I don't think CooldownWatch actually has a border for icons. You mean like an extra texture on top of the icons?
As for the respec bug, does that also happen after you reload the UI?

Edit: I noticed that cooldowns work somewhat better now for Death Knights. The Blizzard API function now reports either the ability cooldown or the rune cooldown, whatever is greater. It's still a bit odd because I normally only trigger a cooldown bar when the ability is used. So even when you can't use the ability because the runes are on CD, the addon won't show this. Is that a problem for DKs?
No idea about DKs, I play warrior

As for icons, yes, well, kinda as Button Facade modifies action bar buttons, or like, in oUF layouts, where we put our border texture .tga, and define path in .lua file, to use this texture as buffs and debuffs border.

I not see any border texture file in cw folders, so im assuming that you using Blizzard defauld one, with rounded corners. And asked, can this be changed, for example, for black square one.
Report comment to moderator  
Reply With Quote
Unread 01-30-09, 04:24 PM  
Nakari
A Murloc Raider

Forum posts: 4
File comments: 9
Uploads: 0
Small problem with the hunter ability Readiness (and I assume the similar Preparation): If you use Readiness to clear your cooldowns, the bars won't reset and only update if you use the ability again.
Report comment to moderator  
Reply With Quote
Unread 01-30-09, 03:54 PM  
habik
A Kobold Labourer

Forum posts: 0
File comments: 64
Uploads: 0
So it is not possible to show the cd/gcd in miliseconds? Or at least 1/10 sec?
Report comment to moderator  
Reply With Quote
Unread 01-30-09, 01:14 PM  
Gogusrl
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 16
File comments: 74
Uploads: 1
could you allow us to move the cd text inside the icon for those that want a minimalist look ?
Report comment to moderator  
Reply With Quote
Unread 01-30-09, 10:42 AM  
Tifi
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 94
Uploads: 4
Tingman, I'm not exactly sure what an icon border is. I don't think CooldownWatch actually has a border for icons. You mean like an extra texture on top of the icons?
As for the respec bug, does that also happen after you reload the UI?

Edit: I noticed that cooldowns work somewhat better now for Death Knights. The Blizzard API function now reports either the ability cooldown or the rune cooldown, whatever is greater. It's still a bit odd because I normally only trigger a cooldown bar when the ability is used. So even when you can't use the ability because the runes are on CD, the addon won't show this. Is that a problem for DKs?
Last edited by Tifi : 01-30-09 at 11:24 AM.
Report comment to moderator  
Reply With Quote
Unread 01-30-09, 05:58 AM  
Tingmann
A Kobold Labourer

Forum posts: 0
File comments: 63
Uploads: 0
Hey, fantastic addon. Cannot play without it now

I have a question. Is there a way to change icon border skin to my custom one, to match my UI style better?

Also, if i am respecced (lost some abilities), and then respecced back, this abilities icons wont show, only bars. They reappear only if i change visibility settings.
Report comment to moderator  
Reply With Quote
Unread 01-27-09, 03:21 AM  
Tifi
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 94
Uploads: 4
Keats, I haven't decided yet. In theory this feature sounds good, but it has to work in practice too. I'm not yet conviced that it does. But maybe it's just me, maybe my peripheral vision just sucks.
I posted those little scripts so you could try it out yourself. I suggest you run an instance or two, tinkering with the colors. At least that's what I'm going to do.

If you want to add this feature yourself, drop me a PM with the changes you made.

NeuronRider, thanks for helping out.
Last edited by Tifi : 01-27-09 at 03:22 AM.
Report comment to moderator  
Reply With Quote
Unread 01-27-09, 12:54 AM  
keats
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 12
Uploads: 1
Dear Tifi,

thanks for the in-depth reply, though you didn't say so, from your reply it seems that you decided not to implement it, which is OK of course, it's your free time, work on stuff that makes sense to you

I do feel that high saturation colors with wide gaps in the spectrum like say red, yellow, blue, green, purple work quite well, but it might just be me, I'm odd in other ways too :P

But based on the little code you wrote I will probably be able to extend your addon, let me know if you'd be interested in my changes.
Report comment to moderator  
Reply With Quote
Unread 01-26-09, 03:56 PM  
NeuronRider
A Murloc Raider
 
NeuronRider's Avatar

Forum posts: 7
File comments: 42
Uploads: 0
Originally posted by hiptoss
The cooldown looks like it'd be perfect for what I need, but it doesn't seem to be working.

http://shady.hiptoss.com/~bill/cooldownbroke.jpg

In the screenshot, just to the right of my target you'll see the cw config sphere. I'm a mage, and I had just cast both frost nova and cone of cold to test. Is there a list of spells that need to be added manually? I don't see any cooldowns regardless of which spells I cast.

Any help would be greatly appreciated.

Thanks in advance.
Features CooldownWatch doesn't have, and never will (NoDo list)
- Cooldowns of other players or mobs.
- Automatically add cooldowns.
I haven't tried the addon yet, but, the description and the screen shots from the main page both state and imply that you have to actually add any of the CDs you want to track yourself. If I'm understanding you correctly, I don't believe you assigned it to track any CDs. Take a look at the last listed image on the description page and you should be able to figure out adding your CDs to the tracker.

Edit: Link to the image I'm referring to, just to avoid any confusion.
Last edited by NeuronRider : 01-26-09 at 03:58 PM.
Report comment to moderator  
Reply With Quote
Unread 01-26-09, 03:09 PM  
hiptoss
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
The cooldown looks like it'd be perfect for what I need, but it doesn't seem to be working.

http://shady.hiptoss.com/~bill/cooldownbroke.jpg

In the screenshot, just to the right of my target you'll see the cw config sphere. I'm a mage, and I had just cast both frost nova and cone of cold to test. Is there a list of spells that need to be added manually? I don't see any cooldowns regardless of which spells I cast.

Any help would be greatly appreciated.

Thanks in advance.
Report comment to moderator  
Reply With Quote
Unread 01-26-09, 03:15 AM  
Tifi
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 94
Uploads: 4
Originally posted by keats
I also have a suggestion to make regarding the usability of the addon: I'd like to ask you to add the possibility to assign colors individually to each bar. My thinking goes like this: people using your addon will probably place it somewhere around the edge of the screen, so it doesn't interfere with the action in the world, and character movement. Individual color assignments would enable players to 'learn' the colors for each spell, and to cue in to whats on CD using peripheral vision, without the need to actually look at the addon to check each time.
Sounds like a good idea on paper, but I'm not yet sure if this would work, or when to use it. What cooldowns would you use it for? It would probably work best for auto-hide cooldowns. I'll try it out.

Edit: You can try it out yourself. To change the color of the 8th bar to blue, use the following script:
Code:
/run CooldownWatch.frame[8].statusbar:SetStatusBarColor(.4,.4,1,1)
To change the background color use
Code:
/run CooldownWatch.frame[8].statusbar:SetBackdropColor(.4,.4,1,.4)
The arguments are standard RGBA values (red, green, blue, alpha). To get the number for a bar, switch to config mode (/cw) and count from the top (the first cooldown is 1). Those changes will be overwritten when the UI is loaded.

I have to say it's kind of hard to find colors that you can actually identify using peripheral vision. As far as I know, the color receptors in the human eye are mostly located at the center of the retina, making it harder and harder to distinguish colors the further an object is away from your focus.

Originally posted by nouk
Could that be possible to show more precise cooldown text ?
I like to see if my shots CD is 1.5 sec, not just 1 or 2.

Another great thing would be to add a bar to watch GCD.
The time format is hard coded, and I don't think it's ever going to change. I assume you try to use this addon for rotation-level decision making? (E.g. decide between Explosive or Steady.) I'm afraid this is really beyond the scope of this addon. For example on my Warrior I don't track Shield Slam or Revenge either, on my Spriest I don't track Mind Blast or Shadow Word: Death. Those spells are part of my rotation, and the remaining cooldown alone really isn't sufficient to make a quick decision. As a hunter, you have also have to factor in other things, like the swing timer, the remaining duration of Serpent Sting, or the HP of the target for Kill Shot. CooldownWatch is better suited for longer, more situational cooldowns like Silencing, Concussive, Tranquilizing or Traps.

For a GCD bar you should try Quartz, there's a module Quartz_GCD specifically for that purpose. You can find the latest version on curse.com.
Last edited by Tifi : 01-26-09 at 04:29 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: