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.
87 lines
2.3 KiB
87 lines
2.3 KiB
|
4 years ago
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Module Declaration
|
||
|
|
--
|
||
|
|
|
||
|
|
local mod, CL = BigWigs:NewBoss("Executor Tarvold", 2284, 2415)
|
||
|
|
if not mod then return end
|
||
|
|
mod:RegisterEnableMob(162103)
|
||
|
|
mod.engageId = 2361
|
||
|
|
mod.respawnTime = 30
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Initialization
|
||
|
|
--
|
||
|
|
|
||
|
|
function mod:GetOptions()
|
||
|
|
return {
|
||
|
|
-- General
|
||
|
|
{322554, "SAY"}, -- Castigate
|
||
|
|
322573, -- Coalesce Manifestation
|
||
|
|
{328494, "DISPEL"}, -- Sintouched Anima
|
||
|
|
-- Fleeting Manifestation
|
||
|
|
323551, -- Residue
|
||
|
|
}, {
|
||
|
|
[322554] = "general",
|
||
|
|
[323551] = -21883, -- Fleeting Manifestation
|
||
|
|
}
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnBossEnable()
|
||
|
|
-- XXX Change to RegisterUnitEvent if boss frames get added to this fight
|
||
|
|
self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
|
||
|
|
self:Log("SPELL_CAST_START", "Castigate", 322554)
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "SintouchedAnimaApplied", 328494)
|
||
|
|
self:Death("FleetingManifestationDeath", 165556)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnEngage()
|
||
|
|
self:Bar(322554, 4.7) -- Castigate
|
||
|
|
self:CDBar(322573, 10.8) -- Coalesce Manifestation
|
||
|
|
end
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Event Handlers
|
||
|
|
--
|
||
|
|
|
||
|
|
do
|
||
|
|
local prevGUID = nil
|
||
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(_, _, castGUID, spellId)
|
||
|
|
if spellId == 322573 and prevGUID ~= castGUID then -- Coalesce Manifestation
|
||
|
|
prevGUID = castGUID
|
||
|
|
|
||
|
|
self:Message(322573, "yellow")
|
||
|
|
self:PlaySound(322573, "info")
|
||
|
|
self:CDBar(322573, 30)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
do
|
||
|
|
local function printTarget(self, name, guid)
|
||
|
|
self:TargetMessage(322554, "orange", name)
|
||
|
|
self:PlaySound(322554, "alert", nil, name)
|
||
|
|
if self:Me(guid) then
|
||
|
|
self:Say(322554)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:Castigate(args)
|
||
|
|
-- XXX Change to GetBossTarget if boss frames get added to this fight
|
||
|
|
self:GetUnitTarget(printTarget, 0.4, args.sourceGUID)
|
||
|
|
self:Bar(args.spellId, 20.7)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SintouchedAnimaApplied(args)
|
||
|
|
if self:Me(args.destGUID) or self:Dispeller("curse", nil, args.spellId) then
|
||
|
|
self:TargetMessage(args.spellId, "yellow", args.destName)
|
||
|
|
self:PlaySound(args.spellId, "info", nil, args.destName)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:FleetingManifestationDeath(args)
|
||
|
|
self:Message(323551, "orange") -- Residue
|
||
|
|
self:PlaySound(323551, "alert") -- Residue
|
||
|
|
end
|