WoWInterface SVN RaidWatch2

[/] [trunk/] [RaidWatch_Ulduar/] [FlameLeviathan.lua] - Rev 22

Compare with Previous | Blame | View Log

local mod = RW:Boss("Flame Leviathan", "Ulduar", "The Siege of Ulduar")
local L

mod:SetPackIcon([[Interface\Icons\Achievement_Dungeon_UlduarRaid_Misc_01.blp]])
mod.BossIcon = [[Interface\Icons\inv_misc_wrench_02]]
mod.SubCatIcon = [[Interface\Icons\achievement_dungeon_ulduarraid_archway_01]]

---------------------------
-- Variables
local tFlameVentsCast
local tPursueDur, wPursue
local tSystemsShutdownDur, wSystemsShutdown

---------------------------
-- Init

function mod:OnRegister()
        L = mod:RegisterLocale(self:GetName(), "enUS", true)
        if L then
                L.YellPull = "Hostile entities detected. Threat assessment protocol active. Primary target engaged. Time minus thirty seconds to re-evaluation."
                
                L.YellDeath = "Total systems failure. Defense protocols breached. Leviathan Unit shutting down."
        end

        L = mod:GetLocale()
        self.L = L
                
        self:SetTrigger(L.YellPull, 33113)
        self:SetWin(L.YellDeath, 33113)

        tFlameVentsCast = self:CastTimer(10, 62396)
        tPursueDur, wPursue = self:DurTargetTimer(30, 62374), self:CastWarning(62374)
        tSystemsShutdownDur = self:DurTimer(20, 62475)
        
        wSystemsShutdown = self:Warning(62475)
        
end

---------------------------
-- Locals
local petGUIDS = {}

local function updateSpeed()
        return speedupStacks, 20
end

---------------------------
-- Start

function mod:OnEngage(trigger)
        self:Track("FlameVents", 62396)
        self:Track("Pursue", 62374)
        self:Track("SystemsShutdown", 62475)
        
        table.wipe(petGUIDS)                                                            -- is this still working?
        for i = 1, self.Party:GetPartySize() do
                petGUIDS[UnitGUID("raid"..i.."pet") or "unknown"] = UnitName("raid"..i)
        end
end

function mod:FlameVents(event, args)
        if event == "SPELL_AURA_APPLIED" then
                tFlameVentsCast:Start()
        end
end

function mod:Pursue(event, args)
        if event == "SPELL_AURA_APPLIED" then
                local target = petGUIDS[args.dGUID]
                tPursueDur:Start(target)
                if args:IsPlayer() then
                        wPursue:Show()
                end
        end
end

function mod:SystemsShutdown(event, args)
        if event == "SPELL_AURA_APPLIED" then
                tSystemsShutdownDur:Start()
                wSystemsShutdown:Show()
        end
end

Compare with Previous | Blame