Author: Omega
Date: Sat Mar 13 08:09:44 CET 2010
Revision: 3802
Log:

#ICC/Valithria: Redid portals so they are now a looping function mod and will continue to show portal timers even if there isn't a monster yell. Yet also designed to resync timers every time there is one (so normal mode stays very accurate, and heroic mode has at least semi accurate timers)

Updated
trunk/DBM-Icecrown/FrostwingHalls/Valithria.lua

trunk/DBM-Icecrown/FrostwingHalls/Valithria.lua
Action: modified
Old revision: 3801
Old date: 2010-03-13 03:12:34 UTC

@@ -27,7 +27,7 @@
local specWarnLayWaste = mod:NewSpecialWarningSpell(71730)

local timerLayWaste = mod:NewBuffActiveTimer(12, 69325)
-local timerNextPortal = mod:NewCDTimer(46, 72483, nil, mod:IsHealer())
+local timerNextPortal = mod:NewCDTimer(46.5, 72483, nil, mod:IsHealer())
local timerPortalsOpen = mod:NewTimer(10, "timerPortalsOpen", 72483, mod:IsHealer())
local timerGutSpray = mod:NewTargetTimer(12, 71283, nil, mod:IsTank() or mod:IsHealer())
local timerCorrosion = mod:NewTargetTimer(6, 70751, nil, false)
@@ -46,13 +46,21 @@
end

function mod:OnCombatStart(delay)
- warnPortalSoon:Schedule(41-delay)
- timerNextPortal:Start(-delay)
- berserkTimer:Start(-delay)
+ self:Portals()
BlazingSkeleton = nil
table.wipe(GutSprayTargets)
end

+function mod:Portals()
+ warnPortal:Show()
+ warnPortalOpen:Schedule(15)
+ timerPortalsOpen:Schedule(15)
+ warnPortalSoon:Schedule(41)
+ timerNextPortal:Start()
+ self:UnscheduleMethod("Portals")
+ self:ScheduleMethod(46.5, "Portals")
+end
+
function mod:TrySetTarget()
if DBM:GetRaidRank() >= 1 then
for i = 1, GetNumRaidMembers() do
@@ -122,11 +130,7 @@

function mod:OnSync(msg, arg)
if msg == "NightmarePortal" then
- warnPortal:Show()
- warnPortalOpen:Schedule(15)
- timerPortalsOpen:Schedule(15)
- warnPortalSoon:Schedule(41)
- timerNextPortal:Start()
+ self:Portals()
end
end