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.

116 lines
3.3 KiB

4 years ago
--------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("So'leah", 2441, 2455)
if not mod then return end
mod:RegisterEnableMob(177269) -- So'leah
mod:SetEncounterID(2442)
mod:SetStage(1)
--------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
"stages",
351124, -- Summon Assassins
353635, -- Collapsing Star
350804, -- Collapsing Energy
350796, -- Hyperlight Spark
351086, -- Power Overwhelming
351096, -- Energy Fragmentation
}
end
function mod:OnBossEnable()
self:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", nil, "boss1")
self:Log("SPELL_CAST_SUCCESS", "SummonAssassins", 351124)
self:Log("SPELL_CAST_START", "CollapsingStar", 353635)
self:Log("SPELL_AURA_APPLIED", "CollapsingEnergyApplied", 350804)
self:Log("SPELL_AURA_APPLIED_DOSE", "CollapsingEnergyApplied", 350804)
self:Log("SPELL_AURA_REMOVED", "CollapsingEnergyRemoved", 350804)
self:Log("SPELL_CAST_START", "HyperlightSpark", 350796)
self:Log("SPELL_CAST_SUCCESS", "PowerOverwhelming", 351086)
self:Log("SPELL_AURA_REMOVED", "PowerOverwhelmingRemoved", 351086)
self:Log("SPELL_CAST_SUCCESS", "EnergyFragmentation", 351096)
end
function mod:OnEngage()
self:SetStage(1)
self:Bar(351124, 6.6) -- Summon Assassins
self:Bar(350796, 12.2) -- Hyperlight Spark
self:Bar(353635, 20.3) -- Collapsing Star
end
--------------------------------------------------------------------------------
-- Event Handlers
--
function mod:UNIT_SPELLCAST_SUCCEEDED(_, _, _, spellId)
if spellId == 351104 then -- Phase Transition
self:SetStage(2)
self:Message("stages", "cyan", CL.stage:format(2), false)
self:PlaySound("stages", "long")
self:StopBar(350796) -- Hyperlight Spark
self:StopBar(351124) -- Summon Assassins
self:StopBar(353635) -- Collapsing Star
end
end
function mod:SummonAssassins(args)
self:Message(args.spellId, "yellow")
self:PlaySound(args.spellId, "alert")
self:Bar(args.spellId, 42)
end
function mod:CollapsingStar(args)
self:Message(args.spellId, "red")
self:PlaySound(args.spellId, "alarm")
if self:GetStage() == 1 then
self:Bar(args.spellId, 61)
else
self:StopBar(args.spellId)
end
end
function mod:CollapsingEnergyApplied(args)
if self:Me(args.destGUID) then
self:NewStackMessage(args.spellId, "blue", args.destName, args.amount)
end
end
function mod:CollapsingEnergyRemoved(args)
if self:Me(args.destGUID) then
self:PersonalMessage(args.spellId, "removed")
self:PlaySound(args.spellId, "info")
end
end
function mod:HyperlightSpark(args)
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alert")
self:Bar(args.spellId, 15.8)
end
function mod:PowerOverwhelming(args)
self:Message(args.spellId, "yellow")
self:PlaySound(args.spellId, "long")
self:StopBar(args.spellId)
end
function mod:PowerOverwhelmingRemoved(args)
self:Message(args.spellId, "yellow", CL.removed:format(args.spellName))
self:PlaySound(args.spellId, "long")
self:Bar(args.spellId, 65)
self:Bar(353635, 25) -- Collapsing Star
end
function mod:EnergyFragmentation(args)
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alert")
end