Go to Page... |
Updated: | 05-29-09 07:16 AM |
Created: | 10-27-08 06:48 AM |
Downloads: | 56,995 |
Favorites: | 251 |
MD5: |
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
Comment Options |
Toran |
View Public Profile |
Send a private message to Toran |
Find More Posts by Toran |
Add Toran to Your Buddy List |
Tifi |
View Public Profile |
Send a private message to Tifi |
Find More Posts by Tifi |
Add Tifi to Your Buddy List |
11-01-08, 07:50 AM | |
|
Today I came across an odd bug. Blizzard's Get*Cooldown() functions behaved unexpectedly when the cooldown started before the computer was rebooted. This is due to a limitation of the Windows API function GetTickCount(), which cannot return negative values. I fixed this in 1.11, and it's working here on Windows 2000.
I would very much like to get some feedback from users of OSs other than Windows. The cooldown of course needs to be longer than the time it takes you to reboot and start up WoW, so the Hearthstone should do the trick. To test it, you need to add the Hearthstone in CooldownWatch, start the cooldown, then reboot your computer. If the addon still doesn't work correctly, I would like to know your OS, and the output of the following script Code:
/run DEFAULT_CHAT_FRAME:AddMessage(strjoin("; ",GetTime(), GetItemCooldown(6948)))
Last edited by Tifi : 11-01-08 at 07:58 AM.
|
|
Tifi |
View Public Profile |
Send a private message to Tifi |
Find More Posts by Tifi |
Add Tifi to Your Buddy List |
11-02-08, 09:08 AM | |
|
great addon , exactly what i needed!
but it doesnt work with faerie fire (feral) i pull it there and a frame appears with no icon any fix for that? |
|
sonix |
View Public Profile |
Send a private message to sonix |
Find More Posts by sonix |
Add sonix to Your Buddy List |
11-03-08, 07:17 AM | |
|
Ok, Blizzard's functions don't work with "Faerie Fire (Feral)", but "Faerie Fire (Feral)()" works. Fixed in 1.11b, please tell me if it works for you.
Last edited by Tifi : 11-03-08 at 08:06 AM.
|
|
Tifi |
View Public Profile |
Send a private message to Tifi |
Find More Posts by Tifi |
Add Tifi to Your Buddy List |
11-04-08, 11:49 AM | |
|
okay almost everything's working fine now, 2 problems left:
when i go into stealth (prowl for druids) a full bar without timer appears, and when i leave stealth then the countdown starts. other problem: survival instincts (feral talent) gets bugged and stays there with full bar, even when its not on cooldown. |
|
sonix |
View Public Profile |
Send a private message to sonix |
Find More Posts by sonix |
Add sonix to Your Buddy List |
11-04-08, 11:55 AM | |
|
same for shadowmeld, i guess thats how it works. but the SI bug bothers me a little
|
|
sonix |
View Public Profile |
Send a private message to sonix |
Find More Posts by sonix |
Add sonix to Your Buddy List |
11-04-08, 04:52 PM | |
|
I believe both Shadowmelt and Stealth are working correctly. The bar appears as soon as the cooldown is triggered, even though it's not yet started. The same happens with potions, Inner Focus, Feign Death etc. I have to change some stuff for those spells anyways, and I guess it'd be ok if the addon only tracked cooldowns that are actually cooling down.
This SI bug is strange though, it's basically the same spell as Last Stand, and that one works fine. When exactly does this happen? Is the bar always filled, i.e. not initialized properly? Or does the bug only occur after you used it for the first time? And what exactly does or doesn't work? Is it only a problem with the bar not being animated correctly? BTW thanks for your reports. I only play a Priest and a Warrior, so I can't test the addon with other classes. |
|
Tifi |
View Public Profile |
Send a private message to Tifi |
Find More Posts by Tifi |
Add Tifi to Your Buddy List |
11-05-08, 10:52 PM | |
|
I'm feeling a bit stupid about this, but I'm not able to get this working. I drag a spell out onto the anchor. It shows up. I close the spellbook. I exit config mode. I use the spell. OmniCC shows the cooldown, this doesn't.
I tried disabling OmniCC to see if it was conflicting -- no dice. Is it possible some other addon is blocking yours from hooking the cooldown events? Is there a way to find out? Thanks :\. |
|
pelf |
View Public Profile |
Send a private message to pelf |
Find More Posts by pelf |
Add pelf to Your Buddy List |
11-06-08, 06:47 PM | |
|
Frankly I have no idea. It sounds like you did everything correctly. I assume you used spells with a noteworthy cooldown, the addon ignores cooldowns <=1.6s because of the GCD. You could disable all other addons to see if that helps at all. You could also try to hide/show the UI after using a spell (Alt-Y or Alt-Z, not sure). That's not a solution of course, but it could help me find out what's going wrong.
|
|
Tifi |
View Public Profile |
Send a private message to Tifi |
Find More Posts by Tifi |
Add Tifi to Your Buddy List |
11-07-08, 02:41 PM | ||
|
Is there some way in Lua I can trace the cooldown events as they bubble up through all the things that hook them? |
|
|
pelf |
View Public Profile |
Send a private message to pelf |
Find More Posts by pelf |
Add pelf to Your Buddy List |
11-07-08, 08:04 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 1
Uploads: 0
|
same problem
I am having the same problem. Can config everything just fine, but no cooldowns are tracked. I added three to it, with varying options. Nothing happens when I do any of the spells.
Addon looks cool, hope I can get it working. Just let me know what I need to do. |
|
twofeather |
View Public Profile |
Send a private message to twofeather |
Find More Posts by twofeather |
Add twofeather to Your Buddy List |
11-08-08, 01:26 PM | ||
|
BTW what's your locale?
Last edited by Tifi : 11-08-08 at 01:36 PM.
|
|
|
Tifi |
View Public Profile |
Send a private message to Tifi |
Find More Posts by Tifi |
Add Tifi to Your Buddy List |
11-09-08, 06:11 AM | |
|
it seems the SI bug was just my own stupidity..i forgot to check autohide frame on that 8)
everythings working fine now, thanks for the great addon |
|
sonix |
View Public Profile |
Send a private message to sonix |
Find More Posts by sonix |
Add sonix to Your Buddy List |
11-10-08, 09:32 AM | ||
|
|
|
|
pelf |
View Public Profile |
Send a private message to pelf |
Find More Posts by pelf |
Add pelf to Your Buddy List |