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.
131 lines
4.2 KiB
131 lines
4.2 KiB
if not IsTestBuild() then return end
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Skolex, the Insatiable Ravener", 2481, 2465)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(181395) -- Skolex
|
|
mod:SetEncounterID(2542)
|
|
mod:SetRespawnTime(30)
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Locals
|
|
--
|
|
|
|
local tankComboCounter = 1
|
|
local comboCounter = 1
|
|
local flailCount = 1
|
|
local retchCount = 1
|
|
local unendingCount = 1
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Localization
|
|
--
|
|
|
|
local L = mod:GetLocale()
|
|
if L then
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
"berserk",
|
|
359770, -- Unending Hunger
|
|
359829, -- Dust Flail
|
|
360451, -- Retch
|
|
360079, -- Tank Combo
|
|
359979, -- Rend
|
|
359975, -- Riftmaw
|
|
364778, -- Destroy
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", nil, "boss1")
|
|
|
|
self:Log("SPELL_CAST_START", "UnendingHunger", 359770)
|
|
self:Log("SPELL_CAST_START", "DustFlail", 359829)
|
|
self:Log("SPELL_CAST_START", "Retch", 360451)
|
|
self:Log("SPELL_CAST_START", "Rend", 359979)
|
|
self:Log("SPELL_CAST_START", "Riftmaw", 359975)
|
|
self:Log("SPELL_CAST_START", "Destroy", 364778)
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
tankComboCounter = 1
|
|
flailCount = 1
|
|
retchCount = 1
|
|
unendingCount = 1
|
|
|
|
self:Bar(359829, 2, CL.count:format(self:SpellName(359829), flailCount)) -- Dust Flail
|
|
self:Bar(360079, 9, CL.count:format(CL.tank_combo, tankComboCounter), 359979) -- Tank Combo
|
|
self:Bar(360451, 24.5, CL.count:format(self:SpellName(360451), retchCount)) -- Retch
|
|
self:Berserk(360)
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(_, _, _, spellId)
|
|
if spellId == 360079 then -- Tank Combo
|
|
self:StopBar(CL.count:format(CL.tank_combo, tankComboCounter))
|
|
comboCounter = 1
|
|
tankComboCounter = tankComboCounter + 1
|
|
self:CDBar(360079, 33, CL.count:format(CL.tank_combo, tankComboCounter), 359979) -- Tank Combo
|
|
end
|
|
end
|
|
|
|
function mod:UnendingHunger(args)
|
|
self:Message(args.spellId, "red", CL.count:format(args.spellName, unendingCount))
|
|
self:PlaySound(args.spellId, "long")
|
|
unendingCount = unendingCount + 1
|
|
|
|
self:StopBar(CL.count:format(self:SpellName(359829), flailCount))
|
|
|
|
local nextTankCombo = self:BarTimeLeft(CL.count:format(CL.tank_combo, tankComboCounter)) + 10
|
|
self:CDBar(360079, nextTankCombo, CL.count:format(CL.tank_combo, tankComboCounter), 359979) -- Tank Combo
|
|
|
|
local nextRetch = self:BarTimeLeft(CL.count:format(self:SpellName(360451), retchCount)) + 10 -- XXX Not Always correct, different logic?
|
|
self:Bar(360451, nextRetch, CL.count:format(self:SpellName(360451), retchCount)) -- Retch
|
|
|
|
flailCount = 1
|
|
self:Bar(359829, 11, CL.count:format(self:SpellName(359829), flailCount)) -- Dust Flail
|
|
end
|
|
|
|
function mod:DustFlail(args)
|
|
self:StopBar(CL.count:format(args.spellName, flailCount))
|
|
self:Message(args.spellId, "yellow", CL.count:format(args.spellName, flailCount))
|
|
self:PlaySound(args.spellId, "alert")
|
|
flailCount = flailCount + 1
|
|
self:CDBar(args.spellId, 17, CL.count:format(args.spellName, flailCount))
|
|
end
|
|
|
|
function mod:Retch(args)
|
|
self:StopBar(CL.count:format(args.spellName, retchCount))
|
|
self:Message(args.spellId, "cyan", CL.count:format(args.spellName, retchCount))
|
|
self:PlaySound(args.spellId, "info")
|
|
retchCount = retchCount + 1
|
|
self:CDBar(args.spellId, 34, CL.count:format(args.spellName, retchCount))
|
|
end
|
|
|
|
function mod:Rend(args)
|
|
self:Message(args.spellId, "purple", CL.count:format(args.spellName, comboCounter))
|
|
self:PlaySound(args.spellId, "alarm")
|
|
comboCounter = comboCounter + 1
|
|
end
|
|
|
|
function mod:Riftmaw(args)
|
|
self:Message(args.spellId, "purple", CL.count:format(args.spellName, comboCounter))
|
|
self:PlaySound(args.spellId, "alarm")
|
|
comboCounter = comboCounter + 1
|
|
end
|
|
|
|
function mod:Destroy(args)
|
|
self:Message(args.spellId, "yellow")
|
|
self:PlaySound(args.spellId, "alert")
|
|
end
|