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.
213 lines
5.8 KiB
213 lines
5.8 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Vault of the Wardens Trash", 1493)
|
|
if not mod then return end
|
|
mod.displayName = CL.trash
|
|
mod:RegisterEnableMob(
|
|
96587, -- Felsworn Infester
|
|
98954, -- Felsworn Myrmidon
|
|
99956, -- Fel-Infused Fury
|
|
98533, -- Foul Mother
|
|
96657, -- Blade Dancer Illianna
|
|
99649, -- Dreadlord Mendacius
|
|
102566 -- Grimhorn the Enslaver
|
|
)
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Locals
|
|
--
|
|
|
|
local tormentOnMe = false
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Localization
|
|
--
|
|
|
|
local L = mod:GetLocale()
|
|
if L then
|
|
L.infester = "Felsworn Infester"
|
|
L.myrmidon = "Felsworn Myrmidon"
|
|
L.fury = "Fel-Infused Fury"
|
|
L.mother = "Foul Mother"
|
|
L.illianna = "Blade Dancer Illianna"
|
|
L.mendacius = "Dreadlord Mendacius"
|
|
L.grimhorn = "Grimhorn the Enslaver"
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
--[[ Felsworn Infester ]]--
|
|
{193069, "SAY"}, -- Nightmares
|
|
|
|
--[[ Felsworn Myrmidon ]]--
|
|
191735, -- Deafening Screech
|
|
|
|
--[[ Fel-Infused Fury ]]--
|
|
{196799, "FLASH"}, -- Unleash Fury
|
|
196796, -- Fel Gaze
|
|
|
|
--[[ Foul Mother ]]--
|
|
210202, -- Foul Stench
|
|
194071, -- A Mother's Love
|
|
|
|
--[[ Blade Dancer Illianna ]]--
|
|
191527, -- Deafening Shout
|
|
193164, -- Gift of the Doomsayer
|
|
|
|
--[[ Dreadlord Mendacius ]]--
|
|
{196249, "FLASH"}, -- Meteor
|
|
|
|
--[[ Grimhorn the Enslaver ]]--
|
|
{202615, "SAY"}, -- Torment
|
|
202607, -- Anguished Souls
|
|
}, {
|
|
[193069] = L.infester,
|
|
[191735] = L.myrmidon,
|
|
[196799] = L.fury,
|
|
[210202] = L.mother,
|
|
[191527] = L.illianna,
|
|
[196249] = L.mendacius,
|
|
[202615] = L.grimhorn,
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:RegisterMessage("BigWigs_OnBossEngage", "Disable")
|
|
|
|
--[[ Felsworn Infester ]]--
|
|
self:Log("SPELL_CAST_START", "NightmaresCast", 193069)
|
|
self:Log("SPELL_AURA_APPLIED", "NightmaresApplied", 193069)
|
|
|
|
--[[ Felsworn Myrmidon ]]--
|
|
self:Log("SPELL_CAST_START", "DeafeningScreech", 191735)
|
|
|
|
--[[ Fel-Infused Fury ]]--
|
|
self:Log("SPELL_CAST_START", "UnleashFury", 196799)
|
|
self:Log("SPELL_CAST_START", "FelGaze", 196796)
|
|
|
|
--[[ Foul Mother ]]--
|
|
self:Log("SPELL_AURA_APPLIED", "GroundEffectDamage", 210202, 194071) -- Foul Stench, A Mother's Love
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "GroundEffectDamage", 210202, 194071)
|
|
self:Log("SPELL_PERIODIC_MISSED", "GroundEffectDamage", 210202, 194071)
|
|
|
|
--[[ Blade Dancer Illianna ]]--
|
|
self:Log("SPELL_CAST_START", "DeafeningShout", 191527)
|
|
self:Log("SPELL_AURA_APPLIED", "GiftOfTheDoomsayer", 193164)
|
|
|
|
--[[ Dreadlord Mendacius ]]--
|
|
self:Log("SPELL_CAST_START", "Meteor", 196249)
|
|
|
|
--[[ Grimhorn the Enslaver ]]--
|
|
self:Log("SPELL_AURA_APPLIED", "Torment", 202615)
|
|
self:Log("SPELL_AURA_REMOVED", "TormentRemoved", 202615)
|
|
self:Log("SPELL_AURA_APPLIED", "AnguishedSouls", 202607) -- Anguished Souls
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "AnguishedSouls", 202607)
|
|
self:Log("SPELL_PERIODIC_MISSED", "AnguishedSouls", 202607)
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
--[[ Felsworn Infester ]]--
|
|
function mod:NightmaresCast(args)
|
|
self:MessageOld(args.spellId, "yellow", self:Interrupter() and "info", CL.casting:format(args.spellName))
|
|
end
|
|
|
|
function mod:NightmaresApplied(args)
|
|
self:TargetMessageOld(args.spellId, args.destName, "orange", self:Healer() and "alarm")
|
|
if self:Me(args.destGUID) then
|
|
self:Say(args.spellId)
|
|
end
|
|
end
|
|
|
|
--[[ Felsworn Myrmidon ]]--
|
|
function mod:DeafeningScreech(args)
|
|
self:MessageOld(args.spellId, "red", self:Ranged() and "alert", CL.casting:format(args.spellName))
|
|
end
|
|
|
|
--[[ Fel-Infused Fury ]]--
|
|
function mod:UnleashFury(args)
|
|
self:MessageOld(args.spellId, "yellow", "alarm", CL.casting:format(args.spellName))
|
|
if self:Interrupter(args.sourceGUID) then
|
|
self:Flash(args.spellId)
|
|
end
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:FelGaze(args)
|
|
local t = GetTime()
|
|
if t-prev > 0.5 then
|
|
prev = t
|
|
self:MessageOld(args.spellId, "orange", "warning", CL.casting:format(args.spellName))
|
|
end
|
|
end
|
|
end
|
|
|
|
--[[ Foul Mother ]]--
|
|
do
|
|
local prev = 0
|
|
function mod:GroundEffectDamage(args)
|
|
if self:Me(args.destGUID) then
|
|
local t = GetTime()
|
|
if t-prev > 1.5 then
|
|
prev = t
|
|
self:MessageOld(args.spellId, "blue", "alert", CL.underyou:format(args.spellName))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--[[ Blade Dancer Illianna ]]--
|
|
function mod:DeafeningShout(args)
|
|
self:MessageOld(args.spellId, "red", self:Ranged() and "alert", CL.casting:format(args.spellName))
|
|
end
|
|
|
|
function mod:GiftOfTheDoomsayer(args)
|
|
if self:Dispeller("magic") or self:Me(args.destGUID) then
|
|
self:TargetMessageOld(args.spellId, args.destName, "orange", "alarm", nil, nil, true)
|
|
end
|
|
end
|
|
|
|
--[[ Dreadlord Mendacius ]]--
|
|
function mod:Meteor(args)
|
|
self:MessageOld(args.spellId, "orange", "alarm", CL.incoming:format(args.spellName))
|
|
end
|
|
|
|
--[[ Grimhorn the Enslaver ]]--
|
|
function mod:Torment(args)
|
|
if self:Me(args.destGUID) then
|
|
tormentOnMe = true
|
|
self:Say(args.spellId)
|
|
end
|
|
self:TargetMessageOld(args.spellId, args.destName, "orange", "alarm", nil, nil, true)
|
|
self:TargetBar(args.spellId, 6, args.destName)
|
|
end
|
|
|
|
function mod:TormentRemoved(args)
|
|
if self:Me(args.destGUID) then
|
|
tormentOnMe = false
|
|
end
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:AnguishedSouls(args)
|
|
if self:Me(args.destGUID) then
|
|
local t = GetTime()
|
|
-- Increased throttle if the player can't move due to having Torment
|
|
if t-prev > (tormentOnMe and 6 or 1.5) then
|
|
prev = t
|
|
self:MessageOld(args.spellId, "blue", "alert", CL.underyou:format(args.spellName))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|