Compare with Previous | Blame | View Log
local mod = RW:Boss("Lord Marrowgar", "Icecrown Citadel", "The Lower Spire") local L mod:SetPackIcon([[Interface\Icons\Achievement_Zone_IceCrown_01.blp]]) mod.BossIcon = [[Interface\Icons\achievement_boss_lordmarrowgar]] mod.SubCatIcon = [[Interface\Icons\achievement_dungeon_icecrown_icecrownentrance]] ------------------------------------ -- Variables local tBoneStormCD, tBoneStormDur local mBoneStormSoon local wFlame, wBStorm local iImpaled local mImpaled local dImpaled ----------------------------------- -- Init function mod:OnRegister() L = mod:RegisterLocale("enUS") if L then L.YellWin = "I see... Only darkness." L.bonestorm_soon = "Bone storm in 10s!" L.bonestorm_soon_opt = "10s warning" end L = mod:GetLocale() mod.L = L mod:SetTrigger(36612) mod:SetWin(L.YellWin, 36612) tBoneStormCD, tBoneStormDur = self:CDTimer(65, 69076), self:DurTimer(21, 69076) wFlame = self:RunawayWarning(69146) wBStorm = self:RunawayWarning(69076) mBoneStormSoon = self:CustomMessage(L.bonestorm_soon, L.bonestorm_soon_opt, 69076) mImpaled = self:TargetMessage(69065) dImpaled = self:DirectionTo(69065) iImpaled = self:Icon("STAR", 69065, nil, nil, "CROSS", "SQUARE") end ----------------------------------------- -- locals local flameSpamm = 0 local impaleTargets ----------------------------------------- -- Start function mod:OnEngage(trigger) self:Track("BoneStorm", 69076) self:Track("Flame", 69146, 70825, 70824, 70823) self:Track("Impaled", 69065) impaleTargets = impaleTargets or {} wipe(impaleTargets) tBoneStormCD:Start(45) mBoneStormSoon:Schedule(35) end function mod:BoneStorm(event, args) if event == "SPELL_CAST_START" then wBStorm:Show() tBoneStormCD:Stop() elseif event == "SPELL_AURA_APPLIED" then if self:IsHeroic() then tBoneStormDur:Start(30) else tBoneStormDur:Start() end elseif event == "SPELL_AURA_REMOVED" then if self:IsHeroic() then tBoneStormCD:Start(60) mBoneStormSoon:Schedule(50) else tBoneStormCD:Start() mBoneStormSoon:Schedule(55) end end end function mod:Flame(event, args) if event == "SPELL_AURA_APPLIED" then if args:IsPlayer() then if GetTime() - flameSpamm > 4 then wFlame:Show() flameSpamm = GetTime() end end end end function mod:ShowImpaled() mImpaled:Show(table.concat(impaleTargets, "<, >")) wipe(impaleTargets) end function mod:Impaled(event, args) if event == "SPELL_AURA_APPLIED" then impaleTargets[#impaleTargets + 1] = args.dName self:Schedule("SHowImpaled", 1, "ShowImpaled") iImpaled:Show(args.dName) dImpaled:Show(args.dName, 10) elseif event == "SPELL_AURA_REMOVED" then iImpaled:Hide(args.dName) dImpaled:Hide(args.dName) end end