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.

85 lines
2.4 KiB

4 years ago
-------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("Ingvar the Plunderer", 574, 640)
if not mod then return end
mod:RegisterEnableMob(23954)
--mod.engageId = 2025 -- no ENCOUNTER_END on a successful kill
--mod.respawnTime = 30
-------------------------------------------------------------------------------
-- Locals
--
local deaths = 0
-------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
"stages",
42669, -- Smash
42708, -- Staggering Roar
42730, -- Woe Strike
}, {
[42669] = "general",
[42730] = CL.stage:format(2),
}
end
function mod:OnBossEnable()
self:RegisterEvent("INSTANCE_ENCOUNTER_ENGAGE_UNIT", "CheckBossStatus")
self:Log("SPELL_CAST_START", "Smash", 42723, 42669, 59706) -- Dark Smash; normal / heroic Smash
self:Log("SPELL_CAST_START", "Roar", 42708, 42729, 59708, 59734) -- Staggering Roar, Dreadful Roar on normal / heroic
self:Log("SPELL_AURA_APPLIED", "WoeStrike", 42730, 59735) -- normal / heroic
self:Log("SPELL_AURA_REMOVED", "WoeStrikeRemoved", 42730, 59735)
self:Death("Deaths", 23954)
end
function mod:OnEngage()
deaths = 0
self:MessageOld("stages", "cyan", nil, CL.stage:format(1), false)
end
-------------------------------------------------------------------------------
-- Event Handlers
--
function mod:Smash(args)
self:MessageOld(42669, "yellow", nil, CL.casting:format(args.spellName))
self:CastBar(42669, 3, args.spellId)
end
function mod:Roar(args)
self:MessageOld(42708, "red", self:Ranged() and "warning", CL.casting:format(args.spellName), args.spellId)
self:CastBar(42708, 2, args.spellId)
end
function mod:WoeStrike(args)
if self:Me(args.destGUID) or self:Healer() or self:Dispeller("curse") then
self:TargetMessageOld(42730, args.destName, "orange", "alarm", nil, nil, true)
self:TargetBar(42730, 10, args.destName)
end
end
function mod:WoeStrikeRemoved(args)
self:StopBar(args.spellName, args.destName)
end
function mod:Deaths()
deaths = deaths + 1
if deaths == 2 then
self:Win()
else
self:StopBar(42669) -- Smash
self:StopBar(42708) -- Staggering Roar
self:Bar("stages", 25.4, CL.stage:format(2), "spell_shadow_raisedead")
self:DelayedMessage("stages", 25.4, "cyan", CL.stage:format(2))
end
end