Killing the loss of control actionbutton cooldown
Source: http://www.arenajunkies.com/topic/23...orking-method/
Lua Code:
Not sure if there is anything better. Maybe it even possible to just kill SetLossOfControlCooldown. |
Is it triggered by an event or on the C-side? If event, just unregistered it would suffice. :P If not then you could override SetLossOfControlCooldown to simply do nothing on the action bar cooldown widgets. :)
|
Wish I'd seen this before I uploaded a small addon.
It's not using this exact method but it's close. @Vlad: unfortunately the red-out cooldown on the actionbars is triggered c-side, unregistering the events accomplishes nothing. |
Why would they make this C-side when the API is lua side? ... makes no sense!
|
Couldn't you just securehook the actual SetLossOfControlCooldown method on the button metatable, like OmniCC does for SetCooldown, and turn it off every time it's turned on?
|
Lua Code:
Still causes a cooldown shine, probably not the ideal solution. I think replacing the function outright will end up causing taint though. |
Wouldn't it work better to just hide the cooldown entirely:
Code:
hooksecurefunc(getmetatable(ActionButton1Cooldown).__index, 'SetLossOfControlCooldown', function(cd) cd:Hide() end) |
It's the same frame that handles the action button's regular cooldown, but it may be split into regions somehow. I don't know if it's possible to only hide the LoC part.
You could try just doing this, no idea if the taint will interfere with anything: lua Code:
|
Just dropping it here that we do have 2-3 solutions to this already in case you didn't notice previous posts.
Not to take anything away from looking for a better solution, mostly for users coming upon the thread looking for a fix. Among them my own little addon that's been linked further up this thread: (it was waiting in the approval queue when I saw this post or I'd probably have used one of the existing solutions)
|
1. Using "Hide" would also break it if you actually have a cooldown on the button that is locked out from casting, so yeah you can't do that, but nice try Phanx.
2. Replacing it with a empty function is one possibility but the taint has to be evaluated, for now it's a possibility but not sure if it's a good one. In any case it's a good suggestion, Semlar. 3. The best one so far is simply to have the shine appear for a moment but hide the effect. My suggestion is something like: Code:
hooksecurefunc(getmetatable(ActionButton1.cooldown).__index, "SetLossOfControlCooldown", function(self, _, _, arg) if arg ~= true then self:SetLossOfControlCooldown(0, 0, true) end end) The current addons like Lose Control Options Fix and NoRed is that they use the default actionbar frames, i.e. if you have custom bars then they won't work for you. My only issue with Loss of Control Remover is that it uses a library that needs to be updated, so the more "solid" way to fix this is going for an approach like hooking the metatables or something, as it will affect all cooldown widgets. :) Also, NoRed is front page mmochamp material, so all those using it will have a global "f" variable, hehe. :P |
I kinda explored those possibilities the last couple days before uploading. :o
Your suggestion alone will not work because that is not actually called nearly as often as you may think. (that whole c-side thing we were talking about earlier) I only tested it with default actionbars, in reality I don't know if it does or does not work with popular actionbar mods. Are they reusing the default actionbuttons or making their own? If they're making their own why would they replicate the red-out effect unless purposely (in which case their authors can put options for it) If they are, my addon "should" work for them as well. (I think I'll actually install a couple to test) |
All times are GMT -6. The time now is 01:59 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI