6 - Mod Conflicts
What is the issue?
Please provide any additional information below.
Currently, your mod somehow conflicts with both BetterCC and Wikki's Cooldown Pulse. Not sure why, but sure makes using the mods frustrating!
- 6 comments
- 6 comments
What is the issue?
Please provide any additional information below.
Currently, your mod somehow conflicts with both BetterCC and Wikki's Cooldown Pulse. Not sure why, but sure makes using the mods frustrating!
- Reply
- #6
wikki Oct 27, 2008 at 21:36 UTC - 0 likesThanks Celestian.
Ive gone ahead and updated my project notes to reflect that this will be fixed post r7 release.
- Reply
- #5
Celestian Oct 27, 2008 at 21:24 UTC - 0 likesFixed!
- Reply
- #4
wikki Oct 27, 2008 at 20:07 UTC - 0 likesWhat I did to help filter out GCD triggered cooldowns was to grab the maxCooldown before calling the original function, as once you get down to the original Mythic UI function it does change. The nice part of this is there is no side effect of changing data out from other addons, especially the default UI, while still providing the functionality you need.
Im using something like this in a development build of WCDP:
function wcdp.OnAbilityUpdate( self, timeElapsed, updateCooldown )
local initialMaxCooldown = self.m_MaxCooldown
-- Call the original function
wcdp.__ActionButton_UpdateCooldownAnimation( self, timeElapsed, updateCooldown )
-- Perform the ability update check
wcdp.PerformAbilityUpdate( self.m_ActionId, Player.AbilityType.ABILITY, self.m_Cooldown, initialMaxCooldown )
end
Then in my handling function PerformAbilityUpdate it starts something like:
if( maxCooldown > GENERAL_GCD and cooldown 'LESSTHANEQUALTO' 0 ) then..
Site doesnt like LESSTHANEQUALTO to be its lua definition :P
- Reply
- #3
Celestian Oct 27, 2008 at 19:54 UTC - 0 likesOk, I took wikki's advice and did a bit more work and using his suggestion and a bit of what I learned in QuickMailTool I got something working. The only problem I can see right now is I get multiple alerts for some abilities if I generate a GCD at the end of a cooldown. I'll see about resolving that.
- Reply
- #2
wikki Oct 27, 2008 at 18:10 UTC - 0 likesHeya, I was the one that found the conflict, when I was looking into an issue one of my users was reporting.
When you replace the function ActionButton.UpdateCooldownAnimation, you never store the original function to be called later on. This becomes an issue when your addon is loaded as the last addon to overwrite this function.
I would suggest something similar to this that I use in Aura: AuraEngine.__ActionButton_UpdateCooldownAnimation = ActionButton.UpdateCooldownAnimation ActionButton.UpdateCooldownAnimation = AuraEngine.UpdateAbilityCooldownTimer
I store the old function, replace the old with mine. As a note, the old function doesnt necessarily have to be the default UI one, it could very well be yours, or any other addon that overwrites it.
Then when the function gets called:
function AuraEngine.UpdateAbilityCooldownTimer( self, timeElapsed, updateCooldown )
-- Call the original function
AuraEngine.__ActionButton_UpdateCooldownAnimation( self, timeElapsed, updateCooldown )
-- Do our work here
The other thing to note when doing this is to not modify data that other addons could use to process their work.
(Note: this comment is a near copy and past of what I posted to the author of BetterCC, another addon that does something similar.)
- Reply
- #1
Celestian Oct 27, 2008 at 17:52 UTC - 0 likesI've tried a few techniques to make it play nice with other mods but when I do the alerts are not accurate. Half the time they alert, half the time it doesn't.
If they ever actually fix the PLAYER_COOLDOWN_TIMER_SET event to return a useful value (actionID would be a good start) I can fix this. For now I'm still trying to work something out.
Feedback to have PLAYER_COOLDOWN_TIMER_SET return actionID and cooldown state (on or off).