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
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
|