SexyCooldown
Upgrade Notice
Users upgrading from versions prior to 0.6.6 will lose any aura blacklist settings. A change was made to aura identification to resolve conflicts with skills such as Sacred Shield. Please re-blacklist any auras you aren't interested in after upgrading.
About
SexyCooldowns is a logarithmic cooldown bar. What's that, you say? Well, most timer bars you're used to are linear. That is, the distance between 0 seconds and 10 seconds is the same as the distance between 50 seconds and 60 seconds. A logarithmic cooldown bar is somewhat different - it represents cooldowns on a compressed timeline, so that cooldowns that are closer to being ready are represented as more active on the bar. This lets you represent a large amount of data on a single bar, and have it remain useful.
In short, SexyCooldown is a single consolidated timer bar for all your spell, pet's spell, item, and proc cooldowns, as well as buffs, debuffs, and totem timers. It's very flexible, and can be customized to fit into your UI as best you see fit.
Features
- Spawn as many bars as you want, and show the specific information you want on each.
- Supports spell and talent cooldowns, explicit and internal item cooldowns, buffs on you, debuffs on you, and debuffs on your target or focus.
- Very highly configurable look and feel. Build bars that will fit into any UI.
- Bars may be oriented horizontally or vertically, and move in either direction.
- Extensible - can support virtually any kind of timer. Currently works as a cooldown, buff, and debuff timer, but the possibilities are endless.
Demo
Here you can see that I have set up three separate bars, one for my cooldowns at the bottom, one for short buffs on me (<45 seconds) above my unit frame, and one for my debuffs on my target above the target unit frame.
In a raid setting (Click for HD):
4x SexyCooldown-0.6.16\prototype.lua:421: attempt to call method 'SetMaxFramerate' (a nil value)
SexyCooldown-0.6.16\prototype.lua:507: in function `CreateCooldown'
SexyCooldown-0.6.16\core.lua:343: in function `AddItem'
SexyCooldown-0.6.16\Modules\Auras.lua:87: in function <SexyCooldown\Modules\Auras.lua:73>
SexyCooldown-0.6.16\Modules\Auras.lua:111: in function `UpdateUnit'
SexyCooldown-0.6.16\Modules\Auras.lua:60: in function <SexyCooldown\Modules\Auras.lua:58>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[2]":9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?:
AceBucket-3.0-3 (Quartz):116: in function <...e\AddOns\Quartz\libs\AceBucket-3.0\AceBucket-3.0.lua:109>
(tail call): ?:
2x SexyCooldown-0.6.16\prototype.lua:421: attempt to call method 'SetMaxFramerate' (a nil value)
SexyCooldown-0.6.16\prototype.lua:507: in function `CreateCooldown'
SexyCooldown-0.6.16\core.lua:343: in function `AddItem'
SexyCooldown-0.6.16\Modules\Spells.lua:128: in function `UpdateSpellCooldowns'
SexyCooldown-0.6.16\Modules\Spells.lua:97: in function `Refresh'
SexyCooldown-0.6.16\Modules\Spells.lua:49: in function <SexyCooldown\Modules\Spells.lua:48>
Without the errors it makes it pretty tough to troubleshoot. I'll try to spend some time on it later tonight but I can't promise anything.
I miss you, Antiarc. :(
one is to track the CD on my Reincarnation, and also to track Herosim cooldown, and then to track my flame shock on my target.
I am wondering if anyone has a way so that they will display ONLY those things instead of hearth stones and everything else?.
PM any replies or post here thanks as i love this mod but wanto make it more specific to my needs
Feel free to fork and commit =)
https://github.com/Tak0r/SexyCooldown
Was able to fix spell cooldowns, however in doing so I had to neuter the debuff display functionality by ripping out a bunch of spell IDs that no longer exist.
Here's how you can fix it yourself:
1) Extract SexyCooldown onto your desktop. Do not extract it to the WoW\Interface\Addons folder yet because we cannot easily edit them from there on Vista/Windows 7.
2) Open up Spells.lua (it's in the Modules folder) in Notepad. You will have to click on the drop down that says Text Documents (*.txt) and select All Files first to get Notepad to display .lua files.
3)Look for GetSpellName, it's around 10 lines from the top. Change that to GetSpellBookItemName. (Renaming such a frequently used function... nice one Blizzard).
4) The line right after that is "if not name then break end". After THAT line, paste the following.
if (GetSpellLink(i, book)) then
5) A few lines after that is an "end". Stick another one right after that so you have "end end".
6) Open up the file Modules\RaidDebuffs.lua. Remove everything between the brackets for RAID_DEBUFF_BLEED, RAID_DEBUFF_MAJOR_ARMOR, RAID_DEBUFF_SPELL_HIT, RAID_DEBUFF_MORTAL_STRIKE. Don't remove the actual headers or the brackets, just the list of numbers inside of them. This will kill SexyCooldown's ability to monitor those debuffs.
7) Save those two files. Move the SexyCooldown folder you extracted on your desktop to its usual location in the Addons folder.
8) Since it's been fixed, you can change the first line in SexyCooldown.toc in [wowfolder] /interface/addons/SexyCooldown/
## Interface: 40000
And it will no longer come up as "out of date."
After doing this, SexyCooldowns should work fine. I haven't tested it much but it seemed to recognize the few spells I tried, including new spells. Don't know yet about items or other non-spell cooldowns.
http://amenity.yolasite.com/resources/SexyCooldown.zip
Message: Interface\AddOns\SexyCooldown\prototype.lua:423: attempt to call method 'SetMaxFramerate' (a nil value)
Time: 03/07/11 13:50:43
Count: 1
Stack: Interface\AddOns\SexyCooldown\prototype.lua:423: in function `CreateNewCooldownFrame'
Interface\AddOns\SexyCooldown\prototype.lua:509: in function `CreateCooldown'
Interface\AddOns\SexyCooldown\core.lua:343: in function `AddItem'
Interface\AddOns\SexyCooldown\Modules\Spells.lua:131: in function `UpdateSpellCooldowns'
Interface\AddOns\SexyCooldown\Modules\Spells.lua:100: in function `Refresh'
Interface\AddOns\SexyCooldown\Modules\Spells.lua:52: in function <Interface\AddOns\SexyCooldown\Modules\Spells.lua:51>
line 423:
f.pulseAlpha:SetMaxFramerate(30)