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.
229 lines
6.7 KiB
229 lines
6.7 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Moroes", 1651, 1837)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(
|
|
114312, -- Moroes
|
|
114316, -- Baroness Dorothea Millstripe
|
|
114317, -- Lady Catriona Von'Indi
|
|
114318, -- Baron Rafe Dreuger
|
|
114319, -- Lady Keira Berrybuck
|
|
114320, -- Lord Robin Daris
|
|
114321 -- Lord Crispin Ference
|
|
)
|
|
mod.engageId = 1961
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Locals
|
|
--
|
|
|
|
local mobCollector = {}
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
--[[ Moroes ]]--
|
|
227736, -- Vanish
|
|
227742, -- Garrote
|
|
{227851, "TANK_HEALER"}, -- Coat Check
|
|
227872, -- Ghastly Purge
|
|
|
|
--[[ Baroness Dorothea Millstripe ]]--
|
|
227545, -- Mana Drain
|
|
|
|
--[[ Lady Catriona Von'Indi ]]--
|
|
227578, -- Healing Stream
|
|
|
|
--[[ Baron Rafe Dreuger ]]--
|
|
227646, -- Iron Whirlwind
|
|
|
|
--[[ Lady Keira Berrybuck ]]--
|
|
227616, -- Empowered Arms
|
|
|
|
--[[ Lord Robin Daris ]]--
|
|
{227463, "SAY"}, -- Whirling Edge
|
|
|
|
--[[ Lord Crispin Ference ]]--
|
|
227672, -- Will Breaker
|
|
},{
|
|
[227736] = -14360, -- Moroes
|
|
[227545] = -14366, -- Baroness Dorothea Millstripe
|
|
[227578] = -14369, -- Lady Catriona Von'Indi
|
|
[227646] = -14372, -- Baron Rafe Dreuger
|
|
[227616] = -14374, -- Lady Keira Berrybuck
|
|
[227463] = -14376, -- Lord Robin Daris
|
|
[227672] = -14378, -- Lord Crispin Ference
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:RegisterEvent("INSTANCE_ENCOUNTER_ENGAGE_UNIT", "CheckBossStatus")
|
|
--[[ Moroes ]]--
|
|
self:Log("SPELL_CAST_START", "Vanish", 227736)
|
|
self:Log("SPELL_AURA_APPLIED", "Garrote", 227742)
|
|
self:Log("SPELL_AURA_APPLIED_DOSE", "Garrote", 227742)
|
|
self:Log("SPELL_AURA_APPLIED", "CoatCheck", 227851) -- the debuff Moroes applies at the start of his cast
|
|
self:Log("SPELL_AURA_APPLIED", "CoatCheckDispellable", 227832) -- the debuff that replaces the previous one 1.5s after, can be dispelled
|
|
self:Log("SPELL_CAST_START", "GhastlyPurge", 227872)
|
|
|
|
--[[ Baroness Dorothea Millstripe ]]--
|
|
self:Log("SPELL_CAST_START", "ManaDrain", 227545)
|
|
|
|
--[[ Lady Catriona Von'Indi ]]--
|
|
self:Log("SPELL_CAST_START", "HealingStream", 227578)
|
|
|
|
--[[ Baron Rafe Dreuger ]]--
|
|
self:Log("SPELL_CAST_START", "IronWhirlwind", 227646)
|
|
self:Log("SPELL_DAMAGE", "IronWhirlwindDamage", 227651)
|
|
self:Log("SPELL_MISSED", "IronWhirlwindDamage", 227651)
|
|
|
|
--[[ Lady Keira Berrybuck ]]--
|
|
self:Log("SPELL_AURA_APPLIED", "EmpoweredArms", 227616)
|
|
|
|
--[[ Lord Robin Daris ]]--
|
|
self:Log("SPELL_CAST_START", "WhirlingEdge", 227463)
|
|
|
|
--[[ Lord Crispin Ference ]]--
|
|
self:Log("SPELL_CAST_START", "WillBreaker", 227672)
|
|
|
|
self:Death("GuestDeath",
|
|
114316, -- Baroness Dorothea Millstripe
|
|
114317, -- Lady Catriona Von'Indi
|
|
114318, -- Baron Rafe Dreuger
|
|
114319, -- Lady Keira Berrybuck
|
|
114320, -- Lord Robin Daris
|
|
114321 -- Lord Crispin Ference
|
|
)
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
mobCollector = {}
|
|
self:RegisterEvent("INSTANCE_ENCOUNTER_ENGAGE_UNIT")
|
|
self:CDBar(227736, 7) -- Vanish
|
|
self:CDBar(227851, 30) -- Coat Check
|
|
-- other bars are started in IEEU
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
function mod:INSTANCE_ENCOUNTER_ENGAGE_UNIT()
|
|
for i = 1, 5 do
|
|
local guid = self:UnitGUID(("boss%d"):format(i))
|
|
if guid and not mobCollector[guid] then
|
|
mobCollector[guid] = true
|
|
local mobId = self:MobId(guid)
|
|
if mobId == 114316 then -- Baroness Dorothea Millstripe
|
|
self:CDBar(227545, 9) -- Mana Drain applied
|
|
--elseif mobId == 114317 then -- Lady Catriona Von'Indi
|
|
-- She casts Healing Stream whenever Moroes drops below 50%
|
|
elseif mobId == 114318 then -- Baron Rafe Dreuger
|
|
self:CDBar(227646, 4.5) -- Iron Whirlwind
|
|
elseif mobId == 114319 then -- Lady Keira Berrybuck
|
|
self:CDBar(227616, 9.5) -- Empowered Arms
|
|
--elseif mobId == 114320 then -- Lord Robin Daris
|
|
-- Whirling Edge is cast instantly
|
|
elseif mobId == 114321 then -- Lord Crispin Ference
|
|
self:Bar(227672, 10.5) -- Will Breaker
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:Vanish(args)
|
|
self:MessageOld(args.spellId, "yellow")
|
|
self:Bar(args.spellId, 20.5)
|
|
end
|
|
|
|
function mod:Garrote(args)
|
|
local amount = args.amount or 1
|
|
self:StackMessage(args.spellId, args.destName, amount, "orange", "info")
|
|
end
|
|
|
|
function mod:CoatCheck(args)
|
|
if self:Tank() then
|
|
self:MessageOld(args.spellId, "orange", "alarm", CL.casting:format(args.spellName))
|
|
end
|
|
self:Bar(args.spellId, 34)
|
|
end
|
|
|
|
function mod:CoatCheckDispellable(args)
|
|
if not self:Tank() then
|
|
self:TargetMessageOld(227851, args.destName, "orange", "alarm", nil, nil, true)
|
|
end
|
|
end
|
|
|
|
function mod:GhastlyPurge(args)
|
|
self:MessageOld(args.spellId, "cyan")
|
|
end
|
|
|
|
function mod:ManaDrain(args)
|
|
self:MessageOld(args.spellId, "orange", self:Interrupter() and "warning", CL.casting:format(args.spellName))
|
|
self:CDBar(args.spellId, 18)
|
|
end
|
|
|
|
function mod:HealingStream(args)
|
|
self:MessageOld(args.spellId, "red", self:Interrupter() and "warning", CL.casting:format(args.spellName))
|
|
end
|
|
|
|
function mod:IronWhirlwind(args)
|
|
self:MessageOld(args.spellId, "yellow", "long")
|
|
self:Bar(args.spellId, 10.5)
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:IronWhirlwindDamage(args)
|
|
if self:Me(args.destGUID) then
|
|
local t = GetTime()
|
|
if t-prev > 2 then
|
|
prev = t
|
|
self:MessageOld(227646, "blue", "alarm", CL.underyou:format(args.spellName))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:EmpoweredArms(args)
|
|
self:MessageOld(args.spellId, "red", self:Tank() and "info", CL.on:format(args.spellName, args.destName))
|
|
end
|
|
|
|
do
|
|
local function printTarget(self, player, guid)
|
|
if self:Me(guid) then
|
|
self:Say(227463)
|
|
end
|
|
self:TargetMessageOld(227463, player, "orange", "warning")
|
|
end
|
|
|
|
function mod:WhirlingEdge(args)
|
|
self:GetBossTarget(printTarget, 1.5, args.sourceGUID)
|
|
end
|
|
end
|
|
|
|
function mod:WillBreaker(args)
|
|
self:MessageOld(args.spellId, "red", "long")
|
|
self:Bar(args.spellId, 10.9)
|
|
end
|
|
|
|
function mod:GuestDeath(args)
|
|
local mobId = self:MobId(args.destGUID)
|
|
if mobId == 114316 then -- Baroness Dorothea Millstripe
|
|
self:StopBar(227545) -- Mana Drain
|
|
--elseif mobId == 114317 then -- Lady Catriona Von'Indi
|
|
elseif mobId == 114318 then -- Baron Rafe Dreuger
|
|
self:StopBar(227646) -- Iron Whirlwind
|
|
elseif mobId == 114319 then -- Lady Keira Berrybuck
|
|
self:StopBar(227616) -- Empowered Arms
|
|
--elseif mobId == 114320 then -- Lord Robin Daris
|
|
-- Whirling Edge is cast instantly
|
|
elseif mobId == 114321 then -- Lord Crispin Ference
|
|
self:StopBar(227672) -- Will Breaker
|
|
end
|
|
end
|
|
|