Update to 5.21 Sunwell (#6)
* 5.20 * Update to 5.21 --------- Co-authored-by: Szyler <Szyler@Szyler.com>
This commit is contained in:
@@ -7,63 +7,111 @@ mod:RegisterCombat("yell", L.DBM_GOREFIEND_YELL_PULL)
|
||||
|
||||
mod:RegisterEvents(
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_PERIODIC_DAMAGE",
|
||||
"UNIT_AURA"
|
||||
)
|
||||
|
||||
local warningWitherAndRot = mod:NewSpellAnnounce(2143286, 3)
|
||||
local warningGraspingDeath = mod:NewSpellAnnounce(2143282, 3)
|
||||
local specWarnWitherAndRot = mod:NewSpecialWarningYou(2143282)
|
||||
local warnShadowOfDeath = mod:NewSpellAnnounce(2143264, 2)
|
||||
local warnSoulReaper = mod:NewSpellAnnounce(2143272, 2)
|
||||
|
||||
local timerNextWitherAndRot = mod:NewNextTimer(30, 2143286)
|
||||
local timerNextGraspingDeath = mod:NewNextTimer(30, 2143282)
|
||||
local timerNextShadowofDeath = mod:NewNextTimer(30, 2143264)
|
||||
local timerTargetShadowofDeaths = mod:NewTargetTimer(37, 2143264)
|
||||
local timerTargetShadowofDeath = mod:NewTargetTimer(37, 2143264)
|
||||
local timerTargetShadowofDeath2 = mod:NewTargetTimer(75, 2143264)
|
||||
local timerTargetShadowofDeath3 = mod:NewTargetTimer(75, 2143264)
|
||||
local timerTargetShadowofDeath4 = mod:NewTargetTimer(75, 2143264)
|
||||
local timerTargetShadowofDeath5 = mod:NewTargetTimer(75, 2143264)
|
||||
local timerTargetShadowofDeath6 = mod:NewTargetTimer(75, 2143264)
|
||||
local timerTargetShadowofDeath7 = mod:NewTargetTimer(75, 2143264)
|
||||
local timerTargetShadowofDeath8 = mod:NewTargetTimer(75, 2143264)
|
||||
local timerTargetShadowofDeath9 = mod:NewTargetTimer(75, 2143264)
|
||||
local timerTargetShadowofDeath10= mod:NewTargetTimer(75, 2143264)
|
||||
local timerSoulReaper = mod:NewNextTimer(20, 2143271)
|
||||
|
||||
--Shadow of death has different timer for everyone. First person to expire has to run out.
|
||||
--Would like to add warnings for Teron's soul shards, tracked in a stacking buff on the boss. Spell id 2143255
|
||||
|
||||
local shadowOfDeathName = GetSpellInfo(2143282)
|
||||
-- local shadowOfDeathName = GetSpellInfo(2143282)
|
||||
|
||||
|
||||
function mod:WitherAndRot()
|
||||
self:UnscheduleMethod("WitherAndRot")
|
||||
warningWitherAndRot:Show()
|
||||
timerNextWitherAndRot:Start()
|
||||
self:ScheduleMethod(30, "WitherAndRot")
|
||||
end
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
timerNextWitherAndRot:Start(15-delay)
|
||||
timerNextGraspingDeath:Start(30-delay)
|
||||
timerNextShadowofDeath:Start(10-delay)
|
||||
timerNextGraspingDeath:Start(15-delay)
|
||||
timerSoulReaper:Start(20-delay)
|
||||
self:ScheduleMethod(15, "WitherAndRot")
|
||||
timerNextGraspingDeath:Start(30-delay)
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(2143286, 2143287, 2143288, 2143289) and DBM:AntiSpam(29) then
|
||||
warningWitherAndRot:Show()
|
||||
timerNextWitherAndRot:Start()
|
||||
elseif args:IsSpellID(2143282, 2143283, 2143284, 2143285) and DBM:AntiSpam(29) then
|
||||
if args:IsSpellID(2143286, 2143287, 2143288, 2143289) and DBM:AntiSpam(1) then
|
||||
if args:IsPlayer() then
|
||||
specWarnWitherAndRot:Show()
|
||||
end
|
||||
elseif args:IsSpellID(2143282, 2143283, 2143284, 2143285) and DBM:AntiSpam(1) then
|
||||
warningGraspingDeath:Show()
|
||||
timerNextGraspingDeath:Start()
|
||||
elseif args:IsSpellID(2143264, 2143258, 2143259) and DBM:AntiSpam() then
|
||||
elseif args:IsSpellID(2143264, 2143258, 2143259) then --and DBM:AntiSpam()
|
||||
warnShadowOfDeath:Show()
|
||||
timerNextShadowofDeath:Start()
|
||||
-- timerNextShadowofDeath:Start()
|
||||
-- timerTargetShadowofDeaths:Start()
|
||||
elseif args:IsSpellID(2143271, 2143272, 2143273, 2143274) then
|
||||
warnSoulReaper:Show()
|
||||
timerSoulReaper:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_PERIODIC_DAMAGE(args)
|
||||
if args:IsSpellID(2143286, 2143287, 2143288, 2143289) and DBM:AntiSpam(1) then
|
||||
if args:IsPlayer() then
|
||||
specWarnWitherAndRot:Show()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId
|
||||
-- = UnitAura("unit", index or "name"[, "rank"[, "filter"]])
|
||||
|
||||
function mod:UNIT_AURA(uId)
|
||||
local name = UnitName(uId)
|
||||
if (not name) then return end
|
||||
local spellName, _, _, _, _, duration, expires, _, _, _, spellId = UnitDebuff(uId, shadowOfDeathName)
|
||||
if not spellId or not expires then return end
|
||||
if args:IsSpellID(2143286, 2143287, 2143288, 2143289) and expires > 0 then
|
||||
if expires < 60 then
|
||||
function mod:UNIT_AURA(unit)
|
||||
|
||||
local spellName, _, _, _, _, duration, expires, _, _, _, spellId = UnitDebuff(unit, "Shadow of Death")
|
||||
if spellName == "Shadow of Death" then
|
||||
if not spellId or not expires then return end
|
||||
local name = UnitName(unit)
|
||||
if (not name) then return end
|
||||
expires = expires - GetTime()
|
||||
if expires > 0 then
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath:Start(expires, name)
|
||||
end
|
||||
if expires < 130 and expires > 60 then
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath2:Start(expires, name)
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath3:Start(expires, name)
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath4:Start(expires, name)
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath5:Start(expires, name)
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath6:Start(expires, name)
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath7:Start(expires, name)
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath8:Start(expires, name)
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath9:Start(expires, name)
|
||||
elseif DBM:AntiSpam(500) then
|
||||
timerTargetShadowofDeath10:Start(expires, name)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user