You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.2 KiB

--------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("Shar'thos", -641, 1763)
if not mod then return end
mod:RegisterEnableMob(108678)
mod.otherMenu = -619
mod.worldBoss = 108678
--------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
216044, -- Cry of the Tormented
215876, -- Burning Earth
216043, -- Dread Flame
215821, -- Nightmare Breath
215806, -- Tail Lash
}
end
function mod:OnBossEnable()
self:Log("SPELL_CAST_START", "CryOfTheTormented", 216044)
self:Log("SPELL_CAST_SUCCESS", "DreadFlame", 216043)
self:Log("SPELL_CAST_SUCCESS", "NightmareBreath", 215821)
self:Log("SPELL_AURA_APPLIED", "BurningEarthDamage", 215876)
self:Log("SPELL_PERIODIC_DAMAGE", "BurningEarthDamage", 215876)
self:Log("SPELL_PERIODIC_MISSED", "BurningEarthDamage", 215876)
self:Log("SPELL_DAMAGE", "TailLash", 215806)
self:ScheduleTimer("CheckForEngage", 1)
self:RegisterEvent("BOSS_KILL")
end
function mod:OnEngage()
self:CheckForWipe()
self:CDBar(216043, 11) -- Dread Flame
self:CDBar(215821, 16) -- Nightmare Breath
end
--------------------------------------------------------------------------------
-- Event Handlers
--
function mod:CryOfTheTormented(args)
self:MessageOld(args.spellId, "orange", "warning", CL.casting:format(args.spellName))
end
function mod:DreadFlame(args)
self:TargetMessageOld(args.spellId, args.destName, "yellow", "alarm")
self:CDBar(args.spellId, 16)
end
function mod:NightmareBreath(args)
self:MessageOld(args.spellId, "red", "info")
self:CDBar(args.spellId, 19)
end
do
local prev = 0
function mod:BurningEarthDamage(args)
local t = GetTime()
if self:Me(args.destGUID) and t-prev > 3 then
prev = t
self:MessageOld(args.spellId, "blue", "alert", CL.underyou:format(args.spellName))
end
end
end
function mod:TailLash(args)
if self:Me(args.destGUID) then
self:MessageOld(args.spellId, "blue", "alert", CL.you:format(args.spellName))
end
end
function mod:BOSS_KILL(_, id)
if id == 1888 then
self:Win()
end
end