diff --git a/DBM-Raids-Vanilla/VanillaSoD_BFD/Akumai.lua b/DBM-Raids-Vanilla/VanillaSoD_BFD/Akumai.lua index a3f3fb5f..da0eda66 100644 --- a/DBM-Raids-Vanilla/VanillaSoD_BFD/Akumai.lua +++ b/DBM-Raids-Vanilla/VanillaSoD_BFD/Akumai.lua @@ -4,40 +4,117 @@ local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") mod:SetCreatureID(213334) mod:SetEncounterID(2891)--2767 is likely 5 man version in instance type 201 +mod:SetHotfixNoticeRev(20231201000000) +--mod:SetMinSyncRevision(20231115000000) +mod:SetUsedIcons(1, 2) mod:RegisterCombat("combat") mod:RegisterEventsInCombat( --- "SPELL_CAST_START", - "SPELL_AURA_APPLIED 407791" + "SPELL_CAST_START 429168", + "SPELL_CAST_SUCCESS 427751 428761 429207 429541 429359 429353", + "SPELL_SUMMON 428828", + "SPELL_AURA_APPLIED 427625 428482", + "SPELL_AURA_APPLIED_DOSE 427625 428482", + "SPELL_AURA_REMOVED 429541" ) ---https://www.wowhead.com/classic/spell=429315/akumai-phase-transition -local warningAkumaisRage = mod:NewTargetNoFilterAnnounce(407791, 3, nil, "Healer|Tank|RemoveEnrage") +--TODO, corrosive blast is utterly ambigious about who it targets or what it even does, so generic warning for now +--TODO, Shadowbolt Volley ability from elemental adds? blue post mentions such an ability but nos uch ability exists in logs +--TODO, too much of boss is ambigous and many warnings are just pure drycode without any idea what they even do +local warnCorrosion = mod:NewStackAnnounce(427625, 2, nil, "Tank|Healer") +local warnCorrosiveBlast = mod:NewCastAnnounce(429168, 3) +local warnCleansingPool = mod:NewSpellAnnounce(427751, 1) +local warnElementalInstability = mod:NewSpellAnnounce(428761, 3) +local warnDarkProtection = mod:NewSpellAnnounce(429541, 3) +local warnDarkProtectionOver = mod:NewEndAnnounce(429541, 3) +local warnVoidBlast = mod:NewCastAnnounce(429359, 3, 3) +local warnShadowSeep = mod:NewStackAnnounce(428482, 2, nil, "Tank|Healer") +local warningPoolofShadow = mod:NewTargetNoFilterAnnounce(429394, 3)--No idea what this does -local specWarnEnrage = mod:NewSpecialWarningDispel(407791, "RemoveEnrage", nil, nil, 1, 2) +local timerCorrosiveBlastCD = mod:NewCDTimer(21, 429168, nil, nil, nil, 3) +local timerCorrosiveBiteCD = mod:NewCDTimer(6.5, 429207, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON) +local timerVoidBlastCD = mod:NewCDTimer(21, 429359, nil, nil, nil, 3) +local timerVoidFangCD = mod:NewCDTimer(6.5, 429353, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON) ---local timerSleepCD = mod:NewAITimer(180, 8399, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON) +mod:AddSetIconOption("SetIconOnElementals", 428828, true, 5, {1, 2}) ---function mod:OnCombatStart(delay) +mod.vb.iconCount = 1 ---end +function mod:OnCombatStart(delay) + self:SetStage(1) + timerCorrosiveBiteCD:Start(3-delay) + timerCorrosiveBlastCD:Start(21.2-delay) +end ---[[ function mod:SPELL_CAST_START(args) - if args:IsSpell(8399) and args:IsSrcTypeHostile() then + if args:IsSpell(429168) then + warnCorrosiveBlast:Show() + timerCorrosiveBlastCD:Start() + end +end +function mod:SPELL_CAST_SUCCESS(args) + if args:IsSpell(427751) and self:AntiSpam(5, 1) then + warnCleansingPool:Show() + elseif args:IsSpell(428761) then + warnElementalInstability:Show() + elseif args:IsSpell(429207) then + timerCorrosiveBiteCD:Start() + elseif args:IsSpell(429541) then + self:SetStage(2) + self.vb.iconCount = 1 + timerCorrosiveBiteCD:Stop() + timerCorrosiveBlastCD:Stop() + warnDarkProtection:Show() + elseif args:IsSpell(429359) then + warnVoidBlast:Show() + timerVoidBlastCD:Start() + elseif args:IsSpell(429353) then + timerVoidFangCD:Start() + end +end + +function mod:SPELL_SUMMON(args) + local spellId = args.spellId + if args:IsSpell(428828) then + if self.Options.SetIconOnElementals then + self:ScanForMobs(args.destGUID, 2, self.vb.iconCount, 1, nil, 12, "SetIconOnElementals") + end + self.vb.iconCount = self.vb.iconCount + 1 end end ---]] function mod:SPELL_AURA_APPLIED(args) - if args:IsSpell(407791) then - if self.Options.SpecWarn407791dispel then - specWarnEnrage:Show(args.destName) - specWarnEnrage:Play("enrage") - else - warningAkumaisRage:Show(args.destName) + if args:IsSpell(427625) then + local amount = args.amount or 1 + if amount % 3 == 0 or amount >= 6 then + warnShadowStrike:Show(args.destName, amount) + end + elseif args:IsSpell(428482) then + local amount = args.amount or 1 + if amount % 3 == 0 or amount >= 6 then + warnShadowSeep:Show(args.destName, amount) end + elseif args:IsSpell(429394) then + warningPoolofShadow:Show(args.destName) end end +mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED + +function mod:SPELL_AURA_REMOVED(args) + if args:IsSpell(429541) then + warnDarkProtectionOver:Show() + timerVoidFangCD:Start(3.7) + timerVoidBlastCD:Start()--21 + end +end + +--[[ +function mod:UNIT_DIED(args) + local cid = self:GetCIDFromGUID(args.destGUID) + if cid == 213451 then--CLeansing Elemental + + end +end +--]] diff --git a/DBM-Raids-Vanilla/VanillaSoD_BFD/BaronAuanis.lua b/DBM-Raids-Vanilla/VanillaSoD_BFD/BaronAuanis.lua index d9037a01..081b11bf 100644 --- a/DBM-Raids-Vanilla/VanillaSoD_BFD/BaronAuanis.lua +++ b/DBM-Raids-Vanilla/VanillaSoD_BFD/BaronAuanis.lua @@ -4,6 +4,8 @@ local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") mod:SetCreatureID(202699) mod:SetEncounterID(2694)--2765 is likely 5 man version in instance type 201 (which has Old Serra'kis instead of Baron) +mod:SetHotfixNoticeRev(20231201000000) +--mod:SetMinSyncRevision(20231115000000) mod:RegisterCombat("combat") diff --git a/DBM-Raids-Vanilla/VanillaSoD_BFD/Gelihast.lua b/DBM-Raids-Vanilla/VanillaSoD_BFD/Gelihast.lua index 2f974e67..6121238f 100644 --- a/DBM-Raids-Vanilla/VanillaSoD_BFD/Gelihast.lua +++ b/DBM-Raids-Vanilla/VanillaSoD_BFD/Gelihast.lua @@ -4,21 +4,41 @@ local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") mod:SetCreatureID(204921) mod:SetEncounterID(2704)--2763 is likely 5 man version in instance type 201 +mod:SetHotfixNoticeRev(20231201000000) +--mod:SetMinSyncRevision(20231115000000) mod:RegisterCombat("combat") mod:RegisterEventsInCombat( - "SPELL_CAST_START", - "SPELL_AURA_APPLIED" +-- "SPELL_CAST_START", + "SPELL_CAST_SUCCESS 412072 411973 412456 411990 412528", + "SPELL_AURA_APPLIED 412072 411956", + "SPELL_AURA_APPLIED_DOSE 412072" ) ---local warningSleep = mod:NewTargetNoFilterAnnounce(8399, 2) - ---local timerSleepCD = mod:NewAITimer(180, 8399, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON) +--TODO, better detect march starting/ending to cleanup antispam and resume nono murloc phase timers +--TODO, what does shadow crash even do, does it need an alert? +--TODO, void empowerment is what? stage change? +--[[ +(ability.id = 412456 or ability.id = 411973 or ability.id = 412072 or ability.id = 411990 or ability.id = 412248 or ability.id = 412528) and type = "cast" +--]] +local warnShadowStrike = mod:NewStackAnnounce(412072, 2, nil, "Tank|Healer") +local warnCurseofBlackfathom = mod:NewTargetNoFilterAnnounce(411956, 2, nil, "RemoveCurse") +local warnMarchofMurlocs = mod:NewSpellAnnounce(412456, 2) +local warnGroundRupture = mod:NewSpellAnnounce(412528, 2) ---function mod:OnCombatStart(delay) +local timerShadowStrikeCD = mod:NewCDTimer(11.3, 412072, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON) +local timerCurseofBlackfathomCD = mod:NewCDTimer(11.3, 411973, nil, nil, nil, 5, nil, DBM_COMMON_L.CURSE_ICON) +local timerShadowCrashCD = mod:NewCDTimer(11.3, 411990, nil, nil, nil, 3) +local timerGroundRuptureCD = mod:NewCDTimer(11.3, 412528, nil, nil, nil, 3) +local timerMarchofMurlocsCD = mod:NewCDTimer(77.6, 412456, nil, nil, nil, 1) ---end +function mod:OnCombatStart(delay) + timerShadowStrikeCD:Start(3-delay) + timerCurseofBlackfathomCD:Start(6-delay) + timerShadowCrashCD:Start(8-delay) + timerMarchofMurlocsCD:Start(40-delay) +end --[[ function mod:SPELL_CAST_START(args) @@ -26,10 +46,34 @@ function mod:SPELL_CAST_START(args) end end +--]] + +function mod:SPELL_CAST_SUCCESS(args) + if args:IsSpell(412072) then + timerShadowStrikeCD:Start() + elseif args:IsSpell(411973) then + timerCurseofBlackfathomCD:Start() + elseif args:IsSpell(411990) then + timerShadowCrashCD:Start() + elseif args:IsSpell(412528 and self:AntiSpam(5, 1) then + warnGroundRupture:Show() + timerGroundRuptureCD:Start() + elseif args:IsSpell(412456) and self:AntiSpam(25, 2) then + --Boss stops casting these during murlocs + timerCurseofBlackfathomCD:Stop() + timerShadowStrikeCD:Stop() + timerShadowCrashCD:Stop() + warnMarchofMurlocs:Show() + timerMarchofMurlocsCD:Start() + end +end function mod:SPELL_AURA_APPLIED(args) - if args:IsSpell(8399) and args:IsDestTypePlayer() then - + if args:IsSpell(412072) and args:IsDestTypePlayer() then + local amount = args.amount or 1 + warnShadowStrike:Show(args.destName, amount) + elseif args:IsSpell(412072) and args:IsDestTypePlayer() + warnCurseofBlackfathom:CombinedShow(0.5, args.destName) end end ---]] +mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED diff --git a/DBM-Raids-Vanilla/VanillaSoD_BFD/Ghamoora.lua b/DBM-Raids-Vanilla/VanillaSoD_BFD/Ghamoora.lua index 892abf32..83d8b82c 100644 --- a/DBM-Raids-Vanilla/VanillaSoD_BFD/Ghamoora.lua +++ b/DBM-Raids-Vanilla/VanillaSoD_BFD/Ghamoora.lua @@ -4,6 +4,8 @@ local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") mod:SetCreatureID(201722) mod:SetEncounterID(2697)--2761 is likely 5 man version in instance type 201 +mod:SetHotfixNoticeRev(20231201000000) +--mod:SetMinSyncRevision(20231115000000) mod:RegisterCombat("combat") diff --git a/DBM-Raids-Vanilla/VanillaSoD_BFD/LadySarevess.lua b/DBM-Raids-Vanilla/VanillaSoD_BFD/LadySarevess.lua index 1ebf365b..d16941ac 100644 --- a/DBM-Raids-Vanilla/VanillaSoD_BFD/LadySarevess.lua +++ b/DBM-Raids-Vanilla/VanillaSoD_BFD/LadySarevess.lua @@ -4,32 +4,72 @@ local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") mod:SetCreatureID(204068) mod:SetEncounterID(2699)--2762 is likely 5 man version in instance type 201 +mod:SetHotfixNoticeRev(20231201000000) +--mod:SetMinSyncRevision(20231115000000) mod:RegisterCombat("combat") mod:RegisterEventsInCombat( - "SPELL_CAST_START", - "SPELL_AURA_APPLIED" + "SPELL_CAST_START 407568", + "SPELL_CAST_SUCCESS 407794 407653", + "SPELL_AURA_APPLIED 407791 407653", + "UNIT_DIED" ) ---local warningSleep = mod:NewTargetNoFilterAnnounce(8399, 2) +--TODO, add spawns/timings? +--TODO, tank stack/swap alerts? +--TODO, add cleave at all? 407811 +local warningAkumaisRage = mod:NewTargetNoFilterAnnounce(407791, 3, nil, "Healer|Tank|RemoveEnrage") +local warningForkedLightning = mod:NewTargetNoFilterAnnounce(407653, 3) ---local timerSleepCD = mod:NewAITimer(180, 8399, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON) +local specWarnForkedLightning = mod:NewSpecialWarningMoveAway(407653, nil, nil, nil, 1, 2) +local yellnForkedLightning = mod:NewYell(407653) +local specWarnFreezingArrow = mod:NewSpecialWarningInterrupt(407568, "HasInterrupt", nil, nil, 1, 2) ---function mod:OnCombatStart(delay) +local timerForkedLightningCD = mod:NewCDTimer(20.6, 407653, nil, nil, nil, 3) +local timerFreezingArrowCD = mod:NewCDTimer(22.9, 407568, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON) +local timerTriplePunctureCD = mod:NewCDNPTimer(10.9, 407794, nil, nil, nil, 5) ---end +function mod:OnCombatStart(delay) + timerFreezingArrowCD:Start(5-delay) + timerForkedLightningCD:Start(15-delay) +end ---[[ function mod:SPELL_CAST_START(args) - if args:IsSpell(8399) and args:IsSrcTypeHostile() then + if args:IsSpell(407568) then + timerFreezingArrowCD:Start() + if self:CheckInterruptFilter(args.sourceGUID, false, true) then + specWarnFreezingArrow:Show(args.sourceName) + specWarnFreezingArrow:Play("kickcast") + end + end +end +function mod:SPELL_CAST_SUCCESS(args) + if args:IsSpell(407794) then + timerTriplePunctureCD:Start(nil, args.sourceGUID) + elseif args:IsSpell(407653) then + timerForkedLightningCD:start() end end function mod:SPELL_AURA_APPLIED(args) - if args:IsSpell(8399) and args:IsDestTypePlayer() then + if args:IsSpell(407791) then + warningAkumaisRage:Show(args.destName) + elseif args:IsSpell(407653) then + if args:IsPlayer() then + specWarnForkedLightning:Show() + specWarnForkedLightning:Play("scatter") + yellnForkedLightning:Yell() + else + warningForkedLightning:Show(args.destName) + end + end +end +function mod:UNIT_DIED(args) + local cid = self:GetCIDFromGUID(args.destGUID) + if cid == 204645 or cid == 204091 or cid == 209209 then--Blackfathom Elites + timerTriplePunctureCD:Stop(args.destGUID) end end ---]] diff --git a/DBM-Raids-Vanilla/VanillaSoD_BFD/LorgusJett.lua b/DBM-Raids-Vanilla/VanillaSoD_BFD/LorgusJett.lua index 9ba044cb..5ffee52a 100644 --- a/DBM-Raids-Vanilla/VanillaSoD_BFD/LorgusJett.lua +++ b/DBM-Raids-Vanilla/VanillaSoD_BFD/LorgusJett.lua @@ -4,32 +4,114 @@ local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") mod:SetCreatureID(207356) mod:SetEncounterID(2710)--2764 is likely 5 man version in instance type 201 +mod:SetHotfixNoticeRev(20231201000000) +--mod:SetMinSyncRevision(20231115000000) +mod:SetUsedIcons(1, 2, 8) mod:RegisterCombat("combat") mod:RegisterEventsInCombat( - "SPELL_CAST_START", - "SPELL_AURA_APPLIED" + "SPELL_CAST_START 22883", + "SPELL_CAST_SUCCESS 407794 419649 414691 414763 419636", + "SPELL_SUMMON 419649 414691 414763 419636", +-- "SPELL_AURA_APPLIED", + "UNIT_DIED" ) ---local warningSleep = mod:NewTargetNoFilterAnnounce(8399, 2) +--[[ + or (source.type = "NPC" and source.firstSeen = timestamp) or (target.type = "NPC" and target.firstSeen = timestamp) +--]] +--TODO, more stage 1 add stuff, maybe more spawn timers? +--TODO, Triple Puncture stacks 407794? +--TODO, find a way to detect stage 2 start in cleaner better way +--NOTE, New Totem every 9.5 seconds. Windfury 414691 -- > Lighting Shield 414763 -- > Molten Fury 419636 -- > repeat. +--local warnSleep = mod:NewTargetNoFilterAnnounce(8399, 2) +local warnBlackfathomMurloc = mod:NewSpellAnnounce(419649, 2) +local warnWindfuryTotem = mod:NewSpellAnnounce(414691, 2) +local warnLightningShieldtotem = mod:NewSpellAnnounce(414763, 2) +local warnMoltenFuryTotem = mod:NewSpellAnnounce(419636, 2) ---local timerSleepCD = mod:NewAITimer(180, 8399, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON) +local specWarnHeal = mod:NewSpecialWarningInterrupt(407568, "HasInterrupt", nil, nil, 1, 2) ---function mod:OnCombatStart(delay) +local timerTriplePunctureCD = mod:NewCDNPTimer(10.9, 407794, nil, nil, nil, 5) +local timerHealCD = mod:NewCDNPTimer(10.9, 22883, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--10.9+ +local timerBlackfathomMurlocCD = mod:NewCDTimer(27.5, 419649, nil, nil, nil, 1) ---end +local timerWindfuryTotemCD = mod:NewCDTimer(9.5, 414691, nil, nil, nil, 1) +local timerLightningShieldTotemCD = mod:NewCDTimer(9.5, 414763, nil, nil, nil, 1) +local timerMoltenFuryTotemCD = mod:NewCDTimer(9.5, 419636, nil, nil, nil, 1) + +mod:AddSetIconOption("SetIconOnAdds", 419649, true, 5, {1, 2}) +mod:AddSetIconOption("SetIconOnTotem", 414691, true, 5, {8}) + +mod.vb.iconCount = 1 + +function mod:OnCombatStart(delay) + timerBlackfathomMurlocCD:Start(27.5-delay) + self:SetStage(1) +end ---[[ function mod:SPELL_CAST_START(args) - if args:IsSpell(8399) and args:IsSrcTypeHostile() then + if args:IsSpell(22883) and args:IsSrcTypeHostile() then + timerHealCD:Start(nil, args.sourceGUID) + if self:CheckInterruptFilter(args.sourceGUID, false, true) then + specWarnHeal:Show(args.sourceName) + specWarnHeal:Play("kickcast") + end + end +end +function mod:SPELL_CAST_SUCCESS(args) + if args:IsSpell(407794) then + timerTriplePunctureCD:Start(nil, args.sourceGUID) + elseif args:IsSpell(419649) and self:AntiSpam(5, 1) then + self.vb.iconCount = 1 + warnBlackfathomMurloc:Show() + timerBlackfathomMurlocCD:Start() + elseif args:IsSpell(414691) then--Windfury totem + if self:GetStage(1) then + self:SetStage(2) + timerBlackfathomMurlocCD:Stop() + end + warnWindfuryTotem:Show() + timerLightningShieldTotemCD:Start() + elseif args:IsSpell(414763) then--Lighting Shield totem + warnLightningShieldtotem:Show() + timerMoltenFuryTotemCD:Start() + elseif args:IsSpell(419636) then--Molten Fury totem + warnMoltenFuryTotem:Show() + timerWindfuryTotemCD:Start() end end -function mod:SPELL_AURA_APPLIED(args) - if args:IsSpell(8399) and args:IsDestTypePlayer() then +function mod:SPELL_SUMMON(args) + local spellId = args.spellId + if args:IsSpell(419649) then + local cid = self:GetCIDFromGUID(args.destGUID) +-- if cid == 209214 then--Blackfathom Murloc + if self.Options.SetIconOnAdds then + self:ScanForMobs(args.destGUID, 2, self.vb.iconCount, 1, nil, 12, "SetIconOnAdds") + end + self.vb.iconCount = self.vb.iconCount + 1 +-- end + elseif args:IsSpell(414691, 414763, 419636) then--All the totems + if self.Options.SetIconOnTotem then--Only use up to 5 icons + self:ScanForMobs(args.destGUID, 2, 8, 1, nil, 12, "SetIconOnTotem") + end + end +end +--function mod:SPELL_AURA_APPLIED(args) +-- if args:IsSpell(407791) then +-- warningAkumaisRage:Show(args.destName) +-- end +--end + +function mod:UNIT_DIED(args) + local cid = self:GetCIDFromGUID(args.destGUID) + if cid == 204645 or cid == 204091 or cid == 209209 then--Blackfathom Elites + timerTriplePunctureCD:Stop(args.destGUID) + elseif cid == 207367 or cid == 207358 or cid == 214603 or cid == 207359 then--Blackfathom Tide Priestess + timerHealCD:Stop(args.destGUID) end end ---]] diff --git a/DBM-Raids-Vanilla/VanillaSoD_BFD/TwilightLordKelris.lua b/DBM-Raids-Vanilla/VanillaSoD_BFD/TwilightLordKelris.lua index dee47b12..347435da 100644 --- a/DBM-Raids-Vanilla/VanillaSoD_BFD/TwilightLordKelris.lua +++ b/DBM-Raids-Vanilla/VanillaSoD_BFD/TwilightLordKelris.lua @@ -4,33 +4,63 @@ local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") mod:SetCreatureID(209678) mod:SetEncounterID(2825)--2766 is likely 5 man version in instance type 201 +mod:SetHotfixNoticeRev(20231201000000) +--mod:SetMinSyncRevision(20231115000000) mod:RegisterCombat("combat") mod:RegisterEventsInCombat( - "SPELL_CAST_START", - "SPELL_AURA_APPLIED" + "SPELL_CAST_START 425265", + "SPELL_CAST_SUCCESS 426199 425460", + "SPELL_AURA_APPLIED 426495 423135 426199 425460" ) --https://www.wowhead.com/classic/spell=425234/orbs-of-shadow ---local warningSleep = mod:NewTargetNoFilterAnnounce(8399, 2) +--TODO, https://www.wowhead.com/classic/npc=209773/dream-copy , spawned from https://www.wowhead.com/classic/spell=423135/sleep +--TODO, invading Nightmares cast Shadow form 426223 on spawn, useful info? +local warnShadowyChains = mod:NewTargetNoFilterAnnounce(426495, 2, nil, "RemoveMagic|Healer")--Failed Interrupt +local warnSleep = mod:NewTargetNoFilterAnnounce(423135, 2)--No consistent timing found so no timer +local warnShadowCrash = mod:NewTargetNoFilterAnnounce(426199, 2, nil, false)--Kinda spammy, off by default +local warnDreamEater = mod:NewTargetNoFilterAnnounce(425460, 2)--Not sure what it does, so don't know what else to do with it yet ---local timerSleepCD = mod:NewAITimer(180, 8399, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON) +local specWarnShadowyChains = mod:NewSpecialWarningInterrupt(425265, "HasInterrupt", nil, nil, 1, 2) ---function mod:OnCombatStart(delay) +local timerShadowyChainsCD = mod:NewCDTimer(11.3, 425265, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON) +local timerDreamEaterCD = mod:NewCDTimer(47.4, 425460, nil, nil, nil, 3)--47.4-57.9, more data needed ---end +function mod:OnCombatStart(delay) + timerShadowyChainsCD:Start(12.5-delay) + timerDreamEaterCD:Start(40-delay) +end ---[[ function mod:SPELL_CAST_START(args) - if args:IsSpell(8399) and args:IsSrcTypeHostile() then + if args:IsSpell(425265) then + timerShadowyChainsCD:Start() + if self:CheckInterruptFilter(args.sourceGUID, false, true) then + specWarnShadowyChains:Show(args.sourceName) + specWarnShadowyChains:Play("kickcast") + end + end +end +function mod:SPELL_CAST_SUCCESS(args) + if args:IsSpell(426199) then + timerShadowCrashCD:Start() + elseif args:IsSpell(425460) then + timerDreamEaterCD:Start() end end -function mod:SPELL_AURA_APPLIED(args) - if args:IsSpell(8399) and args:IsDestTypePlayer() then + +function mod:SPELL_AURA_APPLIED(args) + if args:IsSpell(426495) and args:IsDestTypePlayer() then + warnShadowyChains:CombinedShow(0.5, args.destName) + elseif args:IsSpell(423135) and args:IsDestTypePlayer() then + warnSleep:CombinedShow(0.5, args.destName) + elseif args:IsSpell(426199) then + warnShadowCrash:Show(args.destName)--Can also be done in success, but they can break that at any time + elseif args:IsSpell(425460) then + warnDreamEater:CombinedShow(0.5, args.destName) end end ---]]