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 |
11-01-10, 07:48 AM | |
|
I've uploaded a fixed/patched version to http://www.wowinterface.com/download...wnWatchct.html
|
|
boomboo |
View Public Profile |
Send a private message to boomboo |
Find More Posts by boomboo |
Add boomboo to Your Buddy List |
Tahina |
View Public Profile |
Send a private message to Tahina |
Find More Posts by Tahina |
Add Tahina to Your Buddy List |
Sugarrnspice |
View Public Profile |
Send a private message to Sugarrnspice |
Find More Posts by Sugarrnspice |
Add Sugarrnspice to Your Buddy List |
Myam |
View Public Profile |
Send a private message to Myam |
Find More Posts by Myam |
Add Myam to Your Buddy List |
Sugarrnspice |
View Public Profile |
Send a private message to Sugarrnspice |
Find More Posts by Sugarrnspice |
Add Sugarrnspice to Your Buddy List |
10-20-10, 04:09 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 5
Uploads: 0
|
I have been using this addon to monitor Tree of life and Tranquility since I got it working after 4.0.1 but maybe this is working for me because I still use Grid 1 which contain newer versions of the libraries and these might be used instead of the ones with Cooldownwatch.
One thing worth trying might be to replace the libraries with the latest. I believe the lastest can be found in DewdropLib-r324.zip and Ace2-r1101.zip on wowace. I will see if I can reproduce this error myself by using this addon alone. |
|
Myam |
View Public Profile |
Send a private message to Myam |
Find More Posts by Myam |
Add Myam to Your Buddy List |
10-20-10, 02:14 PM | ||
A Kobold Labourer
Forum posts: 0
File comments: 7
Uploads: 0
|
CooldownWatch.lua line 526 from: if event == 'ADDON_LOADED' and arg1 == 'CooldownWatch' then to: if event == 'ADDON_LOADED' then modules.lua line 91 from: local name = GetSpellName(index, spelltype) to: local name = GetSpellBookItemName(index, spelltype) modules.lua line 660 from: watchtype, watchname = 'spell', (GetSpellName(info1, BOOKTYPE_SPELL)) to: watchtype, watchname = 'spell', (GetSpellBookItemName(info1, BOOKTYPE_SPELL)) When i open the cw config mode and right click the dot, i get : Message: ...CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:610: attempt to index global 'this' (a nil value) Time: 10/20/10 16:09:44 Count: 24 Stack: ...CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:610: in function <...CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:603> Locals: (*temporary) = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2997 (*temporary) = <table> { Unregister = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2944 Register = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2895 AddSeparator = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:3040 OnTooltipHide = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:3365 KEY_BUTTON2 = "Right Mouse" hookedTooltip = true argCheck = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\AceLibrary\AceLibrary.lua:129 AddLine = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:3053 onceRegistered = <table> { } registry = <table> { } pcall = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\AceLibrary\AceLibrary.lua:167 GetLibraryVersion = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\AceLibrary\AceLibrary.lua:585 IsOpen = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2718 GetOpenedParent = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2723 error = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\AceLibrary\AceLibrary.lua:75 IsRegistered = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2890 Refresh = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:1890 InjectAceOptionsTable = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:3301 KEY_BUTTON1 = "Left Mouse" FeedTable = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:1773 Close = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2997 Open = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2949 frame = <unnamed> { } EncodeKeybinding = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2658 FeedAceOptionsTable = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:1272 } (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = "attempt to index global 'this' (a nil value)" sliderFrame = nil editBoxFrame = nil Refresh = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:1832 self = <table> { Unregister = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2944 Register = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:2895 AddSeparator = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:3040 OnTooltipHide = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:3365 KEY_BUTTON2 = "Right Mouse" hookedTooltip = true argCheck = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\AceLibrary\AceLibrary.lua:129 AddLine = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\Dewdrop-2.0\Dewdrop-2.0.lua:3053 onceRegistered = <table> { } registry = <table> { } pcall = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\AceLibrary\AceLibrary.lua:167 GetLibraryVersion = <function> defined @Interface\AddOns\CooldownWatchConfig\libs\AceLibrary\AceLibrary.lua:585 IsOpen = <function> defined @Interface\AddOns\Cool The cooldowns i am wanting to change with the menu settings are the new tree of life, Tranquility, and the new thorns. If you need the errors i get when right clicking each individual spell in the config mode, lemme know |
|
|
Sugarrnspice |
View Public Profile |
Send a private message to Sugarrnspice |
Find More Posts by Sugarrnspice |
Add Sugarrnspice to Your Buddy List |
10-20-10, 10:49 AM | ||
A Kobold Labourer
Forum posts: 0
File comments: 5
Uploads: 0
|
Which spells? Please post the lua error. |
|
|
Myam |
View Public Profile |
Send a private message to Myam |
Find More Posts by Myam |
Add Myam to Your Buddy List |
10-19-10, 02:36 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 7
Uploads: 0
|
Anyone know how to get the options menu to work again? Ive made the lua changes to get the basic functionality back up but i have new cooldowns to monitor since the 4.0.1 release and i cant make the bars autohide due to lua errors with the rightclick menus. I really love this addon and i hate to see it so buggy
|
|
Sugarrnspice |
View Public Profile |
Send a private message to Sugarrnspice |
Find More Posts by Sugarrnspice |
Add Sugarrnspice to Your Buddy List |
10-14-10, 01:10 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 5
Uploads: 0
|
My CooldownWatch stopped working after 4.0.1. I have done some changes and now it monitors my already configured cooldowns without lua errors, more changes might be needed though.
CooldownWatch.lua line 526: if event == 'ADDON_LOADED' and arg1 == 'CooldownWatch' then add the following before the if: local arg1 = ... modules.lua line 91 from: local name = GetSpellName(index, spelltype) to: local name = GetSpellBookItemName(index, spelltype) modules.lua line 660 from: watchtype, watchname = 'spell', (GetSpellName(info1, BOOKTYPE_SPELL)) to: watchtype, watchname = 'spell', (GetSpellBookItemName(info1, BOOKTYPE_SPELL)) Edit: boomboo ponited out in http://www.wowinterface.com/downloads/info16127-CooldownWatch2.html#comments that my original fix had a flaw so I have corrected this post.
Last edited by Myam : 10-21-10 at 01:37 PM.
|
|
Myam |
View Public Profile |
Send a private message to Myam |
Find More Posts by Myam |
Add Myam to Your Buddy List |
04-14-10, 10:59 AM | |
A Defias Bandit
Forum posts: 3
File comments: 18
Uploads: 0
|
Hi guys, thanks for addon its the best! but i have 1 problem when i play my priest everything is always fine but when i log into my alt rogue and i set all cooldown bars they work only until i log off. if i login again i need to set everything from the beginning ;(( what should i do?
|
|
vognar |
View Public Profile |
Send a private message to vognar |
Find More Posts by vognar |
Add vognar to Your Buddy List |
03-25-10, 11:01 PM | ||
A Murloc Raider
Forum posts: 5
File comments: 7
Uploads: 0
|
|
|
|
macbuz |
View Public Profile |
Send a private message to macbuz |
Find More Posts by macbuz |
Add macbuz to Your Buddy List |
03-24-10, 12:06 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 4
Uploads: 0
|
fixed
Last edited by Aîm : 03-24-10 at 12:56 PM.
|
|
Aîm |
View Public Profile |
Send a private message to Aîm |
Find More Posts by Aîm |
Add Aîm to Your Buddy List |
03-24-10, 10:00 AM | |
|
A fix for 3.3.3 change to the following in modules.lua:
line 43: t:SetPoint("RIGHT",self,"RIGHT",0,0) line 68: --t:SetTexCoordModifiesRect(true) |
|
boomboo |
View Public Profile |
Send a private message to boomboo |
Find More Posts by boomboo |
Add boomboo to Your Buddy List |
03-23-10, 06:13 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 24
Uploads: 0
|
I 100% agree with Ascension it rocked totally customizable, drag and drop functionality could watch the cooldown on any spell ability or item. if anyone know lua please see about repairing this addon hes right also there is nothing else like this anywhere that i have found
|
|
Fizbyn |
View Public Profile |
Send a private message to Fizbyn |
Find More Posts by Fizbyn |
Add Fizbyn to Your Buddy List |