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.
106 lines
2.9 KiB
106 lines
2.9 KiB
|
4 years ago
|
--------------------------------------------------------------------------------
|
||
|
|
-- Module Declaration
|
||
|
|
--
|
||
|
|
|
||
|
|
--TO DO List
|
||
|
|
--Tested everything except post phase 2 timers and soulgorge stacks warnings
|
||
|
|
--All timers were correct on hc and normal runs
|
||
|
|
--Test if Soul Echoes say works
|
||
|
|
local mod, CL = BigWigs:NewBoss("Amalgam of Souls", 1501, 1518)
|
||
|
|
if not mod then return end
|
||
|
|
mod:RegisterEnableMob(98542)
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Locals
|
||
|
|
--
|
||
|
|
|
||
|
|
local gorgeCount = 0
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Initialization
|
||
|
|
--
|
||
|
|
|
||
|
|
function mod:GetOptions()
|
||
|
|
return {
|
||
|
|
196078, -- Call Souls
|
||
|
|
194956, -- Reap Soul
|
||
|
|
196587, -- Soul Burst
|
||
|
|
{194966, "SAY"}, -- Soul Echoes
|
||
|
|
195254, -- Swirling scythe
|
||
|
|
196930, -- Soulgorge
|
||
|
|
}
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnBossEnable()
|
||
|
|
self:Log("SPELL_CAST_START", "CallSouls", 196078)
|
||
|
|
self:Log("SPELL_CAST_SUCCESS", "SoulEchoes", 194966) --27.5
|
||
|
|
self:Log("SPELL_CAST_START", "SoulBurstStart", 196587)
|
||
|
|
self:Log("SPELL_CAST_SUCCESS", "SoulBurstSuccess", 196587)
|
||
|
|
self:Log("SPELL_CAST_START", "ReapSoul", 194956) -- 14.6
|
||
|
|
self:Log("SPELL_CAST_SUCCESS", "SwirlingScythe", 195254) -- 20 SEC CD
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "SoulEchoesApplied", 194966)
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "Soulgorge", 196930)
|
||
|
|
self:RegisterEvent("INSTANCE_ENCOUNTER_ENGAGE_UNIT", "CheckBossStatus")
|
||
|
|
self:Death("Win", 98542)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnEngage()
|
||
|
|
gorgeCount = 0
|
||
|
|
self:Bar(195254, 8.5) -- Swirling scythe
|
||
|
|
self:Bar(194966, 15.7) -- Soul Echoes
|
||
|
|
self:Bar(194956, 20.4) -- Reap Soul
|
||
|
|
end
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Event Handlers
|
||
|
|
--
|
||
|
|
|
||
|
|
function mod:Soulgorge()
|
||
|
|
gorgeCount = gorgeCount + 1
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SoulBurstStart(args)
|
||
|
|
if gorgeCount == 2 then
|
||
|
|
self:MessageOld(args.spellId, "yellow", "alert", CL.incoming:format(args.spellName))
|
||
|
|
elseif gorgeCount >= 3 then
|
||
|
|
self:MessageOld(args.spellId, "red", "warning", CL.incoming:format(args.spellName))
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SoulBurstSuccess()
|
||
|
|
self:CDBar(195254, 8.5) -- Swirling scythe
|
||
|
|
self:CDBar(194966, 15.6) -- Soul Echoes
|
||
|
|
self:CDBar(194956, 20.4) -- Reap Soul
|
||
|
|
gorgeCount = 0
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:CallSouls()
|
||
|
|
self:CDBar(196587, 27.5) -- Soul Burst
|
||
|
|
self:StopBar(195254) -- Swirling scythe
|
||
|
|
self:StopBar(194966) -- Soul Echoes
|
||
|
|
self:StopBar(194956) -- Reap Soul
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:ReapSoul(args)
|
||
|
|
self:Bar(args.spellId, 13.4)
|
||
|
|
if self:Tank() then
|
||
|
|
self:MessageOld(args.spellId, "yellow", "warning", CL.incoming:format(args.spellName))
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SwirlingScythe(args)
|
||
|
|
self:MessageOld(args.spellId, "yellow")
|
||
|
|
self:Bar(args.spellId, 21.2)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SoulEchoes(args)
|
||
|
|
self:Bar(args.spellId, 26.7)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SoulEchoesApplied(args)
|
||
|
|
if self:Me(args.destGUID) then
|
||
|
|
self:Say(args.spellId)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|