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.

105 lines
3.0 KiB

-------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("High Priest Venoxis", 859, 175)
if not mod then return end
mod:RegisterEnableMob(52155)
mod.engageId = 1178
mod.respawnTime = 30
--------------------------------------------------------------------------------
-- Locals
--
local breathsLeft = 2
-------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
{96477, "ICON", "FLASH"}, -- Toxic Link
96509, -- Breath of Hethiss
96466, -- Whispers of Hethiss
96842, -- Bloodvenom
96653, -- Venom Withdrawal (triggered by 96512)
}
end
function mod:OnBossEnable()
self:Log("SPELL_AURA_APPLIED", "ToxicLink", 96477)
self:Log("SPELL_AURA_REMOVED", "ToxicLinkRemoved", 96477)
self:Log("SPELL_AURA_APPLIED", "BreathOfHethiss", 96509)
self:Log("SPELL_AURA_APPLIED", "WhispersOfHethiss", 96466)
self:Log("SPELL_AURA_REMOVED", "WhispersOfHethissRemoved", 96466)
self:Log("SPELL_CAST_START", "Bloodvenom", 96842)
self:Log("SPELL_AURA_APPLIED", "BlessingOfTheSnakeGod", 96512)
self:Log("SPELL_AURA_REMOVED", "BlessingOfTheSnakeGodRemoved", 96512)
end
function mod:OnEngage()
breathsLeft = 2
end
-------------------------------------------------------------------------------
-- Event Handlers
--
do
local linkTargets = mod:NewTargetList()
function mod:ToxicLink(args)
if self:Me(args.destGUID) then
self:Flash(args.spellId)
end
linkTargets[#linkTargets + 1] = args.destName
if #linkTargets == 1 then
self:ScheduleTimer("TargetMessageOld", 0.2, args.spellId, linkTargets, "orange", "alarm")
self:PrimaryIcon(args.spellId, args.destName)
else
self:SecondaryIcon(args.spellId, args.destName)
end
end
function mod:ToxicLinkRemoved(args)
self:PrimaryIcon(args.spellId)
self:SecondaryIcon(args.spellId)
end
end
function mod:BreathOfHethiss(args)
breathsLeft = breathsLeft - 1
self:MessageOld(args.spellId, "red")
if (breathsLeft > 0) then
self:CDBar(args.spellId, 12)
end
end
function mod:WhispersOfHethiss(args)
if self:MobId(args.destGUID) == 52155 then return end -- applies this to himself as well
self:MessageOld(args.spellId, "orange", "alert", CL.casting:format(args.spellName))
self:TargetBar(args.spellId, 8, args.destName)
end
function mod:WhispersOfHethissRemoved(args)
if self:MobId(args.destGUID) == 52155 then return end -- applies this to himself as well
self:StopBar(args.spellName, args.destName)
end
function mod:Bloodvenom(args)
self:MessageOld(args.spellId, "red", "alert", CL.casting:format(args.spellName))
self:ScheduleTimer("Bar", 3, args.spellId, 14)
end
function mod:BlessingOfTheSnakeGod()
breathsLeft = 2
self:CDBar(96842, 38) -- Bloodvenom
self:CDBar(96509, 5.5) -- Breath of Hethiss
end
function mod:BlessingOfTheSnakeGodRemoved()
self:MessageOld(96653, "green", "info") -- Venom Withdrawal
self:Bar(96653, 10)
end