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.
413 lines
18 KiB
413 lines
18 KiB
local mod = DBM:NewMod(1207, "DBM-Party-WoD", 5, 556)
|
|
local L = mod:GetLocalizedStrings()
|
|
local wowToc = DBM:GetTOC()
|
|
|
|
mod.statTypes = "normal,heroic,mythic,challenge,timewalker"
|
|
|
|
if (wowToc >= 100200) then
|
|
mod.upgradedMPlus = true
|
|
end
|
|
|
|
mod:SetRevision("20231202060931")
|
|
mod:SetCreatureID(83894, 83892, 83893)--Dulhu 83894, Gola 83892, Telu 83893
|
|
mod:SetEncounterID(1757)
|
|
mod:SetHotfixNoticeRev(20231021000000)
|
|
mod:SetMinSyncRevision(20231021000000)
|
|
mod:SetBossHPInfoToHighest()
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
if (wowToc >= 100200) then
|
|
--Patch 10.2 or later
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 168082 427498 427459 427509",
|
|
"SPELL_CAST_SUCCESS 427510",
|
|
"SPELL_AURA_APPLIED 168082 427510",
|
|
-- "SPELL_AURA_APPLIED_DOSE",
|
|
-- "SPELL_AURA_REMOVED",
|
|
-- "SPELL_AURA_REMOVED_DOSE",
|
|
-- "SPELL_PERIODIC_DAMAGE",
|
|
-- "SPELL_PERIODIC_MISSED",
|
|
"UNIT_DIED"
|
|
-- "UNIT_SPELLCAST_SUCCEEDED boss1"
|
|
)
|
|
--[[
|
|
(ability.id = 168082 or ability.id = 427498 or ability.id = 427459 or ability.id = 427509) and type = "begincast"
|
|
or ability.id = 427510 and type = "cast"
|
|
or (target.id = 83894 or target.id = 83892 or target.id = 83893) and type = "death"
|
|
or type = "dungeonencounterstart" or type = "dungeonencounterend"
|
|
--]]
|
|
--General
|
|
--local specWarnGTFO = mod:NewSpecialWarningGTFO(409058, nil, nil, nil, 1, 8)
|
|
--Life Warden Gola
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(10409))
|
|
local warnTorrentialFury = mod:NewCountAnnounce(427498, 4)
|
|
|
|
local specWarnRevitalize = mod:NewSpecialWarningInterruptCount(168082, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnRevitalizeDispel = mod:NewSpecialWarningDispel(168082, "MagicDispeller", nil, nil, 1, 2)
|
|
|
|
local timerRevitalizeCD = mod:NewCDCountTimer(17, 168082, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)
|
|
local timerTorrentialFuryCD = mod:NewCDCountTimer(50.9, 427498, nil, nil, nil, 2)
|
|
--Earthshaper Telu
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(10413))
|
|
local warnTerrestrialFury = mod:NewCountAnnounce(427509, 4)
|
|
|
|
local specWarnToxicBloom = mod:NewSpecialWarningInterruptCount(427459, "HasInterrupt", nil, nil, 1, 2)
|
|
|
|
local timerToxicBloomCD = mod:NewCDCountTimer(17, 427459, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)
|
|
local timerTerrestrialFuryCD = mod:NewCDCountTimer(50.9, 427509, nil, nil, nil, 2)
|
|
--Dulhu
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(10417))
|
|
local warnNoxiousCharge = mod:NewTargetNoFilterAnnounce(427510, 3)
|
|
|
|
local specWarnNoxiousCharge = mod:NewSpecialWarningYou(427510, nil, nil, nil, 3, 2)
|
|
local yellNoxiousCharge = mod:NewShortYell(427510)
|
|
|
|
local timerNoxiousChargeCD = mod:NewCDCountTimer(16.2, 427510, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
|
|
|
mod.vb.revitalizeCount = 0
|
|
mod.vb.torrentialCount = 0
|
|
mod.vb.bloomCount = 0
|
|
mod.vb.terrestrialCount = 0
|
|
mod.vb.chargeCount = 0
|
|
mod.vb.golaDead = false
|
|
mod.vb.teluDead = false
|
|
mod.vb.golaGUID = nil
|
|
mod.vb.teluGUID = nil
|
|
|
|
--Delay used to get boss GUIDs before initial timers so timers can be assigned to correct nameplates on engage
|
|
local function scanBosses(self, delay)
|
|
for i = 1, 3 do
|
|
local unitID = "boss"..i
|
|
if UnitExists(unitID) then
|
|
local cid = self:GetUnitCreatureId(unitID)
|
|
local bossGUID = UnitGUID(unitID)
|
|
--All timers obviously -1
|
|
if cid == 83894 then--Dulhu
|
|
timerNoxiousChargeCD:Start(11.1, 1, bossGUID)
|
|
elseif cid == 83892 then--Gola
|
|
self.vb.golaGUID = bossGUID
|
|
--timerRevitalizeCD:Start(30.5, 1, bossGUID)--Not started here, because Torrential triggers it's 30.3 reset when it's cast
|
|
--timerTorrentialFuryCD:Start(1, bossGUID)--Cast on engage pretty much
|
|
else--Telu
|
|
self.vb.teluGUID = bossGUID
|
|
timerToxicBloomCD:Start(5, 1, bossGUID)
|
|
timerTerrestrialFuryCD:Start(25.6, 1, bossGUID)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:OnCombatStart(delay)
|
|
self.vb.revitalizeCount = 0
|
|
self.vb.torrentialCount = 0
|
|
self.vb.bloomCount = 0
|
|
self.vb.terrestrialCount = 0
|
|
self.vb.chargeCount = 0
|
|
self.vb.golaDead = false
|
|
self.vb.teluDead = false
|
|
self.vb.golaGUID = nil
|
|
self.vb.teluGUID = nil
|
|
self:Schedule(1, scanBosses, self, delay)--1 second delay to give IEEU time to populate boss guids
|
|
end
|
|
|
|
--function mod:OnCombatEnd()
|
|
-- if self.Options.RangeFrame then
|
|
-- DBM.RangeCheck:Hide()
|
|
-- end
|
|
--end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 168082 then
|
|
self.vb.revitalizeCount = self.vb.revitalizeCount + 1
|
|
local count = self.vb.revitalizeCount
|
|
specWarnRevitalize:Show(args.sourceName, count)
|
|
timerRevitalizeCD:Start(nil, self.vb.revitalizeCount+1, args.sourceGUID)
|
|
if count == 1 then
|
|
specWarnRevitalize:Play("kick1r")
|
|
elseif count == 2 then
|
|
specWarnRevitalize:Play("kick2r")
|
|
elseif count == 3 then
|
|
specWarnRevitalize:Play("kick3r")
|
|
elseif count == 4 then
|
|
specWarnRevitalize:Play("kick4r")
|
|
elseif count == 5 then
|
|
specWarnRevitalize:Play("kick5r")
|
|
else
|
|
specWarnRevitalize:Play("kickcast")
|
|
end
|
|
elseif spellId == 427459 then
|
|
if not self.vb.teluGUID then--In cases of late IEEU and failure to cache guid on engage
|
|
self.vb.teluGUID = args.sourceGUID
|
|
end
|
|
self.vb.bloomCount = self.vb.bloomCount + 1
|
|
local count = self.vb.bloomCount
|
|
specWarnToxicBloom:Show(args.sourceName, count)
|
|
timerToxicBloomCD:Start(nil, self.vb.bloomCount+1, args.sourceGUID)
|
|
if count == 1 then
|
|
specWarnToxicBloom:Play("kick1r")
|
|
elseif count == 2 then
|
|
specWarnToxicBloom:Play("kick2r")
|
|
elseif count == 3 then
|
|
specWarnToxicBloom:Play("kick3r")
|
|
elseif count == 4 then
|
|
specWarnToxicBloom:Play("kick4r")
|
|
elseif count == 5 then
|
|
specWarnToxicBloom:Play("kick5r")
|
|
else
|
|
specWarnToxicBloom:Play("kickcast")
|
|
end
|
|
elseif spellId == 427498 then
|
|
if not self.vb.golaGUID then--In cases of late IEEU and failure to cache guid on engage
|
|
self.vb.golaGUID = args.sourceGUID
|
|
end
|
|
self.vb.torrentialCount = self.vb.torrentialCount + 1
|
|
warnTorrentialFury:Show(self.vb.torrentialCount)
|
|
if not self.vb.teluDead then--Won't be cast again if Telu dead
|
|
timerTorrentialFuryCD:Start(nil, self.vb.torrentialCount+1, args.sourceGUID)
|
|
end
|
|
--Sets Revitalize interrupt timer to 30.3, cleaner than doing it by count and more accurate too
|
|
timerRevitalizeCD:HardStop(args.sourceGUID)
|
|
timerRevitalizeCD:Start(30.3, self.vb.revitalizeCount+1, args.sourceGUID)
|
|
elseif spellId == 427509 then
|
|
self.vb.terrestrialCount = self.vb.terrestrialCount + 1
|
|
warnTerrestrialFury:Show(self.vb.terrestrialCount)
|
|
if not self.vb.golaDead then--Won't be cast again if gola is dead
|
|
timerTerrestrialFuryCD:Start(nil, self.vb.terrestrialCount+1, args.sourceGUID)
|
|
end
|
|
--Sets bloom interrupt timer to 30.3, cleaner than doing it by count and more accurate too
|
|
timerToxicBloomCD:HardStop(args.sourceGUID)
|
|
timerToxicBloomCD:Start(30.3, self.vb.bloomCount+1, args.sourceGUID)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
local spellId = args.spellId
|
|
if spellId == 427510 then
|
|
self.vb.chargeCount = self.vb.chargeCount + 1
|
|
timerNoxiousChargeCD:Start(nil, self.vb.chargeCount+1, args.sourceGUID)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 168082 then
|
|
specWarnRevitalizeDispel:Show(args.destName)
|
|
specWarnRevitalizeDispel:Play("dispelboss")
|
|
elseif spellId == 427510 then
|
|
if args:IsPlayer() then
|
|
specWarnNoxiousCharge:Show()
|
|
specWarnNoxiousCharge:Play("targetyou")
|
|
yellNoxiousCharge:Yell()
|
|
else
|
|
warnNoxiousCharge:Show(args.destName)
|
|
end
|
|
end
|
|
end
|
|
|
|
--[[
|
|
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName)
|
|
if spellId == 409058 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 == 83892 then--Gola
|
|
self.vb.golaDead = true
|
|
timerRevitalizeCD:HardStop(args.destGUID)
|
|
timerTorrentialFuryCD:HardStop(args.destGUID)
|
|
--Also stops Terrestrial Fury CD timer
|
|
timerTerrestrialFuryCD:HardStop(self.vb.teluGUID)
|
|
elseif cid == 83893 then--Telu
|
|
self.vb.teluDead = true
|
|
timerToxicBloomCD:HardStop(args.destGUID)
|
|
--Does a unique reset on Revitalize
|
|
--https://www.warcraftlogs.com/reports/kZAbmPhKT3vjdtw6#fight=last&pins=2%24Off%24%23244F4B%24expression%24%09(ability.id%20%3D%20168082%20or%20ability.id%20%3D%20427498%20or%20ability.id%20%3D%20427459%20or%20ability.id%20%3D%20427509)%20and%20type%20%3D%20%22begincast%22%20%09%20or%20ability.id%20%3D%20427510%20and%20type%20%3D%20%22cast%22%20%09%20or%20(target.id%20%3D%2083894%20or%20target.id%20%3D%2083892%20or%20target.id%20%3D%2083893)%20and%20type%20%3D%20%22death%22%20%09%20or%20type%20%3D%20%22dungeonencounterstart%22%20or%20type%20%3D%20%22dungeonencounterend%22&view=events
|
|
--https://www.warcraftlogs.com/reports/k41D2nZAtFbwTj6Q#fight=18&pins=2%24Off%24%23244F4B%24expression%24%09(ability.id%20%3D%20168082%20or%20ability.id%20%3D%20427498%20or%20ability.id%20%3D%20427459%20or%20ability.id%20%3D%20427509)%20and%20type%20%3D%20%22begincast%22%20%09%20or%20ability.id%20%3D%20427510%20and%20type%20%3D%20%22cast%22%20%09%20or%20(target.id%20%3D%2083894%20or%20target.id%20%3D%2083892%20or%20target.id%20%3D%2083893)%20and%20type%20%3D%20%22death%22%20%09%20or%20type%20%3D%20%22dungeonencounterstart%22%20or%20type%20%3D%20%22dungeonencounterend%22&view=events
|
|
--https://www.warcraftlogs.com/reports/6tyz9wfYHb3jFD8m#fight=7&pins=2%24Off%24%23244F4B%24expression%24%09(ability.id%20%3D%20168082%20or%20ability.id%20%3D%20427498%20or%20ability.id%20%3D%20427459%20or%20ability.id%20%3D%20427509)%20and%20type%20%3D%20%22begincast%22%20%09%20or%20ability.id%20%3D%20427510%20and%20type%20%3D%20%22cast%22%20%09%20or%20(target.id%20%3D%2083894%20or%20target.id%20%3D%2083892%20or%20target.id%20%3D%2083893)%20and%20type%20%3D%20%22death%22%20%09%20or%20type%20%3D%20%22dungeonencounterstart%22%20or%20type%20%3D%20%22dungeonencounterend%22&view=events
|
|
--[[
|
|
--Below extrapolation is only scenario that works for all 3 pulls but seems pretty extreme even for blizzard
|
|
--Here is the work
|
|
8.8 remaining CD on death for revitalize (As determined by last Torentail cast and 30.3 rule)
|
|
Next revitalized was cast 41.6 after telu death
|
|
Time Added 32.8 (doesn't match other pulls, not the answer)
|
|
29.549 remaining on Torential (also not the answer)
|
|
29.549+8.8 = 38.349 (falls short of target goal by bigger margin than I'd accept)
|
|
+2.8 for remaining CD on terrential = 41.1. 41.1 lands within margin of error for 41.6 (~0.5)
|
|
|
|
4 remaining on revitalize cd on death (As determined by last Torentail cast and 30.3 rule)
|
|
Next Revitalize was cast 29.6 after telu death
|
|
Time Added 25.6 (doesn't match other pulls, not the answer)
|
|
24.7 Remaining on Torrential (also not the answer)
|
|
24.7+4 = 28.7, (28.7 not to short, but why does it work here and not other 2 pulls)
|
|
+Because 0 remaining CD on Terrential CD. So it was 24.7+4+0. still 28.7 but it's within margin of error for 29.6 (~0.9)
|
|
|
|
11.3 emaining on revitalize cd on death (As determined by last Torentail cast and 30.3 rule)
|
|
Next Revitalize was cast 51.4 after telu death
|
|
Time Added 40.1 (doesn't match other pulls, not the answer)
|
|
32.037 remaining on torrential (also not the answer)
|
|
32+11.3 (43.3 way too short of target margin)
|
|
+6.569 for remaining CD on terrential=49.869 which is within margin of error for 51.4 (~1.5)
|
|
|
|
TL/DR: Revitalize Restarted and set to (time remaining on revitalize) + (time remaining on Terrestrial) + (time remaining on Torrential)
|
|
--]]
|
|
--Leave it to blizzard for some convoluted scripting, but this actually works. It's the ONLY solution that works in all 3 of them
|
|
--TODO, move away from hard pulling frim timers (that user might have disabled) and time stamping last cast of each of these
|
|
if not self.vb.golaDead then
|
|
local torrRemaining = timerTorrentialFuryCD:GetRemaining(self.vb.torrentialCount+1, self.vb.golaGUID)
|
|
local terrRemaining = timerTerrestrialFuryCD:GetRemaining(self.vb.terrestrialCount+1, args.destGUID)
|
|
local revRemaining = timerRevitalizeCD:GetRemaining(self.vb.revitalizeCount+1, self.vb.golaGUID)
|
|
timerRevitalizeCD:HardStop(self.vb.golaGUID)
|
|
if torrRemaining and terrRemaining and revRemaining then
|
|
timerRevitalizeCD:Start(torrRemaining+terrRemaining+revRemaining, self.vb.revitalizeCount+1, self.vb.golaGUID)
|
|
end
|
|
end
|
|
--These timers stopped after I pull data from them for above
|
|
timerTerrestrialFuryCD:HardStop(args.destGUID)
|
|
--Also stops Torrential Fury CD timer
|
|
timerTorrentialFuryCD:HardStop(self.vb.golaGUID)
|
|
elseif cid == 83894 then--Dulhu
|
|
timerNoxiousChargeCD:HardStop(args.destGUID)
|
|
end
|
|
end
|
|
else
|
|
--10.1.7 on retail, and classic if it happens (if it doesn't happen old version of mod will be retired)
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 168082 168041 168105 168383 175997",
|
|
"SPELL_CAST_SUCCESS 168375",
|
|
"SPELL_AURA_APPLIED 168105 168041 168520",
|
|
"SPELL_AURA_REMOVED 168520",
|
|
"SPELL_PERIODIC_DAMAGE 167977",
|
|
"SPELL_ABSORBED 167977",
|
|
"UNIT_DIED"
|
|
)
|
|
|
|
--Timers are too difficult to do, rapidTides messes up any chance of ever having decent timers.
|
|
--TODO, check if timers more stable in DF version, probably not
|
|
--General
|
|
local warnShapersFortitude = mod:NewTargetNoFilterAnnounce(168520, 3)
|
|
|
|
local timerShapersFortitude = mod:NewTargetTimer(8, 168520, nil, false, 2, 5)
|
|
|
|
mod:AddNamePlateOption("NPAuraOnFort", 168520)
|
|
--Life Warden Gola
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(10409))
|
|
local specWarnRevitalizingWaters = mod:NewSpecialWarningInterrupt(168082, "HasInterrupt", nil, 2, 1, 2)
|
|
local specWarnRapidTidesDispel = mod:NewSpecialWarningDispel(168105, "MagicDispeller", nil, nil, 3, 2)
|
|
--Earthshaper Telu
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(10413))
|
|
local specWarnBramble = mod:NewSpecialWarningGTFO(167977, nil, nil, nil, 1, 8)
|
|
local specWarnBriarskin = mod:NewSpecialWarningInterrupt(168041, false, nil, nil, 1, 2)--if you have more than one interruptor, great. but off by default because we can't assume you can interrupt every bosses abilities. and heal takes priority
|
|
local specWarnBriarskinDispel = mod:NewSpecialWarningDispel(168041, false, nil, nil, 1, 2)--Not as important as rapid Tides and to assume you have at least two dispellers is big assumption
|
|
--Dulhu
|
|
mod:AddTimerLine(DBM:EJ_GetSectionInfo(10417))
|
|
local warnGraspingVine = mod:NewTargetNoFilterAnnounce(168375, 2)
|
|
|
|
local specWarnNoxious = mod:NewSpecialWarningRun(175997, nil, nil, 2, 4, 2)
|
|
local specWarnSlash = mod:NewSpecialWarningDodge(168383, nil, nil, nil, 2, 2)
|
|
local yellSlash = mod:NewYell(168383)
|
|
|
|
local timerNoxiousCD = mod:NewCDTimer(16, 175997, nil, "Melee", nil, 2)
|
|
local timerGraspingVineCD = mod:NewNextTimer(30.4, 168375, nil, nil, nil, 3)
|
|
|
|
mod.vb.lastGrasping = nil
|
|
|
|
function mod:OnCombatStart(delay)
|
|
self.vb.lastGrasping = nil
|
|
if self.Options.NPAuraOnFort then
|
|
DBM:FireEvent("BossMod_EnableHostileNameplates")
|
|
end
|
|
end
|
|
|
|
function mod:OnCombatEnd()
|
|
if self.Options.NPAuraOnFort then
|
|
DBM.Nameplate:Hide(true, nil, nil, nil, true, true)
|
|
end
|
|
end
|
|
|
|
function mod:GraspingVineTarget(targetname, uId)
|
|
if not targetname then
|
|
self.vb.lastGrasping = nil
|
|
return
|
|
end
|
|
warnGraspingVine:Show(targetname)
|
|
self.vb.lastGrasping = targetname
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 168082 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnRevitalizingWaters:Show(args.sourceName)
|
|
specWarnRevitalizingWaters:Play("kickcast")
|
|
elseif spellId == 168041 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnBriarskin:Show(args.sourceName)
|
|
specWarnBriarskin:Play("kickcast")
|
|
elseif spellId == 168383 then
|
|
if self.vb.lastGrasping and self.vb.lastGrasping == UnitName("player") then
|
|
yellSlash:Yell()
|
|
else
|
|
specWarnSlash:Show()
|
|
specWarnSlash:Play("watchstep")
|
|
end
|
|
elseif spellId == 175997 then
|
|
specWarnNoxious:Show()
|
|
timerNoxiousCD:Start(nil, args.sourceGUID)
|
|
specWarnNoxious:Play("justrun")
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
if args.spellId == 168375 then
|
|
self:BossTargetScanner(83894, "GraspingVineTarget", 0.05, 10)
|
|
timerGraspingVineCD:Start(nil, args.sourceGUID)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 168105 then
|
|
specWarnRapidTidesDispel:Show(args.destName)
|
|
specWarnRapidTidesDispel:Play("dispelboss")
|
|
elseif spellId == 168041 then
|
|
specWarnBriarskinDispel:Show(args.destName)
|
|
specWarnBriarskinDispel:Play("dispelboss")
|
|
elseif spellId == 168520 then
|
|
warnShapersFortitude:Show(args.destName)
|
|
timerShapersFortitude:Start(args.destName)
|
|
if self.Options.NPAuraOnFort then
|
|
DBM.Nameplate:Show(true, args.destGUID, spellId, nil, 8)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 168520 then
|
|
timerShapersFortitude:Cancel(args.destName)
|
|
if self.Options.NPAuraOnFort then
|
|
DBM.Nameplate:Hide(true, args.destGUID, spellId)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName)
|
|
if spellId == 167977 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then
|
|
specWarnBramble:Show(spellName)
|
|
specWarnBramble:Play("watchfeet")
|
|
end
|
|
end
|
|
mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE
|
|
|
|
function mod:UNIT_DIED(args)
|
|
local cid = self:GetCIDFromGUID(args.destGUID)
|
|
if cid == 83894 then
|
|
timerNoxiousCD:Cancel()
|
|
end
|
|
end
|
|
end
|
|
|