Compare with Previous | Blame | View Log
local mod = RW:Boss("XT-002 Deconstructor", "Ulduar", "The Siege of Ulduar") local L mod.BossIcon = [[Interface\Icons\achievement_boss_xt002deconstructor_01]] --------------------------- -- Variables local tTympanicTantrumCD, tTympanicTantrumCast, tTympanicTantrumCD, wTympanicTantrum local tExposeHeart, wExposeHeart local tSearingLightDur, mSearingLightCast, wSearingLightRun, iSearingLight local mLifeSpark local tGravityBombDur, mGravityBombCast, wGravityBombRun, iGravityBomb, wConsumption local tBerserk --------------------------- -- Init function mod:OnRegister() L = mod:RegisterLocale(self:GetName(), "enUS", true) if L then L.YellPull = "New toys? For me? I promise I won't break them this time!" L.YellDeath = "You are bad... Toys... Very... Baaaaad!" L.XTHard_msg = "Hardmode engaged!" L.XTHard_opt = "Hardmode message" L.LifeSpark_msg = "New Life Spark!" L.LifeSpark_opt = "Life Spark spawn warning" L.Consumption_msg = "Voidzone!!!" L.Consumption_opt = "Standing in a voidzone" end L = mod:GetLocale() self.L = L self:SetTrigger(L.YellPull, 33293) self:SetWin(L.YellDeath, 33293) tTympanicTantrumCD = self:CDTimer(50, 62776) tTympanicTantrumCast = self:CastTimer(62776) tTympanicTantrumDur = self:DurTimer(8, 62776) tSearingLightDur = self:DurTargetTimer(9, 63023) tExposeHeart = self:DurTimer(30, 63849) tGravityBombDur = self:DurTargetTimer(9, 64234) mLifeSpark = self:CustomMessage(L.LifeSpark_msg, L.LifeSpark_opt, 64227, L.LifeSpark_opt) mSearingLightCast = self:TargetMessage(63023) mGravityBombCast = self:TargetMessage(64234) wConsumption = self:CastWarning(L.Consumption_msg, L.Consumption_opt, 30533, L.Consumption_opt) wTympanicTantrum = self:CastWarning(62776) wSearingLightRun = self:RunawayWarning(63023) wExposeHeart = self:CastWarning(63849) wGravityBombRun = self:RunawayWarning(64234) iSearingLight = self:Icon("CROSS", 63023, false, 9) iGravityBomb = self:Icon("SKULL", 64234, false, 9) tBerserk = self:BerserkTimer(600) end --------------------------- -- Locals local SparkCounter = 0 --------------------------- -- Start function mod:OnEngage(trigger) self:Track("TympanicTantrum", 62776, 62775) self:Track("ExposeHeart", 63849) self:DeathTrack("Hardmode", 33329) self:Track("SearingLight", 63018, 65121) self:Track("LifeSpark", 64227) self:Track("GravityBomb", 63024, 64234) self:Track("Consumption", 64208, 64206) SparkCounter = 0 tBerserk:Start() end function mod:TympanicTantrum(event, args) if event == "SPELL_CAST_START" then tTympanicTantrumCast:Start() wTympanicTantrum:Show() end if event == "SPELL_AURA_APPLIED" then tTympanicTantrumDur:Start() end if event == "SPELL_AURA_REMOVED" then tTympanicTantrumCD:Start() end end function mod:ExposeHeart(event, args) if event == "SPELL_AURA_APPLIED" then RW.Callbacks:Fire("MPBHealthByID", 33329) tExposeHeart:Start() wExposeHeart:Show() end end function mod:Hardmode(event, args) RW.Callbacks:Fire("MPBHealthHideByID", 33329) tExposeHeart:Stop() end function mod:SearingLight(event, args) if event == "SPELL_AURA_APPLIED" then tSearingLightDur:Start(args.dName) iSearingLight:Show(args.dName) mSearingLightCast:Show(args.dName) if args:IsPlayer() then wSearingLightRun:Show() end end end function mod:LifeSpark(event, args) if event == "SPELL_AURA_APPLIED" then if args:IsPlayer() then mLifeSpark:Show() end end end function mod:GravityBomb(event, args) if event == "SPELL_AURA_APPLIED" then tGravityBombDur:Start(args.dName) iGravityBomb:Show(args.dName) mGravityBombCast:Show(args.dName) if args:IsPlayer() then wGravityBombRun:Show() end end end function mod:Consumption(event, args) if event == "SPELL_DAMAGE" and args:IsPlayer() == true then wConsumption:Show() end end