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.
367 lines
15 KiB
367 lines
15 KiB
|
3 years ago
|
local mod = DBM:NewMod(2523, "DBM-Aberrus", nil, 1208)
|
||
|
|
local L = mod:GetLocalizedStrings()
|
||
|
|
|
||
|
|
mod:SetRevision("20230324062230")
|
||
|
|
mod:SetCreatureID(203133)
|
||
|
|
mod:SetEncounterID(2684)
|
||
|
|
mod:SetUsedIcons(1, 2, 3)
|
||
|
|
mod:SetHotfixNoticeRev(20221215000000)
|
||
|
|
--mod:SetMinSyncRevision(20221215000000)
|
||
|
|
--mod.respawnTime = 29
|
||
|
|
|
||
|
|
mod:RegisterCombat("combat")
|
||
|
|
|
||
|
|
mod:RegisterEventsInCombat(
|
||
|
|
"SPELL_CAST_START 402902 401480 409241 403272 406222 403057 401101 402814 403528 407790 407796 407936 407917 405436 405434 405433 404038",
|
||
|
|
"SPELL_CAST_SUCCESS 402116 407221 401125 401360 407917",
|
||
|
|
"SPELL_AURA_APPLIED 407182 401998 408131 401010 401123 401126 404565 401128 401130 401133 401134 401135",
|
||
|
|
"SPELL_AURA_APPLIED_DOSE 408131",
|
||
|
|
"SPELL_AURA_REMOVED 407182 401010 407088",
|
||
|
|
"SPELL_PERIODIC_DAMAGE 409058 404277 409183",
|
||
|
|
"SPELL_PERIODIC_MISSED 409058 404277 409183"
|
||
|
|
-- "UNIT_DIED"
|
||
|
|
-- "UNIT_SPELLCAST_SUCCEEDED boss1"
|
||
|
|
)
|
||
|
|
|
||
|
|
--[[
|
||
|
|
|
||
|
|
--]]
|
||
|
|
--https://www.wowhead.com/ptr/spell=401456/twisted-earth or https://www.wowhead.com/ptr/spell=407731/twisted-earth used for SPELL_SUMMON?
|
||
|
|
--TODO, delete redundant/incorrect events when real events known
|
||
|
|
--TODO, Add shatter? https://www.wowhead.com/ptr/spell=401825/shatter
|
||
|
|
--TODO, phase 3 trigger https://www.wowhead.com/ptr/spell=407088/empowered-shadows removed?
|
||
|
|
--TODO, shadowstep targets?
|
||
|
|
--TODO, add more class call timers?
|
||
|
|
--TODO, Target scan sweeping shadows?
|
||
|
|
--Stage One: The Earth Warder
|
||
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(26192))
|
||
|
|
--local warnTwistedEarth = mod:NewCountAnnounce(402902, 2)
|
||
|
|
local warnRushingShadows = mod:NewTargetCountAnnounce(402116, 2)
|
||
|
|
|
||
|
|
local specWarnTwistedEarth = mod:NewSpecialWarningDodgeCount(402902, nil, nil, nil, 2, 2)--Twisted earth spawn+Dodge for Volcanic Blast
|
||
|
|
local specWarnEchoingFissure = mod:NewSpecialWarningDodgeCount(402116, nil, nil, nil, 2, 2)
|
||
|
|
local specWarnRushingShadows = mod:NewSpecialWarningDodgeCount(402116, nil, nil, nil, 2, 2)
|
||
|
|
local yellRushingShadows = mod:NewShortPosYell(402116)
|
||
|
|
local yellRushingShadowsFades = mod:NewIconFadesYell(402116)
|
||
|
|
local specWarnCalamitousStrike = mod:NewSpecialWarningDefensive(406222, nil, nil, nil, 1, 2)
|
||
|
|
local specWarnCalamitousStrikeSwap = mod:NewSpecialWarningTaunt(406222, nil, nil, nil, 1, 2)
|
||
|
|
--local specWarnPyroBlast = mod:NewSpecialWarningInterrupt(396040, "HasInterrupt", nil, nil, 1, 2)
|
||
|
|
local specWarnGTFO = mod:NewSpecialWarningGTFO(409058, nil, nil, nil, 1, 8)
|
||
|
|
|
||
|
|
local timerTwistedEarthCD = mod:NewAITimer(29.9, 402902, nil, nil, nil, 3)
|
||
|
|
local timerEchoingFissureCD = mod:NewAITimer(29.9, 402116, nil, nil, nil, 2)
|
||
|
|
local timerRushingShadowsCD = mod:NewAITimer(29.9, 407221, nil, nil, nil, 3)
|
||
|
|
local timerCalamitousStrikeCD = mod:NewAITimer(28.9, 406222, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
||
|
|
--local berserkTimer = mod:NewBerserkTimer(600)
|
||
|
|
|
||
|
|
--mod:AddRangeFrameOption(5, 390715)
|
||
|
|
mod:AddSetIconOption("SetIconOnRushingShadows", 402116, true, 0, {1, 2, 3})
|
||
|
|
--mod:AddNamePlateOption("NPAuraOnAscension", 385541)
|
||
|
|
|
||
|
|
--Stage Two: Corruption Takes Hold
|
||
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(26421))
|
||
|
|
local warnSurrendertoCorruption = mod:NewCountAnnounce(403057, 2)
|
||
|
|
----Voice From Beyond
|
||
|
|
--mod:AddTimerLine(DBM:EJ_GetSectionInfo(26456))
|
||
|
|
local warnRupturedVeil = mod:NewCountAnnounce(408131, 2, nil, nil, DBM_CORE_L.AUTO_ANNOUNCE_OPTIONS.stack:format(408131))
|
||
|
|
----Class Calls
|
||
|
|
local warnCorruption = mod:NewTargetCountAnnounce(401010, 3)--Class Call Parent
|
||
|
|
local warnDesperateScream = mod:NewTargetNoFilterAnnounce(404565, 3, nil, "RemoveMagic")--Priest secondary (not parent)
|
||
|
|
local warnCorruptedbeasts = mod:NewSpellAnnounce(401125, 3)--Hunter secondary and primary
|
||
|
|
local warnShadowStep = mod:NewSpellAnnounce(401360, 3)--Effect of Wild Treachery (Rogue)
|
||
|
|
local warnShadowElementalTotem = mod:NewCastAnnounce(402814, 2)
|
||
|
|
local warnShadowShadowStrike = mod:NewCastAnnounce(407796, 2, nil, nil, "Tank|Healer")
|
||
|
|
|
||
|
|
local specWarnCorruption = mod:NewSpecialWarningYou(401010, nil, nil, nil, 1, 2)
|
||
|
|
local yellCorruption = mod:NewShortYell(401010)
|
||
|
|
local specWarnAnnihilatingShadows = mod:NewSpecialWarningCount(404038, nil, nil, nil, 2, 2)
|
||
|
|
local specWarnSweepingShadows = mod:NewSpecialWarningDodgeCount(403846, nil, nil, nil, 2, 2)
|
||
|
|
local specWarnSunderShadow = mod:NewSpecialWarningDefensive(407790, nil, nil, nil, 1, 2)
|
||
|
|
--local specWarnSunderShadowSwap = mod:NewSpecialWarningTaunt(407790, nil, nil, nil, 1, 2)
|
||
|
|
|
||
|
|
local timerCorruptionCD = mod:NewAITimer(29.9, 401010, nil, nil, nil, 5)--Parent
|
||
|
|
--local timerBladestormCD = mod:NewCDCountTimer("d6", 401123, nil, nil, nil, 5)--Warrior
|
||
|
|
--local timerShadowStepCD = mod:NewCDCountTimer("d10", 401360, nil, nil, nil, 5)--Rogue
|
||
|
|
--local timerWildGripCD = mod:NewCDCountTimer("d10", 401128, nil, nil, nil, 5)--DK
|
||
|
|
--local timerWildMagicCD = mod:NewCDCountTimer("d10", 401130, nil, nil, nil, 5)--Mage
|
||
|
|
--local timerWildShiftCD = mod:NewCDCountTimer("d10", 401133, nil, nil, nil, 5)--Druid
|
||
|
|
--local timerChaosDanceCD = mod:NewCDCountTimer("d6", 401134, nil, nil, nil, 5)--DH
|
||
|
|
--local timerWildBreathCD = mod:NewCDCountTimer("d6", 401135, nil, nil, nil, 5)--Evoker
|
||
|
|
local timerAnnihilatingShadowsCD = mod:NewAITimer(28.9, 404038, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON)
|
||
|
|
local timerSweepingShadowsCD = mod:NewAITimer(28.9, 403846, nil, nil, nil, 3)
|
||
|
|
local timerSunderShadowCD = mod:NewAITimer(28.9, 407790, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
||
|
|
|
||
|
|
mod:GroupSpells(401010, 401123, 401125, 401360, 404565, 401128, 402814, 401133, 401134, 401135, 401130)--Corruption with all sub class Ids
|
||
|
|
--Stage Three: Reality Fractures
|
||
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(26422))
|
||
|
|
local warnShatterReality = mod:NewCastAnnounce(407936, 2)
|
||
|
|
|
||
|
|
local specWarnEbonDestruction = mod:NewSpecialWarningDodgeCount(407917, nil, nil, nil, 3, 2)
|
||
|
|
|
||
|
|
local timerShatterRealityCD = mod:NewAITimer(28.9, 407936, nil, nil, nil, 5)
|
||
|
|
local timerEbonDestructionCD = mod:NewAITimer(28.9, 407917, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON)
|
||
|
|
|
||
|
|
mod:AddInfoFrameOption(407919, true)
|
||
|
|
|
||
|
|
--General
|
||
|
|
mod.vb.tankCount = 0
|
||
|
|
--P1
|
||
|
|
mod.vb.twistedEarthCount = 0
|
||
|
|
mod.vb.fissureCount = 0
|
||
|
|
mod.vb.rushingShadowsCount = 0
|
||
|
|
--P2
|
||
|
|
mod.vb.corruptionCount = 0
|
||
|
|
mod.vb.annihilatingCount = 0
|
||
|
|
mod.vb.sweepingCount = 0
|
||
|
|
--P3
|
||
|
|
local goodDebuff = DBM:GetSpellInfo(407919)
|
||
|
|
mod.vb.ebonCount = 0
|
||
|
|
|
||
|
|
function mod:OnCombatStart(delay)
|
||
|
|
self:SetStage(1)
|
||
|
|
self.vb.tankCount = 0
|
||
|
|
self.vb.twistedEarthCount = 0
|
||
|
|
self.vb.fissureCount = 0
|
||
|
|
self.vb.rushingShadowsCount = 0
|
||
|
|
self.vb.corruptionCount = 0
|
||
|
|
self.vb.annihilatingCount = 0
|
||
|
|
self.vb.sweepingCount = 0
|
||
|
|
self.vb.ebonCount = 0
|
||
|
|
timerTwistedEarthCD:Start(1-delay)
|
||
|
|
timerEchoingFissureCD:Start(1-delay)
|
||
|
|
timerRushingShadowsCD:Start(1-delay)
|
||
|
|
timerCalamitousStrikeCD:Start(1-delay)
|
||
|
|
-- if self.Options.NPAuraOnAscension then
|
||
|
|
-- DBM:FireEvent("BossMod_EnableHostileNameplates")
|
||
|
|
-- end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnCombatEnd()
|
||
|
|
-- if self.Options.RangeFrame then
|
||
|
|
-- DBM.RangeCheck:Hide()
|
||
|
|
-- end
|
||
|
|
if self.Options.InfoFrame then
|
||
|
|
DBM.InfoFrame:Hide()
|
||
|
|
end
|
||
|
|
-- if self.Options.NPAuraOnAscension then
|
||
|
|
-- DBM.Nameplate:Hide(true, nil, nil, nil, true, true)
|
||
|
|
-- end
|
||
|
|
end
|
||
|
|
|
||
|
|
|
||
|
|
function mod:SPELL_CAST_START(args)
|
||
|
|
local spellId = args.spellId
|
||
|
|
if args:IsSpellID(402902, 401480, 409241) and self:AntiSpam(5, 1) then
|
||
|
|
self.vb.twistedEarthCount = self.vb.twistedEarthCount + 1
|
||
|
|
specWarnTwistedEarth:Show(self.vb.twistedEarthCount)
|
||
|
|
specWarnTwistedEarth:Play("watchstep")
|
||
|
|
timerTwistedEarthCD:Start()
|
||
|
|
elseif spellId == 403272 and self:AntiSpam(5, 2) then
|
||
|
|
self.vb.fissureCount = self.vb.fissureCount + 1
|
||
|
|
specWarnEchoingFissure:Show(self.vb.fissureCount)
|
||
|
|
specWarnEchoingFissure:Play("justrun")
|
||
|
|
timerEchoingFissureCD:Start()
|
||
|
|
elseif spellId == 406222 then
|
||
|
|
self.vb.tankCount = self.vb.tankCount + 1
|
||
|
|
if self:IsTanking("player", nil, nil, true, args.sourceGUID) then--Boss1 doesn't exist, so it uses guid and token scanner
|
||
|
|
specWarnCalamitousStrike:Show()
|
||
|
|
specWarnCalamitousStrike:Play("defensive")
|
||
|
|
end
|
||
|
|
timerCalamitousStrikeCD:Start()
|
||
|
|
elseif spellId == 407790 then
|
||
|
|
self.vb.tankCount = self.vb.tankCount + 1
|
||
|
|
if self:IsTanking("player", nil, nil, true, args.sourceGUID) then--Boss1 doesn't exist, so it uses guid and token scanner
|
||
|
|
specWarnSunderShadow:Show()
|
||
|
|
specWarnSunderShadow:Play("defensive")
|
||
|
|
end
|
||
|
|
timerSunderShadowCD:Start()
|
||
|
|
elseif spellId == 403057 then
|
||
|
|
warnSurrendertoCorruption:Show()
|
||
|
|
self:SetStage(2)
|
||
|
|
timerTwistedEarthCD:Stop()
|
||
|
|
timerEchoingFissureCD:Stop()
|
||
|
|
timerRushingShadowsCD:Stop()
|
||
|
|
timerCalamitousStrikeCD:Stop()
|
||
|
|
timerCorruptionCD:Start(2)
|
||
|
|
timerAnnihilatingShadowsCD:Start(2)
|
||
|
|
timerSweepingShadowsCD:Start(2)
|
||
|
|
timerSunderShadowCD:Start(2)
|
||
|
|
elseif spellId == 401101 then
|
||
|
|
self.vb.corruptionCount = self.vb.corruptionCount + 1
|
||
|
|
timerCorruptionCD:Start()
|
||
|
|
elseif spellId == 402814 and self:AntiSpam(5, 3) then
|
||
|
|
warnShadowElementalTotem:Show()
|
||
|
|
elseif args:IsSpellID(405436, 405434, 405433, 404038) then--10, 7.5, 5, 2.5
|
||
|
|
self.vb.annihilatingCount = self.vb.annihilatingCount + 1
|
||
|
|
specWarnAnnihilatingShadows:Show(self.vb.annihilatingCount)
|
||
|
|
specWarnAnnihilatingShadows:Play("aesoon")
|
||
|
|
timerAnnihilatingShadowsCD:Start()
|
||
|
|
elseif spellId == 403528 then
|
||
|
|
self.vb.sweepingCount = self.vb.sweepingCount + 1
|
||
|
|
specWarnSweepingShadows:Show(self.vb.sweepingCount)
|
||
|
|
specWarnSweepingShadows:Play("shockwave")
|
||
|
|
timerSweepingShadowsCD:Start()
|
||
|
|
elseif spellId == 407796 then
|
||
|
|
warnShadowShadowStrike:Show()
|
||
|
|
elseif spellId == 407936 then
|
||
|
|
warnShatterReality:Show()
|
||
|
|
timerShatterRealityCD:Start()
|
||
|
|
if self.vb.phase == 2 then
|
||
|
|
self:SetStage(3)
|
||
|
|
timerCorruptionCD:Stop()
|
||
|
|
timerAnnihilatingShadowsCD:Stop()
|
||
|
|
timerSweepingShadowsCD:Stop()
|
||
|
|
timerSunderShadowCD:Stop()
|
||
|
|
timerCalamitousStrikeCD:Start(3)
|
||
|
|
timerRushingShadowsCD:Start(3)
|
||
|
|
timerEbonDestructionCD:Start(3)
|
||
|
|
end
|
||
|
|
elseif spellId == 407917 then
|
||
|
|
self.vb.ebonCount = self.vb.ebonCount + 1
|
||
|
|
specWarnEbonDestruction:Show(self.vb.ebonCount)
|
||
|
|
specWarnEbonDestruction:Play("findshelter")
|
||
|
|
timerEbonDestructionCD:Start()
|
||
|
|
if self.Options.InfoFrame then
|
||
|
|
DBM.InfoFrame:SetHeader(DBM_COMMON_L.NO_DEBUFF:format(goodDebuff))
|
||
|
|
DBM.InfoFrame:Show(5, "playergooddebuff", 407919)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 402116 and self:AntiSpam(5, 2) then
|
||
|
|
self.vb.fissureCount = self.vb.fissureCount + 1
|
||
|
|
specWarnEchoingFissure:Show(self.vb.fissureCount)
|
||
|
|
specWarnEchoingFissure:Play("justrun")
|
||
|
|
timerEchoingFissureCD:Start()
|
||
|
|
elseif spellId == 407221 then
|
||
|
|
self.vb.rushingShadowsCount = self.vb.rushingShadowsCount + 1
|
||
|
|
self.vb.shadowsIcon = 1
|
||
|
|
timerRushingShadowsCD:Start()
|
||
|
|
elseif spellId == 401125 and self:AntiSpam(5, 3) then
|
||
|
|
warnCorruptedbeasts:Show()
|
||
|
|
elseif spellId == 401360 and self:AntiSpam(5, 3) then
|
||
|
|
warnShadowStep:Show()
|
||
|
|
elseif spellId == 407917 then
|
||
|
|
if self.Options.InfoFrame then
|
||
|
|
DBM.InfoFrame:Hide()
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_AURA_APPLIED(args)
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 407182 then
|
||
|
|
local icon = self.vb.shadowsIcon
|
||
|
|
if self.Options.SetIconOnRushingShadows then
|
||
|
|
self:SetIcon(args.destName, icon)
|
||
|
|
end
|
||
|
|
if args:IsPlayer() then
|
||
|
|
specWarnRushingShadows:Show()
|
||
|
|
specWarnRushingShadows:Play("targetyou")
|
||
|
|
yellRushingShadows:Yell(icon, icon)
|
||
|
|
yellRushingShadowsFades:Countdown(spellId, nil, icon)
|
||
|
|
end
|
||
|
|
warnRushingShadows:CombinedShow(0.3, self.vb.rushingShadowsCount, args.destName)
|
||
|
|
self.vb.shadowsIcon = self.vb.shadowsIcon + 1
|
||
|
|
elseif spellId == 401998 and not args:IsPlayer() then
|
||
|
|
specWarnCalamitousStrikeSwap:Show()
|
||
|
|
specWarnCalamitousStrikeSwap:Play("tauntboss")
|
||
|
|
elseif spellId == 408131 and args:IsPlayer() then
|
||
|
|
warnRupturedVeil:Cancel()
|
||
|
|
warnRupturedVeil:Schedule(1, args.amount or 1)
|
||
|
|
elseif spellId == 401010 then
|
||
|
|
warnCorruption:CombinedShow(0.3, args.destName)
|
||
|
|
if args:IsPlayer() then
|
||
|
|
specWarnCorruption:Show()
|
||
|
|
specWarnCorruption:Play("targetyou")
|
||
|
|
yellCorruption:Yell()
|
||
|
|
end
|
||
|
|
elseif spellId == 401123 and args:IsPlayer() then
|
||
|
|
--timerBladestormCD:Start(6, 1)--TODO verify first one happens after 6 seconds and not immediately
|
||
|
|
--timerBladestormCD:Start(12, 2)
|
||
|
|
--timerBladestormCD:Start(18, 3)
|
||
|
|
--timerBladestormCD:Start(24, 4)
|
||
|
|
--timerBladestormCD:Start(30, 5)
|
||
|
|
elseif spellId == 401126 and self:AntiSpam(5, 3) then
|
||
|
|
--timerShadowStepCD:Start(10, 1)--TODO verify first one happens after 10 seconds and not immediately
|
||
|
|
--timerShadowStepCD:Start(20, 2)
|
||
|
|
--timerShadowStepCD:Start(30, 3)
|
||
|
|
elseif spellId == 401128 and self:AntiSpam(5, 3) then
|
||
|
|
--timerWildGripCD:Start(10, 1)--TODO verify first one happens after 10 seconds and not immediately
|
||
|
|
--timerWildGripCD:Start(20, 2)
|
||
|
|
--timerWildGripCD:Start(30, 3)
|
||
|
|
elseif spellId == 401130 and args:IsPlayer() then
|
||
|
|
--timerWildMagicCD:Start(10, 1)--TODO verify first one happens after 10 seconds and not immediately
|
||
|
|
--timerWildMagicCD:Start(20, 2)
|
||
|
|
--timerWildMagicCD:Start(30, 3)
|
||
|
|
elseif spellId == 401133 and args:IsPlayer() then
|
||
|
|
--timerWildShiftCD:Start(10, 1)--TODO verify first one happens after 10 seconds and not immediately
|
||
|
|
--timerWildShiftCD:Start(20, 2)
|
||
|
|
--timerWildShiftCD:Start(30, 3)
|
||
|
|
elseif spellId == 401134 and args:IsPlayer() then
|
||
|
|
--timerChaosDanceCD:Start(6, 1)--TODO verify first one happens after 6 seconds and not immediately
|
||
|
|
--timerChaosDanceCD:Start(12, 2)
|
||
|
|
--timerChaosDanceCD:Start(18, 3)
|
||
|
|
--timerChaosDanceCD:Start(24, 4)
|
||
|
|
--timerChaosDanceCD:Start(30, 5)
|
||
|
|
elseif spellId == 401135 and args:IsPlayer() then
|
||
|
|
--timerWildBreathCD:Start(6, 1)--TODO verify first one happens after 6 seconds and not immediately
|
||
|
|
--timerWildBreathCD:Start(12, 2)
|
||
|
|
--timerWildBreathCD:Start(18, 3)
|
||
|
|
--timerWildBreathCD:Start(24, 4)
|
||
|
|
--timerWildBreathCD:Start(30, 5)
|
||
|
|
elseif spellId == 404565 and args:IsDestTypePlayer() then
|
||
|
|
warnDesperateScream:CombinedShow(0.3, args.destName)
|
||
|
|
-- elseif spellId == 407728 and not args:IsPlayer() then
|
||
|
|
-- specWarnSunderShadowSwap:Show(args.destName)
|
||
|
|
-- specWarnSunderShadowSwap:Play("tauntboss")
|
||
|
|
end
|
||
|
|
end
|
||
|
|
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
|
||
|
|
|
||
|
|
function mod:SPELL_AURA_REMOVED(args)
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 407182 then
|
||
|
|
if self.Options.SetIconOnRushingShadows then
|
||
|
|
self:SetIcon(args.destName, 0)
|
||
|
|
end
|
||
|
|
if args:IsPlayer() then
|
||
|
|
yellRushingShadowsFades:Cancel()
|
||
|
|
end
|
||
|
|
elseif spellId == 407088 and self.vb.phase == 2 then
|
||
|
|
self:SetStage(3)
|
||
|
|
timerCorruptionCD:Stop()
|
||
|
|
timerAnnihilatingShadowsCD:Stop()
|
||
|
|
timerSweepingShadowsCD:Stop()
|
||
|
|
timerSunderShadowCD:Stop()
|
||
|
|
timerCalamitousStrikeCD:Start(3)
|
||
|
|
timerRushingShadowsCD:Start(3)
|
||
|
|
timerEbonDestructionCD:Start(3)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName)
|
||
|
|
if (spellId == 409058 or spellId == 404277 or spellId == 409183) and destGUID == UnitGUID("player") and self:AntiSpam(2, 4) then
|
||
|
|
specWarnGTFO:Show(spellName)
|
||
|
|
specWarnGTFO:Play("watchfeet")
|
||
|
|
end
|
||
|
|
end
|
||
|
|
mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE
|
||
|
|
|
||
|
|
--[[
|
||
|
|
function mod:UNIT_DIED(args)
|
||
|
|
local cid = self:GetCIDFromGUID(args.destGUID)
|
||
|
|
if cid == 199233 then
|
||
|
|
|
||
|
|
end
|
||
|
|
end
|
||
|
|
--]]
|
||
|
|
|
||
|
|
--function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
|
||
|
|
-- if spellId == 396734 then
|
||
|
|
--
|
||
|
|
-- end
|
||
|
|
--end
|