1. #1

    [Help] Addon that tracks Res timers for RBGs

    Need an addon that tracks res timers in RBGs. Any idea?

  2. #2
    Quote Originally Posted by Malgru View Post
    Need an addon that tracks res timers in RBGs. Any idea?
    I haven't made anything in LUA in a while, but you may try this.

    Code:
    sh = GetAreaSpiritHealerTime()
    rt = GetCorpseRecoveryDelay()
    local f = CreateFrame("Frame")
    	f:SetScript("OnEvent", function(self, event, ...)
    		if event == "PLAYER_DEAD" then 
    			SendChatMessage ("Spirit healer resurection in:  " .. sh)
    		else 
    			SendChatMessage ("My resurection timer is:  ".. rt)
    		end 
    end)
    
    f:RegisterEvent("PLAYER_DEAD")
    Should, upon death, send a message in chat of how much time you got left to resurrect.

  3. #3
    Well it isn't that I need to communicate our current res timer - I need to know when the other team is ressing. (The res timers are on the same rotation) So if we have no one dead, and we're in the process of wiping them, should we wait 10 seconds for some of them to miss the res or should we just kill them now because they have a 40s res? That's the issue that needs to be addressed. I appreciate the help though.

  4. #4
    If memory serves, there's no Lua function that will tell you how long is left on another unit's rez timer - because of the ridiculous advantage that could give.

    Basically the only way this could be done is to make a stopwatch that goes off every X seconds and you manually start it at the moment you see the enemy rez wave happen. There *may* be a way to detect this programmatically by tracking enemy deaths (which I think is only possible if you are in combat log range of them) and then watching for when those enemy units become targetable again, but a battle-rez or even a long-cast rez out of combat would completely screw that up because I don't think there's a way to differentiate cast rezzes from the rez wave if you're not in range of the enemy unit.

  5. #5
    Deleted
    I remember discussing something along these lines a few months back. Ended up scrapping the idea because it would simply be far too inaccurate to be reliable.

  6. #6
    I was thinking there might be something out there that can basically act as a timer. I would start it at the beginning of the match and it would start at 45 and count down to 0. Then at 0, it would automatically reset to 45 and automatically count down again. Is that at all possible?

  7. #7
    It doesn't work like that. The timers change for whatever reason. I remember someone trying this out once to try and see if it could be predicted and it just goes out of sync.

  8. #8
    Well i believe there's a 1-2 second delay between the timers due to the "nova" animation of the spirit resser. Hmm.

  9. #9
    I don't think the timer starts if no one is dead. If that is true, you would need to track enemy player deaths. You would need to have everyone in your group using the addon to share data because of the combat log range limitation. Even then, the timer would be off because there's no way to tell how long they waited before releasing their spirit.

  10. #10
    As far as I know, the res timer does count down while no one is dead. Sometimes when we get wiped at a certain node in BfG or AB or whatever, people rarely get a full res timer.

  11. #11
    Quote Originally Posted by Malgru View Post
    As far as I know, the res timer does count down while no one is dead. Sometimes when we get wiped at a certain node in BfG or AB or whatever, people rarely get a full res timer.
    Here's a reply by one of the pvp addon authors on why this is not possible (far better explained than I ever could):
    The problem is that GetAreaSpiritHealerTime() only returns a value greater than 0 if the player is dead (if UnitIsGhost("player") is true) and is near a SpiritHealer.
    This means GetAreaSpiritHealerTime() is useless unless you transmit that information via SendAddonMessage() to other players.
    This also means that you only get valid informations if a groupmember is dead and is using this addon.

    GetAreaSpiritHealerTime() can give data from your group only, not from the enemy group. Even if GetAreaSpiritHealerTime() is synchronized between alliance/horde it would be impossible to determine if an enemy has release ghost or not, if an enemy stands near a SpiritHealer or not, and so on....
    This is a feature for a (Friend) Unit Frame addon, that shows exactly when your groupmembers ghost is released, not a feature for BattlegroundTargets.
    (which is an enemy battlegrounds list addon in case you're wondering).

  12. #12
    Deleted
    Well, the theory would be to track the "cast for free because you just rezzed" buff expiring on enemy targets, then subtract whatever its duration is, and you have the time for the last enemy resurrection wave. Problem being that the time is not accurate due to the random delay between casts, like I said earlier.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •