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