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.
96 lines
2.7 KiB
96 lines
2.7 KiB
-------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("High Priestess Kilnara", 859, 181)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(52059)
|
|
mod.engageId = 1180
|
|
mod.respawnTime = 30
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
"stages",
|
|
96435, -- Tears of Blood
|
|
96423, -- Lash of Anguish
|
|
96457, -- Wave of Agony
|
|
-2702, -- Camouflage
|
|
96592, -- Ravage
|
|
}, {
|
|
[96435] = CL.stage:format(1),
|
|
[-2702] = CL.stage:format(2),
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:Log("SPELL_AURA_APPLIED", "TearsOfBlood", 96435)
|
|
self:Log("SPELL_AURA_REMOVED", "TearsOfBloodRemoved", 96435)
|
|
self:Log("SPELL_AURA_APPLIED", "LashOfAnguish", 96423)
|
|
self:Log("SPELL_AURA_REMOVED", "LashOfAnguishRemoved", 96423)
|
|
self:Log("SPELL_CAST_SUCCESS", "WaveOfAgony", 96457)
|
|
|
|
self:Log("SPELL_AURA_APPLIED", "Ravage", 96592)
|
|
self:Log("SPELL_AURA_APPLIED", "Camouflage", 96594)
|
|
|
|
self:RegisterUnitEvent("UNIT_HEALTH", nil, "boss1")
|
|
self:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", nil, "boss1")
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
self:MessageOld("stages", "yellow", "info", CL.stage:format(1), false)
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
function mod:TearsOfBlood(args)
|
|
self:MessageOld(args.spellId, "red", "alert")
|
|
self:CastBar(args.spellId, 6)
|
|
end
|
|
|
|
function mod:TearsOfBloodRemoved(args)
|
|
self:StopBar(CL.cast:format(args.spellName))
|
|
end
|
|
|
|
function mod:LashOfAnguish(args)
|
|
self:TargetMessageOld(args.spellId, args.destName, "yellow", "alert")
|
|
self:TargetBar(args.spellId, 10, args.destName)
|
|
end
|
|
|
|
function mod:LashOfAnguishRemoved(args)
|
|
self:StopBar(args.spellName, args.destName)
|
|
end
|
|
|
|
function mod:WaveOfAgony(args)
|
|
self:MessageOld(args.spellId, "red")
|
|
self:CDBar(args.spellId, 32)
|
|
end
|
|
|
|
function mod:Ravage(args)
|
|
self:TargetMessageOld(args.spellId, args.destName, "yellow", "alert")
|
|
self:TargetBar(args.spellId, 10, args.destName)
|
|
end
|
|
|
|
function mod:Camouflage()
|
|
self:MessageOld(-2702, "red", "alert")
|
|
end
|
|
|
|
function mod:UNIT_HEALTH(event, unit)
|
|
local hp = UnitHealth(unit) / UnitHealthMax(unit) * 100
|
|
if hp < 55 then
|
|
self:UnregisterUnitEvent(event, unit)
|
|
self:MessageOld("stages", "yellow", nil, CL.soon:format(CL.stage:format(2)), false)
|
|
end
|
|
end
|
|
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(event, unit, _, spellId)
|
|
if spellId == 97380 then -- Cave In
|
|
self:UnregisterUnitEvent(event, unit)
|
|
self:MessageOld("stages", "yellow", "info", CL.stage:format(2), false)
|
|
end
|
|
end
|
|
|