Compare with Previous | Blame | View Log
local mod = RW:Boss("Razorscale", "Ulduar", "The Siege of Ulduar") local L mod.BossIcon = [[Interface\Icons\achievement_boss_razorscale]] --------------------------- -- Variables local tBerserk -- Phase 1 local tTurret1, tTurret2, tTurret3, tTurret4 local wDevouringFlame local wWhirlwind local tGrounded -- Phase 2 local tFuseArmorDur local tWingBuffetCast, wWingBuffet local tFlameBreathCast local mPhase --------------------------- -- Init function mod:OnRegister() L = mod:RegisterLocale(self:GetName(), "enUS", true) if L then L.YellPull = "Give us a moment to prepare to build the turrets." L.Grounded = "Move quickly! She won't remain grounded for long!" L.Liftoff = "Fires out! Let's rebuild those turrets!" L.Phase2 = "%s grounded permanently!" L.Turrets_msg = "Turrets ready!" L.Turrets_opt = "Turrets ready message" L.Turret1_opt = "Turret 1 ready bar" L.Turret2_opt = "Turret 2 ready bar" L.Turret3_opt = "Turret 3 ready bar" L.Turret4_opt = "Turret 4 ready bar" end L = mod:GetLocale() self.L = L self:SetTrigger(L.YellPull, 33186) self:SetWin(33186) mod:SetDelay(20) tBerserk = self:BerserkTimer(900) -- Phase 1 tTurret1, tTurret2, tTurret3, tTurret4 = self:CustomTimer(55, L.Turrets_msg, L.Turret1_opt, 39694, L.Turrets_msg), self:CustomTimer(20, L.Turrets_msg, L.Turret2_opt, 39694, L.Turrets_msg), self:CustomTimer(20, L.Turrets_msg, L.Turret3_opt, 39694, L.Turrets_msg), self:CustomTimer(20, L.Turrets_msg, L.Turret4_opt, 39694, L.Turrets_msg) mTurret = self:CustomMessage(L.Turrets_msg, L.Turrets_opt, 39694, L.Turrets_msg) -- wDevouringFlame = self:RunawayWarning(63014) wWhirlwind = self:CastWarning(63808) tGrounded = self:DurTimer(40, 20170) -- Phase 2 mPhase = self:PhaseMessage() tFuseArmorDur = self:DurTargetStackTimer(20, 64771, nil, nil, false) tWingBuffetCast, wWingBuffet = self:CastTimer(62666), self:CastWarning(62666) tFlameBreathCast, tFlameBreathCD = self:CastTimer(64021), self:CDTimer(18.5, 64021) end --------------------------- -- Locals local turretCounter local raidsize --------------------------- -- Start function mod:OnEngage(trigger) self:YellTrack("Turrets", L.Liftoff) -- self:Track("DevouringFlame", 64733, 64704) self:Track("Whirlwind", 63807, 63808) self:YellTrack("Grounded", L.Grounded) self:YellTrack("Phase2", L.Phase2) self:Track("FuseArmor", 64771) self:Track("WingBuffet", 62666) self:Track("FlameBreath", 64021, 63317) tBerserk:Start() raidsize = GetInstanceDifficulty() if raidsize == 2 then tTurret1:Start() tTurret2:Schedule(55) tTurret3:Schedule(75) tTurret4:Schedule(95) mTurret:Schedule(115) else tTurret1:Start() tTurret2:Schedule(55) mTurret:Schedule(75) end end ------------ Phase 1 function mod:Turrets(event, msg, name) if msg == L.Liftoff then if raidsize == 2 then tTurret1:Start() tTurret2:Schedule(55) tTurret3:Schedule(75) tTurret4:Schedule(95) mTurret:Schedule(115) end else tTurret1:Start() tTurret2:Schedule(55) mTurret:Schedule(75) end end -- function mod:DevouringFlames(event, args) -- if event == "SPELL_DAMAGE" then -- if args:IsPlayer() then -- wDevouringFlame:Show() -- end -- end -- end function mod:Whirlwind(event, args) if event == "SPELL_DAMAGE" and args:IsPlayer() == true then wWhirlwind:Show() end end function mod:Grounded(event, msg, name) if msg == L.Grounded then tGrounded:Start() end end ------------- Phase 2 function mod:Phase2(event, msg, name) if msg == L.Phase2 then mPhase:Show(2) tTurret1:Stop() tTurret2:Stop() tTurret3:Stop() tTurret4:Stop() mTurret:Unschedule() tGrounded:Stop() tTurret1:Unschedule() tTurret2:Unschedule() tTurret3:Unschedule() tTurret4:Unschedule() end end function mod:FuseArmor(event, args) if event == "SPELL_AURA_APPLIED" or event == "SPELL_AURA_APPLIED_DOSE" then tFuseArmorDur:Start(args.dName, args.amount or 1) end end function mod:WingBuffet(event, args) if event == "SPELL_CAST_START" then tWingBuffetCast:Start() wWingBuffet:Show() end end function mod:FlameBreath(event, args) if event == "SPELL_CAST_START" then tFlameBreathCast:Start() tFlameBreathCD:Schedule(2.5) end end