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.
94 lines
2.5 KiB
94 lines
2.5 KiB
|
4 years ago
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Module Declaration
|
||
|
|
--
|
||
|
|
|
||
|
|
local mod, CL = BigWigs:NewBoss("Levantus", -630, 1769)
|
||
|
|
if not mod then return end
|
||
|
|
mod:RegisterEnableMob(108829)
|
||
|
|
mod.otherMenu = -619
|
||
|
|
mod.worldBoss = 108829
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Locals
|
||
|
|
--
|
||
|
|
|
||
|
|
local whirlCount = 0
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Initialization
|
||
|
|
--
|
||
|
|
|
||
|
|
function mod:GetOptions()
|
||
|
|
return {
|
||
|
|
217249, -- Massive Spout
|
||
|
|
217344, -- Electrify
|
||
|
|
217235, -- Rending Whirl
|
||
|
|
217206, -- Gust of Wind
|
||
|
|
}
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnBossEnable()
|
||
|
|
self:Log("SPELL_CAST_START", "MassiveSpout", 217249)
|
||
|
|
self:Log("SPELL_CAST_START", "Electrify", 217344)
|
||
|
|
self:Log("SPELL_CAST_START", "RendingWhirl", 217235)
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "GustOfWind", 217206)
|
||
|
|
self:Log("SPELL_AURA_REMOVED", "GustOfWindRemoved", 217206)
|
||
|
|
|
||
|
|
self:ScheduleTimer("CheckForEngage", 1)
|
||
|
|
self:RegisterEvent("BOSS_KILL")
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnEngage()
|
||
|
|
self:CheckForWipe()
|
||
|
|
whirlCount = 0
|
||
|
|
self:CDBar(217235, 15) -- Rending Whirl
|
||
|
|
self:CDBar(217249, 30) -- Massive Spout
|
||
|
|
self:CDBar(217344, 54) -- Electrify
|
||
|
|
end
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Event Handlers
|
||
|
|
--
|
||
|
|
|
||
|
|
function mod:MassiveSpout(args)
|
||
|
|
self:MessageOld(args.spellId, "yellow", "long", CL.incoming:format(args.spellName))
|
||
|
|
self:CDBar(args.spellId, 66.5)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:Electrify(args)
|
||
|
|
self:MessageOld(args.spellId, "green", "alert", CL.casting:format(args.spellName))
|
||
|
|
self:CDBar(args.spellId, 33)
|
||
|
|
end
|
||
|
|
|
||
|
|
do
|
||
|
|
local timers = {47, 67, 66, 66, 58}
|
||
|
|
function mod:RendingWhirl(args)
|
||
|
|
whirlCount = whirlCount + 1
|
||
|
|
self:MessageOld(args.spellId, "orange", self:Melee() and "warning", CL.incoming:format(args.spellName))
|
||
|
|
-- This timer has the potential to go way wrong if you release or miss engage but still better than a static timer
|
||
|
|
self:CDBar(args.spellId, timers[whirlCount] or 66)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:GustOfWind(args)
|
||
|
|
if self:Me(args.destGUID) then
|
||
|
|
self:TargetMessageOld(args.spellId, args.destName, "blue")
|
||
|
|
self:TargetBar(args.spellId, 45, args.destName)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:GustOfWindRemoved(args)
|
||
|
|
if self:Me(args.destGUID) then
|
||
|
|
self:MessageOld(args.spellId, "blue", "alarm", CL.removed:format(args.spellName))
|
||
|
|
self:StopBar(args.spellName, args.destName)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:BOSS_KILL(_, id)
|
||
|
|
if id == 1953 then
|
||
|
|
whirlCount = 0
|
||
|
|
self:Win()
|
||
|
|
end
|
||
|
|
end
|