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.
120 lines
3.9 KiB
120 lines
3.9 KiB
local mod = DBM:NewMod(2407, "DBM-Party-Shadowlands", 8, 1189)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20240426175442")
|
|
mod:SetCreatureID(162099)
|
|
mod:SetEncounterID(2363)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 323821 322903",
|
|
"SPELL_CAST_SUCCESS 323845 324086",
|
|
"SPELL_AURA_APPLIED 323845",
|
|
"SPELL_AURA_REMOVED 323845"
|
|
-- "SPELL_PERIODIC_DAMAGE",
|
|
-- "SPELL_PERIODIC_MISSED",
|
|
-- "UNIT_SPELLCAST_SUCCEEDED boss1"
|
|
)
|
|
|
|
--Infoframe tracking extra action button usage/CDs of Shining Radiance?
|
|
--[[
|
|
(ability.id = 323821 or ability.id = 322903) and type = "begincast"
|
|
or ability.id = 323845 and type = "cast"
|
|
--]]
|
|
local warnWickedRush = mod:NewTargetAnnounce(323845, 3)
|
|
local warnShiningRadiance = mod:NewTargetNoFilterAnnounce(324086, 1)
|
|
|
|
local specWarnWickedRush = mod:NewSpecialWarningMoveAway(323845, nil, nil, nil, 1, 2)
|
|
local yellWickedRush = mod:NewYell(323845)
|
|
local yellWickedRushFades = mod:NewShortFadesYell(323845)
|
|
local yellShiningRadiance = mod:NewYell(324086, nil, nil, nil, "YELL")
|
|
local specWarnPiercingBlur = mod:NewSpecialWarningDodge(323810, nil, nil, nil, 2, 2)
|
|
local specWarnGloomSquall = mod:NewSpecialWarningMoveTo(322903, nil, nil, nil, 3, 2)--Trash version, boss version is 324103
|
|
--local specWarnGTFO = mod:NewSpecialWarningGTFO(257274, nil, nil, nil, 1, 8)
|
|
|
|
local timerWickedRushCD = mod:NewCDTimer(15.8, 323845, nil, nil, nil, 3)--5.7, 15.8, 20.7, 15.8
|
|
local timerPiercingBlurCD = mod:NewCDTimer(9.3, 323810, nil, nil, nil, 3)--9.3 now? (17-25.4 old)
|
|
local timerGloomSquallCD = mod:NewCDTimer(37.7, 322903, nil, nil, nil, 2, nil, DBM_COMMON_L.IMPORTANT_ICON)
|
|
--local timerShiningRadiance = mod:NewCDTimer(35, 324086, nil, nil, nil, 5)
|
|
|
|
mod.vb.rushCast = 0
|
|
mod.vb.blurCast = 1
|
|
local shelter = DBM:GetSpellName(324086)
|
|
|
|
function mod:OnCombatStart(delay)
|
|
self.vb.rushCast = 0
|
|
self.vb.blurCast = 1--Sequence starts 1 on engage, only 1 cast
|
|
timerWickedRushCD:Start(5.7-delay)
|
|
timerPiercingBlurCD:Start(10.6-delay)
|
|
timerGloomSquallCD:Start(34.5-delay)
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 323821 then
|
|
self.vb.blurCast = self.vb.blurCast + 1
|
|
specWarnPiercingBlur:Show()
|
|
specWarnPiercingBlur:Play("watchstep")
|
|
timerPiercingBlurCD:Start()
|
|
elseif spellId == 322903 then
|
|
--Each ability cast twice between glooms, then sequence starts over
|
|
self.vb.rushCast = 0
|
|
self.vb.blurCast = 0
|
|
specWarnGloomSquall:Show(shelter)
|
|
specWarnGloomSquall:Play("findshelter")
|
|
timerGloomSquallCD:Start()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
local spellId = args.spellId
|
|
if spellId == 323845 then
|
|
self.vb.rushCast = self.vb.rushCast + 1
|
|
timerWickedRushCD:Start(self.vb.rushCast == 2 and 19.2 or 15.8)
|
|
elseif spellId == 324086 then
|
|
warnShiningRadiance:Show(args.sourceName)
|
|
-- timerShiningRadiance:Start()
|
|
if args:IsPlayerSource() then
|
|
yellShiningRadiance:Yell()
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 323845 then
|
|
warnWickedRush:CombinedShow(0.3, args.destName)
|
|
if args:IsPlayer() then
|
|
specWarnWickedRush:Show()
|
|
specWarnWickedRush:Play("runout")
|
|
yellWickedRush:Yell()
|
|
yellWickedRushFades:Countdown(spellId)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 323845 then
|
|
if args:IsPlayer() then
|
|
yellWickedRushFades:Cancel()
|
|
end
|
|
end
|
|
end
|
|
|
|
--[[
|
|
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName)
|
|
if spellId == 309991 and destGUID == UnitGUID("player") and self:AntiSpam(2, 2) then
|
|
specWarnGTFO:Show(spellName)
|
|
specWarnGTFO:Play("watchfeet")
|
|
end
|
|
end
|
|
mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE
|
|
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
|
|
if spellId == 257453 then
|
|
|
|
end
|
|
end
|
|
--]]
|
|
|