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.
93 lines
2.4 KiB
93 lines
2.4 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Mana Devourer", 1651, 1818)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(114252)
|
|
mod.engageId = 1959
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Locals
|
|
--
|
|
|
|
local unstableManaOnMe = false
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
227618, -- Arcane Bomb
|
|
227523, -- Energy Void
|
|
227502, -- Unstable Mana
|
|
227297, -- Coalesce Power
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:RegisterEvent("INSTANCE_ENCOUNTER_ENGAGE_UNIT", "CheckBossStatus")
|
|
self:Log("SPELL_CAST_SUCCESS", "ArcaneBomb", 227618)
|
|
self:Log("SPELL_CAST_SUCCESS", "EnergyVoid", 227523)
|
|
self:Log("SPELL_AURA_APPLIED", "UnstableMana", 227502)
|
|
self:Log("SPELL_AURA_APPLIED_DOSE", "UnstableMana", 227502)
|
|
self:Log("SPELL_AURA_REMOVED", "UnstableManaRemoved", 227502)
|
|
self:Log("SPELL_AURA_APPLIED", "CoalescePower", 227297)
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "EnergyVoidDamage", 227524)
|
|
self:Log("SPELL_PERIODIC_MISSED", "EnergyVoidDamage", 227524)
|
|
--self:Death("Win", 0)
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
unstableManaOnMe = false
|
|
self:Bar(227618, 7) -- Arcane Bomb
|
|
self:Bar(227523, 14.5) -- Energy Void
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
function mod:ArcaneBomb(args)
|
|
self:MessageOld(args.spellId, "red", "warning")
|
|
self:CDBar(args.spellId, 14.5)
|
|
end
|
|
|
|
function mod:EnergyVoid(args)
|
|
self:MessageOld(args.spellId, "yellow", "info")
|
|
self:Bar(args.spellId, 21.9)
|
|
end
|
|
|
|
function mod:UnstableMana(args)
|
|
if self:Me(args.destGUID) then
|
|
unstableManaOnMe = true
|
|
local amount = args.amount or 1
|
|
self:StackMessage(args.spellId, args.destName, amount, "green")
|
|
end
|
|
end
|
|
|
|
function mod:UnstableManaRemoved(args)
|
|
if self:Me(args.destGUID) then
|
|
unstableManaOnMe = false
|
|
end
|
|
end
|
|
|
|
function mod:CoalescePower(args)
|
|
self:MessageOld(args.spellId, "orange", "long")
|
|
self:Bar(args.spellId, 30.3)
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:EnergyVoidDamage(args)
|
|
if self:Me(args.destGUID) and not unstableManaOnMe then
|
|
local t = GetTime()
|
|
if t-prev > 2 then
|
|
prev = t
|
|
self:MessageOld(227523, "blue", "alarm", CL.underyou:format(args.spellName))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|