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.
93 lines
4.7 KiB
93 lines
4.7 KiB
local mod = DBM:NewMod("SpiresofAscensionTrash", "DBM-Party-Shadowlands", 5)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20220920232426")
|
|
--mod:SetModelID(47785)
|
|
|
|
mod.isTrashMod = true
|
|
|
|
mod:RegisterEvents(
|
|
"SPELL_CAST_START 317936 317963 327413 328295 328137 328331 317985",
|
|
"SPELL_AURA_APPLIED 317936 317963 317661 328331"
|
|
)
|
|
|
|
--https://www.wowhead.com/guides/spires-of-ascension-shadowlands-dungeon-strategy-guide
|
|
--local warnDuelistDash = mod:NewTargetNoFilterAnnounce(274400, 4)
|
|
|
|
--General
|
|
--local specWarnGTFO = mod:NewSpecialWarningGTFO(257274, nil, nil, nil, 1, 8)
|
|
--Notable Kin-Tara Trash
|
|
local specWarnForswornDoctrine = mod:NewSpecialWarningInterrupt(317936, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnForswornDoctrineDispel = mod:NewSpecialWarningDispel(317936, "MagicDispeller", nil, nil, 1, 2)
|
|
local specWarnBurdenofKnowledge = mod:NewSpecialWarningInterrupt(317963, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnBurdenofKnowledgeDispel = mod:NewSpecialWarningDispel(317963, "RemoveMagic", nil, nil, 1, 2)
|
|
local specWarnRebelliousFist = mod:NewSpecialWarningInterrupt(327413, "HasInterrupt", nil, nil, 1, 2)
|
|
--Notable Ventunax Trash
|
|
local specWarnInsidiousVenomDispel = mod:NewSpecialWarningDispel(317661, "RemoveMagic", nil, nil, 1, 2)
|
|
--Notable Oryphrion Trash
|
|
local specWarnGreaterMending = mod:NewSpecialWarningInterrupt(328295, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnDarkPulse = mod:NewSpecialWarningInterrupt(328137, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnForcedConfession = mod:NewSpecialWarningInterrupt(328331, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnForcedConfessionDispel = mod:NewSpecialWarningDispel(328331, "RemoveMagic", nil, nil, 1, 2)
|
|
local specWarnForcedConfessionYou = mod:NewSpecialWarningMoveAway(328331, nil, nil, nil, 1, 2)
|
|
local yellForcedConfession = mod:NewYell(328331)
|
|
--Unknown Location
|
|
local specCrashingStrike = mod:NewSpecialWarningDodge(317985, nil, nil, nil, 2, 2)--Forsworn Squad-Leader
|
|
|
|
--Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
if not self.Options.Enabled then return end
|
|
local spellId = args.spellId
|
|
if spellId == 317936 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnForswornDoctrine:Show(args.sourceName)
|
|
specWarnForswornDoctrine:Play("kickcast")
|
|
elseif spellId == 317963 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnBurdenofKnowledge:Show(args.sourceName)
|
|
specWarnBurdenofKnowledge:Play("kickcast")
|
|
elseif spellId == 327413 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnRebelliousFist:Show(args.sourceName)
|
|
specWarnRebelliousFist:Play("kickcast")
|
|
elseif spellId == 328295 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnGreaterMending:Show(args.sourceName)
|
|
specWarnGreaterMending:Play("kickcast")
|
|
elseif spellId == 328137 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnDarkPulse:Show(args.sourceName)
|
|
specWarnDarkPulse:Play("kickcast")
|
|
elseif spellId == 328331 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnForcedConfession:Show(args.sourceName)
|
|
specWarnForcedConfession:Play("kickcast")
|
|
elseif spellId == 328331 and self:AntiSpam(3, 2) then
|
|
specCrashingStrike:Show()
|
|
specCrashingStrike:Play("watchstep")
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
if not self.Options.Enabled then return end
|
|
local spellId = args.spellId
|
|
if spellId == 317936 and self:AntiSpam(3, 5) then
|
|
specWarnForswornDoctrineDispel:Show(args.destName)
|
|
specWarnForswornDoctrineDispel:Play("helpdispel")
|
|
elseif spellId == 317963 and args:IsDestTypePlayer() and self:CheckDispelFilter("magic") and self:AntiSpam(3, 5) then
|
|
specWarnBurdenofKnowledgeDispel:Show(args.destName)
|
|
specWarnBurdenofKnowledgeDispel:Play("helpdispel")
|
|
elseif spellId == 317661 and args:IsDestTypePlayer() and self:CheckDispelFilter("magic") and self:AntiSpam(3, 5) then
|
|
specWarnInsidiousVenomDispel:Show(args.destName)
|
|
specWarnInsidiousVenomDispel:Play("helpdispel")
|
|
elseif spellId == 328331 then
|
|
local dispelWarned = false
|
|
if self.Options.SpecWarn328331dispel and args:IsDestTypePlayer() and self:CheckDispelFilter("magic") and self:AntiSpam(3, 5) then
|
|
specWarnForcedConfessionDispel:Show(args.destName)
|
|
specWarnForcedConfessionDispel:Play("helpdispel")
|
|
dispelWarned = true
|
|
end
|
|
if args:IsPlayer() then
|
|
if not dispelWarned then--If player is a dispeller, they may have already gotten alert to dispel themselves
|
|
specWarnForcedConfessionYou:Show()
|
|
specWarnForcedConfessionYou:Play("runout")
|
|
end
|
|
yellForcedConfession:Yell()
|
|
end
|
|
end
|
|
end
|
|
|