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.

76 lines
2.4 KiB

local mod = DBM:NewMod(1718, "DBM-Party-Legion", 7, 800)
local L = mod:GetLocalizedStrings()
mod.statTypes = "heroic,mythic,challenge,timewalker"
mod:SetRevision("20240808043723")
mod:SetCreatureID(104215)
mod:SetEncounterID(1868)
mod:SetHotfixNoticeRev(20221127000000)
mod.sendMainBossGUID = true
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 207261 207815 207806",
"SPELL_CAST_SUCCESS 207278 219488"
)
--[[
(ability.id = 207261 or ability.id = 207815 or ability.id = 207806) and type = "begincast"
or (ability.id = 219488 or ability.id = 207278) and type = "cast"
or type = "dungeonencounterstart" or type = "dungeonencounterend"
--]]
local warnStreetsweeper = mod:NewTargetNoFilterAnnounce(219488, 2, nil, false)
local warnFlask = mod:NewSpellAnnounce(207815, 2)
local specWarnResonantSlash = mod:NewSpecialWarningDodge(207261, nil, nil, nil, 2, 2)
local specWarnArcaneLockdown = mod:NewSpecialWarningJump(207278, nil, nil, nil, 2, 6)
local specWarnBeacon = mod:NewSpecialWarningSwitch(207806, nil, nil, nil, 1, 2)
local timerStreetsweeperCD = mod:NewCDTimer(6, 219488, nil, nil, nil, 3)
local timerResonantSlashCD = mod:NewCDTimer(12.1, 207261, nil, nil, nil, 3)
local timerArcaneLockdownCD = mod:NewCDTimer(27.9, 207278, nil, nil, nil, 3)
function mod:OnCombatStart(delay)
self:SetStage(1)
timerResonantSlashCD:Start(6.2-delay)
timerStreetsweeperCD:Start(11.1)
timerArcaneLockdownCD:Start(15-delay)
end
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 207261 then
specWarnResonantSlash:Show()
specWarnResonantSlash:Play("watchstep")
if self:GetStage(2) then
timerResonantSlashCD:Start(10)
else
timerResonantSlashCD:Start()
end
elseif spellId == 207815 then
self:SetStage(2)
warnFlask:Show()
elseif spellId == 207806 then
specWarnBeacon:Show()
specWarnBeacon:Play("mobsoon")
end
end
function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 207278 then--Success since jumping on cast start too early
specWarnArcaneLockdown:Show()
specWarnArcaneLockdown:Play("keepjump")
if self:GetStage(2) then
timerArcaneLockdownCD:Start(26.7)
else
timerArcaneLockdownCD:Start(27.9)
end
elseif spellId == 219488 then
warnStreetsweeper:Show(args.destName)
timerStreetsweeperCD:Start()
end
end