|
|
|
|
local mod = DBM:NewMod(2523, "DBM-Aberrus", nil, 1208)
|
|
|
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
|
|
|
|
|
|
mod:SetRevision("20230411014105")
|
|
|
|
|
mod:SetCreatureID(203133)
|
|
|
|
|
mod:SetEncounterID(2684)
|
|
|
|
|
mod:SetUsedIcons(1, 2, 3, 4, 5, 6)
|
|
|
|
|
mod:SetHotfixNoticeRev(20230409000000)
|
|
|
|
|
--mod:SetMinSyncRevision(20221215000000)
|
|
|
|
|
--mod.respawnTime = 29
|
|
|
|
|
|
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
|
|
|
|
|
|
mod:RegisterEventsInCombat(
|
|
|
|
|
"SPELL_CAST_START 402902 407207 401480 409241 403272 406222 403057 401101 407790 407796 407936 407917 405436 405434 405433 404038 409313",
|
|
|
|
|
"SPELL_CAST_SUCCESS 407917 410968",
|
|
|
|
|
"SPELL_AURA_APPLIED 407182 401998 408131 405484 407728 407919 410966",
|
|
|
|
|
"SPELL_AURA_APPLIED_DOSE 408131",
|
|
|
|
|
"SPELL_AURA_REMOVED 407182 405484 407088 407919 410966",
|
|
|
|
|
"SPELL_PERIODIC_DAMAGE 409058 404277 409183",
|
|
|
|
|
"SPELL_PERIODIC_MISSED 409058 404277 409183",
|
|
|
|
|
-- "UNIT_DIED"
|
|
|
|
|
"UNIT_SPELLCAST_SUCCEEDED boss1"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
(ability.id = 402902 or ability.id = 409313 or ability.id = 401480 or ability.id = 409241 or ability.id = 401480 or ability.id = 403272 or ability.id = 406222 or ability.id = 407790 or ability.id = 403057
|
|
|
|
|
or ability.id = 401101 or ability.id = 405436 or ability.id = 405434 or ability.id = 405433 or ability.id = 405433 or ability.id = 404038 or ability.id = 403528 or ability.id = 407796
|
|
|
|
|
or ability.id = 407936 or ability.id = 407917 or ability.id = 407207) and type = "begincast"
|
|
|
|
|
or ability.id = 407088 and (type = "applybuff" or type = "removebuff")
|
|
|
|
|
or ability.id = 405484 and type = "applydebuff"
|
|
|
|
|
--]]
|
|
|
|
|
--TODO, delete redundant/incorrect events when real events known
|
|
|
|
|
--TODO, Add shatter? https://www.wowhead.com/ptr/spell=401825/shatter
|
|
|
|
|
--TODO, revisit heroic timers since it was so bugged that normal is trusted more than heroic was, for now
|
|
|
|
|
--Stage One: The Earth Warder
|
|
|
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(26192))
|
|
|
|
|
--local warnTwistedEarth = mod:NewCountAnnounce(402902, 2)
|
|
|
|
|
local warnVolcanicHeart = mod:NewTargetCountAnnounce(410953, 2)
|
|
|
|
|
local warnRushingDarkness = mod:NewTargetCountAnnounce(407221, 2)
|
|
|
|
|
|
|
|
|
|
local specWarnVolcanicHeart = mod:NewSpecialWarningMoveAway(410953, nil, nil, nil, 1, 2)
|
|
|
|
|
local yellVolcanicHeart = mod:NewShortPosYell(410953)
|
|
|
|
|
local yellVolcanicHeartFades = mod:NewIconFadesYell(410953)
|
|
|
|
|
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 specWarnRushingDarkness = mod:NewSpecialWarningDodgeCount(402116, nil, nil, nil, 2, 2)
|
|
|
|
|
local yellRushingDarkness = mod:NewShortPosYell(402116)
|
|
|
|
|
local yellRushingDarknessFades = 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 timerVolcanicHeartCD = mod:NewCDCountTimer(26.2, 410953, nil, nil, nil, 3)
|
|
|
|
|
local timerTwistedEarthCD = mod:NewCDCountTimer(26.2, 402902, nil, nil, nil, 3)
|
|
|
|
|
local timerEchoingFissureCD = mod:NewCDCountTimer(33.6, 402116, nil, nil, nil, 2)
|
|
|
|
|
local timerRushingDarknessCD = mod:NewCDCountTimer(33.6, 407221, nil, nil, nil, 3)
|
|
|
|
|
local timerCalamitousStrikeCD = mod:NewCDCountTimer(33.6, 406222, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
|
|
|
|
--local berserkTimer = mod:NewBerserkTimer(600)
|
|
|
|
|
|
|
|
|
|
--mod:AddRangeFrameOption(5, 390715)
|
|
|
|
|
mod:AddSetIconOption("SetIconOnVolcanicHeart", 410953, true, 0, {1, 2, 3})
|
|
|
|
|
mod:AddSetIconOption("SetIconOnRushingDarkness", 407221, true, 0, {4, 5, 6})
|
|
|
|
|
--mod:AddNamePlateOption("NPAuraOnAscension", 385541)
|
|
|
|
|
|
|
|
|
|
--Stage Two: Corruption Takes Hold
|
|
|
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(26421))
|
|
|
|
|
local warnSurrendertoCorruption = mod:NewSpellAnnounce(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))
|
|
|
|
|
local warnCorruption = mod:NewTargetCountAnnounce(401010, 3)--Class Call Parent
|
|
|
|
|
local warnShadowShadowStrike = mod:NewCastAnnounce(407796, 2, nil, nil, "Tank|Healer")
|
|
|
|
|
|
|
|
|
|
local specWarnRazetheEarth = mod:NewSpecialWarningDodge(409313, nil, nil, nil, 2, 2)
|
|
|
|
|
local specWarnCorruption = mod:NewSpecialWarningYou(401010, nil, nil, nil, 1, 2)
|
|
|
|
|
local yellCorruption = mod:NewShortYell(401010)
|
|
|
|
|
local specWarnUmbralAnnihilation = 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:NewCDCountTimer(43.4, 401010, nil, nil, nil, 5)--Parent
|
|
|
|
|
local timerUmbralAnnihilationCD = mod:NewCDCountTimer(29.2, 404038, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON)
|
|
|
|
|
local timerSunderShadowCD = mod:NewCDCountTimer(28.2, 407790, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
|
|
|
|
|
|
|
|
|
--Stage Three: Reality Fractures
|
|
|
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(26422))
|
|
|
|
|
local warnSunderReality = mod:NewCastAnnounce(407936, 2)
|
|
|
|
|
|
|
|
|
|
local specWarnEbonDestruction = mod:NewSpecialWarningCount(407917, nil, nil, nil, 2, 2)
|
|
|
|
|
local specWarnEbonDestructionMove = mod:NewSpecialWarningMoveTo(407917, nil, nil, nil, 3, 2)
|
|
|
|
|
|
|
|
|
|
local timerSunderRealityCD = mod:NewCDCountTimer(29.1, 407936, nil, nil, nil, 5)
|
|
|
|
|
local timerEbonDestructionCD = mod:NewCDCountTimer(29.2, 407917, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON)
|
|
|
|
|
|
|
|
|
|
mod:AddInfoFrameOption(407919, true)
|
|
|
|
|
|
|
|
|
|
--General
|
|
|
|
|
mod.vb.tankCount = 0
|
|
|
|
|
--P1
|
|
|
|
|
mod.vb.volcanicCount = 0
|
|
|
|
|
mod.vb.twistedEarthCount = 0
|
|
|
|
|
mod.vb.fissureCount = 0
|
|
|
|
|
mod.vb.RushingDarknessCount = 0
|
|
|
|
|
mod.vb.volcIcon = 1
|
|
|
|
|
mod.vb.rushingIcon = 4
|
|
|
|
|
--P2
|
|
|
|
|
mod.vb.corruptionCount = 0
|
|
|
|
|
mod.vb.annihilatingCount = 0
|
|
|
|
|
--P3
|
|
|
|
|
mod.vb.sunderRealityCount = 0
|
|
|
|
|
mod.vb.ebonCount = 0
|
|
|
|
|
local realityName = DBM:GetSpellInfo(407919)
|
|
|
|
|
local playerReality = false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local function checkRealityOnSelf(self)
|
|
|
|
|
if not playerReality then
|
|
|
|
|
specWarnEbonDestructionMove:Show(realityName)
|
|
|
|
|
specWarnEbonDestructionMove:Play("findshelter")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function mod:OnCombatStart(delay)
|
|
|
|
|
self:SetStage(1)
|
|
|
|
|
self.vb.tankCount = 0
|
|
|
|
|
self.vb.volcanicCount = 0
|
|
|
|
|
self.vb.twistedEarthCount = 0
|
|
|
|
|
self.vb.fissureCount = 0
|
|
|
|
|
self.vb.RushingDarknessCount = 0
|
|
|
|
|
self.vb.corruptionCount = 0
|
|
|
|
|
self.vb.annihilatingCount = 0
|
|
|
|
|
self.vb.sunderRealityCount = 0
|
|
|
|
|
self.vb.ebonCount = 0
|
|
|
|
|
playerReality = false
|
|
|
|
|
-- timerTwistedEarthCD:Start(1-delay)--Used 2 sec into pull
|
|
|
|
|
timerVolcanicHeartCD:Start(16-delay, 1)
|
|
|
|
|
timerRushingDarknessCD:Start(10.8-delay, 1)
|
|
|
|
|
timerCalamitousStrikeCD:Start(24.3-delay, 1)
|
|
|
|
|
timerEchoingFissureCD:Start(30.4-delay, 1)
|
|
|
|
|
-- 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--2 and 3 confirmed, 1 unknown
|
|
|
|
|
self.vb.twistedEarthCount = self.vb.twistedEarthCount + 1
|
|
|
|
|
specWarnTwistedEarth:Show(self.vb.twistedEarthCount)
|
|
|
|
|
specWarnTwistedEarth:Play("watchstep")
|
|
|
|
|
--if spellId == 401480 then--first cast
|
|
|
|
|
-- timerTwistedEarthCD:Start(30, 2)
|
|
|
|
|
--else
|
|
|
|
|
-- if self.vb.twistedEarthCount % 2 == 0 then
|
|
|
|
|
-- timerTwistedEarthCD:Start(35, self.vb.twistedEarthCount+1)
|
|
|
|
|
-- else
|
|
|
|
|
-- timerTwistedEarthCD:Start(26.2, self.vb.twistedEarthCount+1)
|
|
|
|
|
-- end
|
|
|
|
|
--end
|
|
|
|
|
elseif spellId == 403272 then
|
|
|
|
|
self.vb.fissureCount = self.vb.fissureCount + 1
|
|
|
|
|
specWarnEchoingFissure:Show(self.vb.fissureCount)
|
|
|
|
|
specWarnEchoingFissure:Play("justrun")
|
|
|
|
|
timerEchoingFissureCD:Start(nil, self.vb.fissureCount+1)
|
|
|
|
|
elseif spellId == 406222 then
|
|
|
|
|
self.vb.tankCount = self.vb.tankCount + 1
|
|
|
|
|
if self:IsTanking("player", nil, nil, true, args.sourceGUID) then
|
|
|
|
|
specWarnCalamitousStrike:Show()
|
|
|
|
|
specWarnCalamitousStrike:Play("defensive")
|
|
|
|
|
end
|
|
|
|
|
timerCalamitousStrikeCD:Start(self.vb.phase == 1 and 33.6 or 29.2, self.vb.tankCount+1)
|
|
|
|
|
elseif spellId == 407790 then
|
|
|
|
|
self.vb.tankCount = self.vb.tankCount + 1
|
|
|
|
|
if self:IsTanking("player", nil, nil, true, args.sourceGUID) then
|
|
|
|
|
specWarnSunderShadow:Show()
|
|
|
|
|
specWarnSunderShadow:Play("defensive")
|
|
|
|
|
end
|
|
|
|
|
timerSunderShadowCD:Start(nil, self.vb.tankCount+1)
|
|
|
|
|
elseif spellId == 401101 and self:AntiSpam(5, 2) then--Basically second and later corruptions
|
|
|
|
|
self.vb.corruptionCount = self.vb.corruptionCount + 1
|
|
|
|
|
timerCorruptionCD:Start(nil, self.vb.corruptionCount+1)
|
|
|
|
|
elseif args:IsSpellID(405436, 405434, 405433, 404038) then--10, 7.5, 5, 2.5 (405433 used on heroic AND normal, others used?)
|
|
|
|
|
self.vb.annihilatingCount = self.vb.annihilatingCount + 1
|
|
|
|
|
specWarnUmbralAnnihilation:Show(self.vb.annihilatingCount)
|
|
|
|
|
specWarnUmbralAnnihilation:Play("aesoon")
|
|
|
|
|
if self.vb.annihilatingCount >= 5 then
|
|
|
|
|
timerUmbralAnnihilationCD:Start(10.9, self.vb.annihilatingCount+1)
|
|
|
|
|
else
|
|
|
|
|
timerUmbralAnnihilationCD:Start(29.2, self.vb.annihilatingCount+1)
|
|
|
|
|
end
|
|
|
|
|
elseif spellId == 407796 then
|
|
|
|
|
warnShadowShadowStrike:Show()
|
|
|
|
|
elseif spellId == 407936 then
|
|
|
|
|
self.vb.sunderRealityCount = self.vb.sunderRealityCount + 1
|
|
|
|
|
warnSunderReality:Show()
|
|
|
|
|
timerSunderRealityCD:Start(nil, self.vb.sunderRealityCount+1)
|
|
|
|
|
elseif spellId == 407917 then
|
|
|
|
|
self.vb.ebonCount = self.vb.ebonCount + 1
|
|
|
|
|
specWarnEbonDestruction:Show(self.vb.ebonCount)
|
|
|
|
|
specWarnEbonDestruction:Play("findshelter")
|
|
|
|
|
timerEbonDestructionCD:Start(nil, self.vb.ebonCount+1)
|
|
|
|
|
if self.Options.InfoFrame then
|
|
|
|
|
DBM.InfoFrame:SetHeader(DBM_COMMON_L.NO_DEBUFF:format(realityName))
|
|
|
|
|
DBM.InfoFrame:Show(5, "playerrealityName", 407919)
|
|
|
|
|
end
|
|
|
|
|
elseif spellId == 407207 then
|
|
|
|
|
self.vb.RushingDarknessCount = self.vb.RushingDarknessCount + 1
|
|
|
|
|
self.vb.rushingIcon = 4
|
|
|
|
|
timerRushingDarknessCD:Start(self.vb.phase == 1 and 33.6 or 28, self.vb.RushingDarknessCount+1)
|
|
|
|
|
elseif spellId == 409313 then--Intermission 1.5
|
|
|
|
|
specWarnRazetheEarth:Show()
|
|
|
|
|
specWarnRazetheEarth:Play("watchstep")
|
|
|
|
|
timerTwistedEarthCD:Stop()
|
|
|
|
|
timerEchoingFissureCD:Stop()
|
|
|
|
|
timerRushingDarknessCD:Stop()
|
|
|
|
|
timerCalamitousStrikeCD:Stop()
|
|
|
|
|
timerVolcanicHeartCD:Stop()
|
|
|
|
|
timerCorruptionCD:Start(6.9, 1)--Time to p2 surrender to corruption cast
|
|
|
|
|
elseif spellId == 403057 then--Surrender To Corruption
|
|
|
|
|
self.vb.corruptionCount = self.vb.corruptionCount + 1--Counts as first corruption cast
|
|
|
|
|
warnSurrendertoCorruption:Show()
|
|
|
|
|
self:SetStage(2)
|
|
|
|
|
self.vb.volcanicCount = 0
|
|
|
|
|
self.vb.RushingDarknessCount = 0
|
|
|
|
|
timerSunderShadowCD:Start(14.8, 1)
|
|
|
|
|
timerVolcanicHeartCD:Start(20.7, 1)
|
|
|
|
|
timerUmbralAnnihilationCD:Start(25.8, 1)
|
|
|
|
|
timerRushingDarknessCD:Start(31.9, 1)
|
|
|
|
|
timerCorruptionCD:Start(44.3, 2)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
|
|
|
local spellId = args.spellId
|
|
|
|
|
if spellId == 407917 then
|
|
|
|
|
if self.Options.InfoFrame then
|
|
|
|
|
DBM.InfoFrame:Hide()
|
|
|
|
|
end
|
|
|
|
|
elseif spellId == 410968 then
|
|
|
|
|
self.vb.volcIcon = 1
|
|
|
|
|
self.vb.volcanicCount = self.vb.volcanicCount + 1
|
|
|
|
|
timerVolcanicHeartCD:Start(self.vb.phase == 1 and 33.6 or 16.3, self.vb.volcanicCount+1)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
|
|
|
local spellId = args.spellId
|
|
|
|
|
if spellId == 407182 then
|
|
|
|
|
local icon = self.vb.rushingIcon
|
|
|
|
|
if self.Options.SetIconOnRushingDarkness then
|
|
|
|
|
self:SetIcon(args.destName, icon)
|
|
|
|
|
end
|
|
|
|
|
if args:IsPlayer() then
|
|
|
|
|
specWarnRushingDarkness:Show()
|
|
|
|
|
specWarnRushingDarkness:Play("targetyou")
|
|
|
|
|
yellRushingDarkness:Yell(icon, icon)
|
|
|
|
|
yellRushingDarknessFades:Countdown(spellId, nil, icon)
|
|
|
|
|
end
|
|
|
|
|
warnRushingDarkness:CombinedShow(0.3, self.vb.RushingDarknessCount, args.destName)
|
|
|
|
|
self.vb.rushingIcon = self.vb.rushingIcon + 1
|
|
|
|
|
elseif spellId == 410966 then
|
|
|
|
|
local icon = self.vb.volcIcon
|
|
|
|
|
if self.Options.SetIconOnVolcanicHeart then
|
|
|
|
|
self:SetIcon(args.destName, icon)
|
|
|
|
|
end
|
|
|
|
|
if args:IsPlayer() then
|
|
|
|
|
specWarnVolcanicHeart:Show()--DBM_COMMON_L.BREAK_LOS
|
|
|
|
|
if self:IsMythic() then
|
|
|
|
|
--Raid wide, must break LOS
|
|
|
|
|
specWarnVolcanicHeart:Play("breaklos")
|
|
|
|
|
else
|
|
|
|
|
--5 yard range, just spread
|
|
|
|
|
specWarnVolcanicHeart:Play("range5")
|
|
|
|
|
end
|
|
|
|
|
yellVolcanicHeart:Yell(icon, icon)
|
|
|
|
|
yellVolcanicHeartFades:Countdown(spellId, nil, icon)
|
|
|
|
|
end
|
|
|
|
|
warnVolcanicHeart:CombinedShow(0.3, self.vb.volcanicCount, args.destName)
|
|
|
|
|
self.vb.volcIcon = self.vb.volcIcon + 1
|
|
|
|
|
elseif spellId == 401998 and not args:IsPlayer() then
|
|
|
|
|
specWarnCalamitousStrikeSwap:Show(args.destName)
|
|
|
|
|
specWarnCalamitousStrikeSwap:Play("tauntboss")
|
|
|
|
|
elseif spellId == 408131 and args:IsPlayer() then
|
|
|
|
|
warnRupturedVeil:Cancel()
|
|
|
|
|
warnRupturedVeil:Schedule(1, args.amount or 1)
|
|
|
|
|
elseif spellId == 405484 then
|
|
|
|
|
warnCorruption:CombinedShow(0.3, args.destName)
|
|
|
|
|
if args:IsPlayer() then
|
|
|
|
|
specWarnCorruption:Show()
|
|
|
|
|
specWarnCorruption:Play("targetyou")
|
|
|
|
|
yellCorruption:Yell()
|
|
|
|
|
end
|
|
|
|
|
elseif spellId == 407728 and not args:IsPlayer() then
|
|
|
|
|
specWarnSunderShadowSwap:Show(args.destName)
|
|
|
|
|
specWarnSunderShadowSwap:Play("tauntboss")
|
|
|
|
|
elseif spellId == 407919 and args:IsPlayer() then
|
|
|
|
|
playerReality = true
|
|
|
|
|
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.SetIconOnRushingDarkness then
|
|
|
|
|
self:SetIcon(args.destName, 0)
|
|
|
|
|
end
|
|
|
|
|
if args:IsPlayer() then
|
|
|
|
|
yellRushingDarknessFades:Cancel()
|
|
|
|
|
end
|
|
|
|
|
elseif spellId == 410966 then
|
|
|
|
|
if self.Options.SetIconOnVolcanicHeart then
|
|
|
|
|
self:SetIcon(args.destName, 0)
|
|
|
|
|
end
|
|
|
|
|
if args:IsPlayer() then
|
|
|
|
|
yellVolcanicHeartFades:Cancel()
|
|
|
|
|
end
|
|
|
|
|
elseif spellId == 407088 and self.vb.phase == 2 then
|
|
|
|
|
self:SetStage(3)
|
|
|
|
|
self.vb.RushingDarknessCount = 0
|
|
|
|
|
self.vb.tankCount = 0
|
|
|
|
|
timerCorruptionCD:Stop()
|
|
|
|
|
timerUmbralAnnihilationCD:Stop()
|
|
|
|
|
timerSunderShadowCD:Stop()
|
|
|
|
|
timerRushingDarknessCD:Stop()
|
|
|
|
|
timerVolcanicHeartCD:Stop()
|
|
|
|
|
timerSunderRealityCD:Start(19.9, 1)
|
|
|
|
|
timerRushingDarknessCD:Start(26, 1)
|
|
|
|
|
timerCalamitousStrikeCD:Start(34.5, 1)
|
|
|
|
|
timerEbonDestructionCD:Start(40.5, 1)
|
|
|
|
|
elseif spellId == 407919 and args:IsPlayer() then
|
|
|
|
|
playerReality = false
|
|
|
|
|
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 == 410977 and self:AntiSpam(5, 2) then
|
|
|
|
|
self.vb.corruptionCount = self.vb.corruptionCount + 1
|
|
|
|
|
timerCorruptionCD:Start(nil, self.vb.corruptionCount+1)
|
|
|
|
|
end
|
|
|
|
|
end
|