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.
148 lines
4.1 KiB
148 lines
4.1 KiB
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Darkheart Thicket Trash", 1466)
|
|
if not mod then return end
|
|
mod.displayName = CL.trash
|
|
mod:RegisterEnableMob(
|
|
95771, -- Dreadsoul Ruiner
|
|
101679, -- Dreadsoul Poisoner
|
|
95766, -- Crazed Razorbeak
|
|
95779, -- Festerhide Grizzly
|
|
100531, -- Bloodtainted Fury
|
|
113398, -- Bloodtainted Fury
|
|
100527 -- Dreadfire Imp
|
|
)
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Localization
|
|
--
|
|
|
|
local L = mod:GetLocale()
|
|
if L then
|
|
L.ruiner = "Dreadsoul Ruiner"
|
|
L.poisoner = "Dreadsoul Poisoner"
|
|
L.razorbeak = "Crazed Razorbeak"
|
|
L.grizzly = "Festerhide Grizzly"
|
|
L.fury = "Bloodtainted Fury"
|
|
L.imp = "Dreadfire Imp"
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
--[[ Dreadsoul Ruiner ]]--
|
|
200658, -- Star Shower
|
|
|
|
--[[ Dreadsoul Poisoner ]]--
|
|
{200684, "SAY", "SAY_COUNTDOWN"}, -- Nightmare Toxin
|
|
|
|
--[[ Crazed Razorbeak ]]--
|
|
200768, -- Propelling Charge
|
|
|
|
--[[ Festerhide Grizzly ]]--
|
|
200580, -- Maddening Roar
|
|
218759, -- Corruption Pool
|
|
|
|
--[[ Bloodtainted Fury ]]--
|
|
201226, -- Blood Assault
|
|
201272, -- Blood Bomb
|
|
225562, -- Blood Metamorphosis
|
|
|
|
--[[ Dreadfire Imp ]]--
|
|
201399, -- Dread Inferno
|
|
}, {
|
|
[200658] = L.ruiner,
|
|
[200684] = L.poisoner,
|
|
[200768] = L.razorbeak,
|
|
[200580] = L.grizzly,
|
|
[201226] = L.fury,
|
|
[201399] = L.imp,
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:RegisterMessage("BigWigs_OnBossEngage", "Disable")
|
|
|
|
--[[ Dreadsoul Ruiner, Dreadfire Imp ]]--
|
|
self:Log("SPELL_CAST_START", "Interrupts", 200658, 201399) -- Star Shower, Dread Inferno
|
|
|
|
--[[ Dreadsoul Poisoner ]]--
|
|
self:Log("SPELL_AURA_APPLIED", "NightmareToxinApplied", 200684)
|
|
self:Log("SPELL_AURA_REMOVED", "NightmareToxinRemoved", 200684)
|
|
|
|
--[[ Crazed Razorbeak, Festerhide Grizzly ]]--
|
|
self:Log("SPELL_CAST_START", "Casts", 200768, 200580, 201226, 225562) -- Propelling Charge, Maddening Roar, Blood Assault, Blood Metamorphosis
|
|
|
|
--[[ Bloodtainted Fury ]]--
|
|
self:Log("SPELL_CAST_SUCCESS", "BloodBomb", 201272)
|
|
|
|
--[[ Festerhide Grizzly ]]--
|
|
self:Log("SPELL_AURA_APPLIED", "CorruptionPool", 218759)
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "CorruptionPool", 218759)
|
|
self:Log("SPELL_PERIODIC_MISSED", "CorruptionPool", 218759)
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
do
|
|
local prevTable = {}
|
|
-- Dreadsoul Ruiner, Dreadfire Imp
|
|
function mod:Interrupts(args)
|
|
local t = GetTime()
|
|
if t - (prevTable[args.spellId] or 0) > 1 then
|
|
prevTable[args.spellId] = t
|
|
self:MessageOld(args.spellId, "yellow", self:Interrupter() and "alarm", CL.casting:format(args.spellName))
|
|
end
|
|
end
|
|
|
|
-- Crazed Razorbeak, Festerhide Grizzly, Bloodtainted Fury
|
|
function mod:Casts(args)
|
|
local t = GetTime()
|
|
if t - (prevTable[args.spellId] or 0) > 1 then
|
|
prevTable[args.spellId] = t
|
|
self:MessageOld(args.spellId, "orange", "warning", CL.casting:format(args.spellName))
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:NightmareToxinApplied(args)
|
|
if self:Me(args.destGUID) and self:MythicPlus() then -- avoid spamming in trivial difficulties
|
|
self:Say(args.spellId)
|
|
self:SayCountdown(args.spellId, 3, nil, 2)
|
|
end
|
|
self:TargetMessageOld(args.spellId, args.destName, "red", "alert", nil, nil, self:Dispeller("poison"))
|
|
self:TargetBar(args.spellId, 3, args.destName)
|
|
end
|
|
|
|
function mod:NightmareToxinRemoved(args)
|
|
if self:Me(args.destGUID) then
|
|
self:CancelSayCountdown(args.spellId)
|
|
end
|
|
self:StopBar(args.spellId, args.destName)
|
|
end
|
|
|
|
-- Festerhide Grizzly
|
|
do
|
|
local prev = 0
|
|
function mod:CorruptionPool(args)
|
|
if self:Me(args.destGUID) then
|
|
local t = GetTime()
|
|
if t-prev > 1.5 then
|
|
prev = t
|
|
self:MessageOld(args.spellId, "blue", "warning", CL.underyou:format(args.spellName))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
-- Bloodtainted Fury
|
|
function mod:BloodBomb(args)
|
|
self:MessageOld(args.spellId, "orange", "alert")
|
|
end
|
|
|