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.
186 lines
7.6 KiB
186 lines
7.6 KiB
|
2 years ago
|
local mod = DBM:NewMod("NightholdTrash", "DBM-Raids-Legion", 3)
|
||
|
3 years ago
|
local L = mod:GetLocalizedStrings()
|
||
|
|
|
||
|
2 years ago
|
mod:SetRevision("20230618063432")
|
||
|
3 years ago
|
--mod:SetModelID(47785)
|
||
|
|
mod.isTrashMod = true
|
||
|
|
|
||
|
|
mod:RegisterEvents(
|
||
|
|
"SPELL_CAST_START 221164 224510 231005 231737 224440",
|
||
|
|
"SPELL_CAST_SUCCESS 225389 224246",
|
||
|
|
"SPELL_AURA_APPLIED 221344 222111 224572 225390 224632 224560 204744 224978 225856 223655 224982 225105 222079 225845",
|
||
|
|
"SPELL_AURA_APPLIED_DOSE 222079"
|
||
|
|
)
|
||
|
|
|
||
|
|
--TODO, add arcane blast when i remember to log/get spellID
|
||
|
|
local warnAnnihilatingOrb = mod:NewTargetAnnounce(221344, 3)
|
||
|
|
local warnCelestialBrand = mod:NewTargetAnnounce(224560, 2)
|
||
|
|
local warnArcaneRelease = mod:NewTargetAnnounce(225105, 2)
|
||
|
|
local warnChosenFate = mod:NewTargetAnnounce(225845, 2, nil, false, 2)
|
||
|
|
local warnOozingRush = mod:NewTargetAnnounce(223655, 2)
|
||
|
|
local warnFelGlare = mod:NewTargetAnnounce(224982, 2)
|
||
|
|
|
||
|
|
local specWarnCrushingStomp = mod:NewSpecialWarningRun(224440, nil, nil, nil, 4, 2)
|
||
|
|
local specWarnAnnihilatingOrb = mod:NewSpecialWarningMoveAway(221344, nil, nil, nil, 1, 2)
|
||
|
|
local yellAnnihilatingOrb = mod:NewYell(221344)
|
||
|
|
local specWarnFulminate = mod:NewSpecialWarningRun(221164, "Melee", nil, nil, 4, 2)
|
||
|
|
local specWarnCracklingSlice = mod:NewSpecialWarningDodge(224510, "Tank", nil, nil, 1, 2)
|
||
|
|
local specWarnArcaneEmanations = mod:NewSpecialWarningDodge(231005, "Tank", nil, nil, 1, 2)
|
||
|
|
local specWarnProtectiveShield = mod:NewSpecialWarningMove(224510, "Tank", nil, nil, 1, 2)
|
||
|
|
local specWarnRoilingFlame = mod:NewSpecialWarningMove(222111, nil, nil, nil, 1, 2)
|
||
|
|
local specWarnDisruptingEnergy = mod:NewSpecialWarningMove(224572, nil, nil, nil, 1, 2)
|
||
|
|
local specWarnStellarDust = mod:NewSpecialWarningMove(225390, nil, nil, nil, 1, 2)
|
||
|
|
local specWarnToxicChit = mod:NewSpecialWarningMove(204744, nil, nil, nil, 1, 2)
|
||
|
|
local specWarnInfiniteAbyss = mod:NewSpecialWarningMove(224978, nil, nil, nil, 1, 2)
|
||
|
|
local specWarnPoisonBrambles = mod:NewSpecialWarningMove(225856, nil, nil, nil, 1, 2)
|
||
|
|
local specWarnArcWell = mod:NewSpecialWarningSwitch(224246, "Dps", nil, nil, 1, 6)
|
||
|
|
local specWarnCelestialBrand = mod:NewSpecialWarningMoveAway(224560, nil, nil, nil, 1, 2)
|
||
|
|
local yellCelestialBrand = mod:NewYell(224560)
|
||
|
|
local specWarnArcaneRelease = mod:NewSpecialWarningMoveAway(225105, nil, nil, nil, 1, 2)
|
||
|
|
--local specWarnArcaneBlast = mod:NewSpecialWarningInterrupt(143807, "HasInterrupt", nil, 2, 3, 2)
|
||
|
|
local yellArcaneRelease = mod:NewYell(225105)
|
||
|
|
local specWarnHeavenlyCrash = mod:NewSpecialWarningMoveTo(224632, nil, nil, nil, 1, 2)
|
||
|
|
local yellHeavenlyCrash = mod:NewFadesYell(224632)--VERIFY duration
|
||
|
|
local specWarnChosenFate = mod:NewSpecialWarningReflect(225845, nil, nil, nil, 1, 2)
|
||
|
|
local specWarnOozingRush = mod:NewSpecialWarningRun(223655, nil, nil, nil, 4, 2)
|
||
|
|
local yellOozingRush = mod:NewYell(223655)
|
||
|
|
local specWarnFelGlare = mod:NewSpecialWarningMoveAway(224982, nil, nil, nil, 1, 2)
|
||
|
|
local yellFelGlareh = mod:NewYell(224982)
|
||
|
|
local specWarnSearingWounds = mod:NewSpecialWarningStack(222079, nil, 4, nil, 2, 1, 6)--Lets go with 4 for now
|
||
|
|
local specWarnSearingWoundsOther = mod:NewSpecialWarningTaunt(222079, nil, nil, nil, 1, 2)
|
||
|
|
local specWarnNightwellDischarge = mod:NewSpecialWarningDodge(231737, nil, nil, nil, 1, 2)
|
||
|
|
|
||
|
|
local timerSearingWounds = mod:NewTargetTimer(20, 222079, nil, "Tank", nil, 5)
|
||
|
|
|
||
|
|
function mod:SPELL_CAST_START(args)
|
||
|
|
if not self.Options.Enabled then return end
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 221164 and self:AntiSpam(5, 1) then
|
||
|
|
specWarnFulminate:Show()
|
||
|
|
specWarnFulminate:Play("runout")
|
||
|
|
elseif spellId == 224510 and self:AntiSpam(3, 2) then
|
||
|
|
specWarnCracklingSlice:Show()
|
||
|
|
specWarnCracklingSlice:Play("shockwave")
|
||
|
|
elseif spellId == 231005 then
|
||
|
|
specWarnArcaneEmanations:Show()
|
||
|
|
specWarnArcaneEmanations:Play("shockwave")
|
||
|
|
-- elseif spellId == 143807 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
||
|
|
-- specWarnArcaneBlast:Show(args.sourceName)
|
||
|
|
-- specWarnArcaneBlast:Play("kickcast")
|
||
|
|
elseif spellId == 231737 and self:AntiSpam(4, 4) then
|
||
|
|
specWarnNightwellDischarge:Show()
|
||
|
|
specWarnNightwellDischarge:Play("watchorb")
|
||
|
|
elseif spellId == 224440 then
|
||
|
|
specWarnCrushingStomp:Show()
|
||
|
|
specWarnCrushingStomp:Play("justrun")
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
||
|
|
if not self.Options.Enabled then return end
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 225389 and self:AntiSpam(3, 3) then
|
||
|
|
specWarnProtectiveShield:Show()
|
||
|
|
specWarnProtectiveShield:Play("runout")
|
||
|
|
elseif spellId == 224246 then
|
||
|
|
specWarnArcWell:Show()
|
||
|
|
specWarnArcWell:Play("attacktotem")
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_AURA_APPLIED(args)
|
||
|
|
if not self.Options.Enabled then return end
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 221344 then
|
||
|
|
if args:IsPlayer() then
|
||
|
|
specWarnAnnihilatingOrb:Show()
|
||
|
|
specWarnAnnihilatingOrb:Play("runout")
|
||
|
|
yellAnnihilatingOrb:Yell()
|
||
|
|
else
|
||
|
|
warnAnnihilatingOrb:Show(args.destName)
|
||
|
|
end
|
||
|
|
elseif spellId == 222111 and args:IsPlayer() then
|
||
|
|
specWarnRoilingFlame:Show()
|
||
|
|
specWarnRoilingFlame:Play("runaway")
|
||
|
|
elseif spellId == 224572 and args:IsPlayer() then
|
||
|
|
specWarnDisruptingEnergy:Show()
|
||
|
|
specWarnDisruptingEnergy:Play("runaway")
|
||
|
|
elseif spellId == 225390 and args:IsPlayer() then
|
||
|
|
specWarnStellarDust:Show()
|
||
|
|
specWarnStellarDust:Play("runaway")
|
||
|
|
elseif spellId == 204744 and args:IsPlayer() then
|
||
|
|
specWarnToxicChit:Show()
|
||
|
|
specWarnToxicChit:Play("runaway")
|
||
|
|
elseif spellId == 224978 and args:IsPlayer() then
|
||
|
|
specWarnInfiniteAbyss:Show()
|
||
|
|
specWarnInfiniteAbyss:Play("runaway")
|
||
|
|
elseif spellId == 225856 and args:IsPlayer() then
|
||
|
|
specWarnPoisonBrambles:Show()
|
||
|
|
specWarnPoisonBrambles:Play("runaway")
|
||
|
|
elseif spellId == 224632 then
|
||
|
|
specWarnHeavenlyCrash:Show(args.destName)
|
||
|
|
specWarnHeavenlyCrash:Play("gathershare")
|
||
|
|
if args:IsPlayer() then
|
||
|
|
yellHeavenlyCrash:Countdown(5)
|
||
|
|
end
|
||
|
|
elseif spellId == 224560 then
|
||
|
|
warnCelestialBrand:CombinedShow(0.5, args.destName)
|
||
|
|
if args:IsPlayer() then
|
||
|
|
specWarnCelestialBrand:Show()
|
||
|
|
specWarnCelestialBrand:Play("runout")
|
||
|
|
yellCelestialBrand:Yell()
|
||
|
|
end
|
||
|
|
elseif spellId == 225105 then
|
||
|
|
warnArcaneRelease:CombinedShow(0.5, args.destName)
|
||
|
|
if args:IsPlayer() then
|
||
|
|
specWarnArcaneRelease:Show()
|
||
|
|
specWarnArcaneRelease:Play("runout")
|
||
|
|
yellArcaneRelease:Yell()
|
||
|
|
end
|
||
|
|
elseif spellId == 223655 then
|
||
|
|
if args:IsPlayer() then
|
||
|
|
specWarnOozingRush:Show()
|
||
|
|
specWarnOozingRush:Play("runaway")
|
||
|
|
specWarnOozingRush:ScheduleVoice(1, "keepmove")
|
||
|
|
yellOozingRush:Yell()
|
||
|
|
else
|
||
|
|
warnOozingRush:Show(args.destName)
|
||
|
|
end
|
||
|
|
elseif spellId == 224982 then
|
||
|
|
if args:IsPlayer() then
|
||
|
|
specWarnFelGlare:Show()
|
||
|
|
specWarnFelGlare:Play("runout")
|
||
|
|
specWarnFelGlare:ScheduleVoice(1, "keepmove")
|
||
|
|
yellFelGlareh:Yell()
|
||
|
|
else
|
||
|
|
warnFelGlare:Show(args.destName)
|
||
|
|
end
|
||
|
|
elseif spellId == 225845 then
|
||
|
|
warnChosenFate:CombinedShow(1, args.destName)
|
||
|
|
if args:IsPlayer() then
|
||
|
|
specWarnChosenFate:Show()
|
||
|
|
specWarnChosenFate:Play("stopattack")
|
||
|
|
end
|
||
|
|
elseif spellId == 222079 then
|
||
|
|
local uId = DBM:GetRaidUnitId(args.destName)
|
||
|
|
if self:IsTanking(uId) then
|
||
|
|
local amount = args.amount or 1
|
||
|
|
timerSearingWounds:Start(args.destName)
|
||
|
|
if amount >= 2 then
|
||
|
|
if args:IsPlayer() then
|
||
|
|
if amount >= 4 then
|
||
|
|
specWarnSearingWounds:Show(amount)
|
||
|
|
specWarnSearingWounds:Play("stackhigh")
|
||
|
|
end
|
||
|
|
else
|
||
|
|
if not DBM:UnitDebuff("player", args.spellName) and not UnitIsDeadOrGhost("player") then
|
||
|
|
specWarnSearingWoundsOther:Show(args.destName)
|
||
|
|
specWarnSearingWoundsOther:Play("changemt")
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
|