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.
108 lines
2.7 KiB
108 lines
2.7 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Inquisitor Meto", 1779, 2012)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(124592)
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
247492, -- Reap
|
|
247495, -- Sow
|
|
247585, -- Seed of Chaos
|
|
247632, -- Death Field
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", nil, "target", "nameplate1", "nameplate2") -- Try to grab the spellcast
|
|
self:Log("SPELL_AURA_APPLIED", "SeedofChaosDamage", 247592)
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "SeedofChaosDamage", 247592)
|
|
self:Log("SPELL_PERIODIC_MISSED", "SeedofChaosDamage", 247592)
|
|
|
|
self:ScheduleTimer("CheckForEngage", 1)
|
|
|
|
self:Log("SPELL_CAST_START", "Reap", 247492)
|
|
self:Log("SPELL_AURA_APPLIED", "ReapApplied", 247492)
|
|
self:Log("SPELL_CAST_START", "Sow", 247495)
|
|
self:Log("SPELL_AURA_APPLIED", "SowApplied", 247495)
|
|
self:Log("SPELL_AURA_APPLIED_DOSE", "SowApplied", 247495)
|
|
self:Log("SPELL_CAST_START", "DeathField", 247632)
|
|
self:Log("SPELL_AURA_APPLIED", "DeathFieldApplied", 247632)
|
|
|
|
self:Death("Win", 124592)
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
self:CheckForWipe()
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(_, _, _, spellId)
|
|
if spellId == 247585 then -- Seed of Chaos
|
|
local t = GetTime()
|
|
if t-prev > 1.5 then
|
|
prev = t
|
|
self:MessageOld(spellId, "orange", "long")
|
|
self:CDBar(spellId, 30)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:SeedofChaosDamage(args)
|
|
if self:Me(args.destGUID) then
|
|
local t = GetTime()
|
|
if t-prev > 1.5 then
|
|
prev = t
|
|
self:MessageOld(247585, "green", "info", args.spellName, args.spellId)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:Reap(args)
|
|
self:MessageOld(args.spellId, "yellow", "alert")
|
|
self:CDBar(args.spellId, 20)
|
|
end
|
|
|
|
function mod:ReapApplied(args)
|
|
if self:Me(args.destGUID) then
|
|
self:TargetMessageOld(args.spellId, args.destName, "blue", "alarm")
|
|
end
|
|
end
|
|
|
|
function mod:Sow(args)
|
|
self:MessageOld(args.spellId, "yellow", "alert")
|
|
self:CDBar(args.spellId, 15)
|
|
end
|
|
|
|
function mod:SowApplied(args)
|
|
if self:Me(args.destGUID) then
|
|
local amount = args.amount or 1
|
|
self:StackMessage(args.spellId, args.destName, amount, "blue", "warning")
|
|
end
|
|
end
|
|
|
|
function mod:DeathField(args)
|
|
self:CDBar(args.spellId, 15)
|
|
end
|
|
|
|
function mod:DeathFieldApplied(args)
|
|
if self:Me(args.destGUID) then
|
|
self:TargetMessageOld(args.spellId, args.destName, "blue", "alarm")
|
|
end
|
|
end
|
|
|