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.1 KiB

--------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("Malificus", -646, 1884)
if not mod then return end
mod:RegisterEnableMob(117303)
mod.otherMenu = -619
mod.worldBoss = 117303
--------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
233614, -- Pestilence
233570, -- Incite Panic
234452, -- Shadow Barrage
233850, -- Virulent Infection
}
end
function mod:OnBossEnable()
self:ScheduleTimer("CheckForEngage", 1)
self:RegisterEvent("BOSS_KILL")
self:Log("SPELL_CAST_START", "Pestilence", 233614)
self:Log("SPELL_CAST_SUCCESS", "IncitePanic", 233570)
self:Log("SPELL_CAST_START", "ShadowBarrage", 234452)
self:Log("SPELL_AURA_APPLIED", "VirulentInfectionDamage", 233850)
self:Log("SPELL_PERIODIC_DAMAGE", "VirulentInfectionDamage", 233850)
self:Log("SPELL_PERIODIC_MISSED", "VirulentInfectionDamage", 233850)
self:Death("Win", 117303)
end
function mod:OnEngage()
self:CheckForWipe()
end
--------------------------------------------------------------------------------
-- Event Handlers
--
function mod:BOSS_KILL(_, id)
--if id == XXX then
-- self:Win()
--end
end
function mod:Pestilence(args)
self:MessageOld(args.spellId, "orange", "warning", CL.incoming:format(args.spellName))
self:CDBar(args.spellId, 14)
end
do
local prev = 0
function mod:IncitePanic(args)
local t = GetTime()
if t-prev > 4 then
prev = t
self:MessageOld(args.spellId, "yellow", "info")
self:CDBar(args.spellId, 14)
end
end
end
function mod:ShadowBarrage(args)
self:MessageOld(args.spellId, "orange", "alarm", CL.casting:format(args.spellName))
self:CDBar(args.spellId, 17)
end
do
local prev = 0
function mod:VirulentInfectionDamage(args)
local t = GetTime()
if self:Me(args.destGUID) and t-prev > 2 then
prev = t
self:MessageOld(args.spellId, "blue", "alert", CL.underyou:format(args.spellName))
end
end
end