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.

97 lines
2.8 KiB

--------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("Doctor Ickus", 2289, 2403)
if not mod then return end
mod:RegisterEnableMob(164967) -- Doctor Ickus
mod.engageId = 2384
--mod.respawnTime = 30
--------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
322358, -- Burning Strain
67382, -- Leap // Alternative to use for the boss changing platform
329217, -- Slime Lunge
329110, -- Slime Injection
332617, -- Pestilence Surge
321406, -- Virulent Explosion
}
end
function mod:OnBossEnable()
self:RegisterEvent("CHAT_MSG_RAID_BOSS_EMOTE")
self:Log("SPELL_CAST_START", "BurningStrain", 322358)
self:Log("SPELL_CAST_SUCCESS", "SlimeLunge", 329217)
self:Log("SPELL_CAST_SUCCESS", "SlimeInjection", 329110)
self:Log("SPELL_AURA_APPLIED", "SlimeInjectionApplied", 329110)
self:Log("SPELL_AURA_APPLIED_DOSE", "SlimeInjectionApplied", 329110)
self:Log("SPELL_AURA_REMOVED", "SlimeInjectionRemoved", 329110)
self:Log("SPELL_CAST_SUCCESS", "PestilenceSurge", 332617)
self:Log("SPELL_CAST_START", "VirulentExplosion", 321406)
self:Death("BombDeath", 169498) -- Plague Bomb
end
function mod:OnEngage()
self:CDBar(329110, 10) -- Slime Injection
self:CDBar(67382, 26) -- Leap
end
--------------------------------------------------------------------------------
-- Event Handlers
--
function mod:CHAT_MSG_RAID_BOSS_EMOTE(_, msg)
if msg:find("329200") then -- Virulent Explosion
self:Message(67382, "yellow") -- 'Leap'
self:PlaySound(67382, "long")
self:CDBar(67382, 57) -- Leap
self:CDBar(332617, 10.5) -- Pestilence Surge
end
end
function mod:BurningStrain(args)
self:Message(args.spellId, "red")
self:PlaySound(args.spellId, "alarm")
end
function mod:SlimeLunge(args)
self:Message(args.spellId, "yellow")
self:PlaySound(args.spellId, "alarm")
end
function mod:SlimeInjection(args)
self:CDBar(args.spellId, 20)
end
function mod:SlimeInjectionApplied(args)
local amount = args.amount or 0
self:StackMessage(args.spellId, args.destName, args.amount, "purple")
self:PlaySound(args.spellId, "info")
end
function mod:SlimeInjectionRemoved(args)
self:Message(args.spellId, "yellow", CL.spawning:format(self:SpellName(-21712))) -- Slithering Ooze
self:PlaySound(args.spellId, "alert")
end
function mod:PestilenceSurge(args)
self:Message(args.spellId, "cyan")
self:PlaySound(args.spellId, "info")
end
function mod:VirulentExplosion(args)
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "warning")
self:CastBar(args.spellId, 30)
end
function mod:BombDeath(args)
self:StopBar(CL.casting:format(self:SpellName(321406))) -- Electric Shroud
end