local mod = DBM:NewMod(1168, "DBM-Party-WoD", 6, 537) local L = mod:GetLocalizedStrings() mod.statTypes = "normal,heroic,mythic,challenge,timewalker" mod:SetRevision("20230504231118") mod:SetCreatureID(75829) mod:SetEncounterID(1688) mod.sendMainBossGUID = true mod:RegisterCombat("combat") mod:RegisterEventsInCombat( "SPELL_CAST_START 152801 153067", "SPELL_AURA_APPLIED 152979", "SPELL_AURA_REMOVED 152979", "SPELL_PERIODIC_DAMAGE 153070", "SPELL_ABSORBED 153070" ) --[[ (ability.id = 152801 or ability.id = 153067) and type = "begincast" or ability.id = 152979 and type = "applydebuff" or type = "dungeonencounterstart" or type = "dungeonencounterend" --]] local specWarnVoidVortex = mod:NewSpecialWarningRun(152801, nil, nil, 2, 4, 2) local specWarnSoulShred = mod:NewSpecialWarningSpell(152979, nil, nil, nil, 1, 2) local specWarnVoidDevastation = mod:NewSpecialWarningSpell(153067, nil, nil, nil, 2, 2) local specWarnVoidDevastationM = mod:NewSpecialWarningGTFO(153070, nil, nil, nil, 1, 8) local timerVoidVortexCD = mod:NewCDTimer(77, 152801, nil, nil, nil, 2) local timerSoulShredCD = mod:NewNextTimer(77, 152979, nil, nil, nil, 6) local timerSoulShred = mod:NewBuffFadesTimer(20, 152979) local timerVoidDevastationCD = mod:NewNextTimer(77, 153067, nil, nil, nil, 3) function mod:OnCombatStart(delay) timerVoidVortexCD:Start(22.7-delay) timerSoulShredCD:Start(37-delay) timerVoidDevastationCD:Start(65.3-delay) end function mod:SPELL_CAST_START(args) local spellId = args.spellId if spellId == 152801 then timerVoidVortexCD:Start() specWarnVoidVortex:Show() specWarnVoidVortex:Play("runaway") elseif spellId == 153067 then specWarnVoidDevastation:Show() specWarnVoidDevastation:Play("aesoon") timerVoidDevastationCD:Start() end end function mod:SPELL_AURA_APPLIED(args) local spellId = args.spellId if spellId == 152979 and self:AntiSpam() then--SPELL_CAST_SUCCESS is missing so have to scan for debuffs specWarnSoulShred:Show() timerSoulShredCD:Start() timerSoulShred:Start() specWarnSoulShred:Play("killspirit") end end function mod:SPELL_AURA_REMOVED(args) if args.spellId == 152979 and args:IsPlayer() then timerSoulShred:Cancel() end end function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, destName, _, _, spellId, spellName) if spellId == 153070 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then specWarnVoidDevastationM:Show(spellName) specWarnVoidDevastationM:Play("watchfeet") end end mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE