Thanks! I was hoping you would post this.
![]()
I had a few requests for this, so here we go. What this does is make it so when your OmniCC cooldowns are under 2 seconds, it will display the time remaining to 1/10 of a second:
1) Head on over to OmniCC in your addons directory (.../World of Warcraft/Interface/AddOns/OmniCC)
2) Edit the file full.lua in your favourite text editor (notepad is fine)
3) Search for GetFormattedTime. You want the second instance of it. You should see this:
Change it to this (the parts you are interested in are bolded):Code:function OmniCC:GetFormattedTime(s) if s >= DAY then return format('%dd', floor(s/DAY + 0.5)), s % DAY elseif s >= HOUR then return format('%dh', floor(s/HOUR + 0.5)), s % HOUR elseif s >= MINUTE then if s <= MINUTE*3 and self:UsingMMSS() then return format('%d:%02d', floor(s/60), s % MINUTE), s - floor(s) end return format('%dm', floor(s/MINUTE + 0.5)), s % MINUTE end return floor(s + 0.5), s - floor(s) end
4) If you want the countdown to continue past 0.5 seconds, search for UpdateTimer. You want the second instance of it. You should see this:Code:function OmniCC:GetFormattedTime(s) if s >= DAY then return format('%dd', floor(s/DAY + 0.5)), s % DAY elseif s >= HOUR then return format('%dh', floor(s/HOUR + 0.5)), s % HOUR elseif s >= MINUTE then if s <= MINUTE*3 and self:UsingMMSS() then return format('%d:%02d', floor(s/60), s % MINUTE), s - floor(s) end return format('%dm', floor(s/MINUTE + 0.5)), s % MINUTE elseif s > 2 then return floor(s + 0.5), s - floor(s) end return format("%0.1f", s), 0.1 end
Change it to this (the parts you are interested in are bolded):Code:function OmniCC:UpdateTimer(timer) local rScale = timer:GetEffectiveScale() / UIParent:GetEffectiveScale() local iconScale = floor(timer:GetWidth() + 0.5) / ICON_SIZE --icon sizes seem to vary a little bit, so this takes care of making them round to whole numbers if iconScale*rScale < self:GetMinScale() or iconScale == 0 then timer.toNextUpdate = 1 timer.text:Hide() else local remain = timer.duration - (GetTime() - timer.start) if floor(remain + 0.5) > 0 then <snip>
Code:function OmniCC:UpdateTimer(timer) local rScale = timer:GetEffectiveScale() / UIParent:GetEffectiveScale() local iconScale = floor(timer:GetWidth() + 0.5) / ICON_SIZE --icon sizes seem to vary a little bit, so this takes care of making them round to whole numbers if iconScale*rScale < self:GetMinScale() or iconScale == 0 then timer.toNextUpdate = 1 timer.text:Hide() else local remain = timer.duration - (GetTime() - timer.start) if remain >= 0 then <snip>
Last edited by Satrina; 01-14-2009 at 02:29 PM.
Got a question? Try here: Evil Empire Guides and here: Tankspot Guides and Articles Library first!
Thanks! I was hoping you would post this.
![]()
What exactly does this do for us?
Thank you SO much (sorry I missed this topic).
it shows your OmniCC cd's down to the last one-tenth of a second, so you can better gauge when to hit a cd or when to stop an attack. I know sometimes I sit there when it says 1 second and think to myself. could I have hit another devastate before SS came back up? and end up waiting almost 2 seconds for it to come and think to myself damnit.
Ahh so it makes better use of GCD/CD right
Keylogger.
(I hope I did this right)
Thank you Satrina! I hate guessing when my cooldown will hit the 1.5 seconds mark.
You got to be careful Xav.. anything that ends in .lua cant be trusted... blizzard GM's told me so. And blizz would never lie.
.. shamans finnally got that good totem manager built into the wow ui, just like they said, right?
Thanks so much for posting this, Satrina.
Question: I see the cooldown time disappear at 0.6 seconds - but the cooldown spiral continues. I can't hit the ability again until the spiral finishes as well. Is that the way its supposed to be? Is there a way to be able to hit the ability at the .6 sec mark?
Last edited by gardek; 01-13-2009 at 08:15 PM.
0.6s is generally when I start hitting the next key in rotation anyway (3-4 taps to make sure you squeeze the GCD) but I will poke around, perhaps there is a little bug in OmniCC that isn't noticeable until you change this.
Got a question? Try here: Evil Empire Guides and here: Tankspot Guides and Articles Library first!
Thanks Satrina very helpful.
I'm actually noticing a similar behavior, at around .5sec left on the CD. The "cooldown spiral" still shows, and I'm still "locked" out of the ability, but it disappears. I can provide a video of this behavior if need be.
Luck is what happens when preparation meets opportunity. -Seneca
Everyone marvels at a square egg, but only the chicken understands the PAIN.
Aftermath Guild
I believe you! I just never considered it a problem since as I said, that's when I start tapping squeeze the GCD and never considered it to be anything of consequence.
Got a question? Try here: Evil Empire Guides and here: Tankspot Guides and Articles Library first!
Wouldn't on hit make for some unintended fun when trying to type normal text? (I have zero experience with AutoHotKey)
Got a question? Try here: Evil Empire Guides and here: Tankspot Guides and Articles Library first!
Added step 4 for people who want the countdown to continue past 0.5 seconds. The culprit is a rounding operation that OmniCC does, assuming that it will never display a cooldown count under 1 second.
Now you get to be like a caster and learn where your latency meets the GCD! For example, with this showing all the way down to 0.0, I can hit arcane explosion at 0.2 remaining and have it go off (my typical latency is 100-120ms). If I double tap at 0.3, I am hitting the GCD as it ends always. Similarly with shield slam and revenge, I can double tap at 0.3 (in reality, I tend to 3-tap at 0.4) and get it to go
Last edited by Satrina; 01-14-2009 at 02:45 PM.
Got a question? Try here: Evil Empire Guides and here: Tankspot Guides and Articles Library first!
Bookmarks