local mod = DBM:NewMod("TazaveshTrash", "DBM-Party-Shadowlands", 9) local L = mod:GetLocalizedStrings() mod:SetRevision("20240808043723") --mod:SetModelID(47785) mod.isTrashMod = true mod.isTrashModBossFightAllowed = true mod:RegisterEvents( "SPELL_CAST_START 356548 352390 354297 356537 355888 355900 355930 355934 356001 357197 347775 355057 355225 355234 355132 355584 357226 357260 356407 356404 347903 357229", "SPELL_CAST_SUCCESS 357238", "SPELL_SUMMON 355132", "SPELL_AURA_APPLIED 355888 355915 355980 357229 357029 355581 356407", -- "SPELL_AURA_APPLIED_DOSE", "SPELL_AURA_REMOVED 357029" ) local warnHardLightBaton = mod:NewTargetNoFilterAnnounce(355888, 3, nil, "Healer|RemoveMagic")--Customs Security local warnRadiantPulse = mod:NewSpellAnnounce(356548, 2)--Zo'honn local warnBeamSplicer = mod:NewSpellAnnounce(356001, 3)--Armored Overseer local warnChronolightEnhancer = mod:NewCastAnnounce(357229, 3, nil, nil, false)--Cartel Muscle local warnHyperlightBomb = mod:NewTargetAnnounce(357029, 3)--Cartel Smuggler local warnVolatilePufferfish = mod:NewCastAnnounce(355234, 3)--Various Murlocs local specWarnGTFO = mod:NewSpecialWarningGTFO(355581, nil, nil, nil, 1, 8) local specWarnHardLightBaton = mod:NewSpecialWarningInterrupt(355888, "Tank", nil, nil, 1, 2)--Customs Security local specWarnDisruptionGrenade = mod:NewSpecialWarningDodge(355900, nil, nil, nil, 2, 2)--Customs Security local specWarnGlyphofRestraint = mod:NewSpecialWarningDispel(355915, "RemoveMagic", nil, nil, 1, 2)--Interrogation Specialist local specWarnSparkBurn = mod:NewSpecialWarningInterrupt(355930, false, nil, nil, 1, 2)--Interrogation Specialist (Spam cast, so opt in) local specWarnRefractionShield = mod:NewSpecialWarningDispel(355980, "MagicDispeller", nil, nil, 1, 2)--Support Officer local specWarnHardLightBarrier = mod:NewSpecialWarningInterrupt(355934, "HasInterrupt", nil, nil, 1, 2)--Support Officer local specWarnRiftBlasts = mod:NewSpecialWarningDodge(352390, nil, nil, nil, 2, 2)--Zo'honn local specWarnHyperlightBolt = mod:NewSpecialWarningInterrupt(354297, false, nil, 2, 1, 2)--Support Officer/Zo'honn (Spammy if interrupt off CD local specWarnEmpoweredGlyphofRestraint = mod:NewSpecialWarningInterrupt(356537, "HasInterrupt", nil, nil, 1, 2)--Zo'honn casts this on everyone local specWarnLightshardRetreat = mod:NewSpecialWarningDodge(357197, nil, nil, nil, 2, 2)--Lightshard Retreat local specWarnChronolightEnhancer = mod:NewSpecialWarningRun(357229, "Tank", nil, nil, 4, 2)--Cartel Muscle local specWarnHyperlightBomb = mod:NewSpecialWarningMoveAway(357029, nil, nil, nil, 1, 2)--Cartel Smuggler local yellHyperlightBomb = mod:NewYell(357029)--Cartel Smuggler local yellHyperlightBombFades = mod:NewShortFadesYell(357029)--Cartel Smuggler local specWarnSpamFilter = mod:NewSpecialWarningInterrupt(347775, "HasInterrupt", nil, nil, 1, 2)--Mailroom local specWarnJunkMail = mod:NewSpecialWarningInterrupt(347903, false, nil, nil, 1, 2)--Mailroom (is this also spammed, off just in case) local specWarnCryofMrrggllrrgg = mod:NewSpecialWarningInterrupt(355057, "HasInterrupt", nil, nil, 1, 2)--Shellcrusher local specWarnWaterbolt = mod:NewSpecialWarningInterrupt(355225, false, nil, nil, 1, 2)--Various Murlocs (filler cast, optional interrupt) local specWarnInvigoratingFishStickCast = mod:NewSpecialWarningSpell(355132, nil, nil, nil, 1, 3)--Off by default, optional for those with stuns/disorientations that can interrupt local specWarnInvigoratingFishStick = mod:NewSpecialWarningSwitch(355132, "-Healer", nil, nil, 1, 2)--Various Murlocs local specWarnChargedPulse = mod:NewSpecialWarningRun(355584, nil, nil, nil, 4, 2)--Stormforged Guardian local specWarnDriftingStar = mod:NewSpecialWarningDodge(357226, nil, nil, nil, 2, 2)--Adorned Starseer local specWarnWanderingPulsar = mod:NewSpecialWarningSwitch(357238, "-Healer", nil, nil, 1, 2)--Adorned Starseer local specWarnUnstableRift = mod:NewSpecialWarningInterrupt(357260, "HasInterrupt", nil, nil, 1, 2)--Focused Ritualist local specWarnAncientDread = mod:NewSpecialWarningInterrupt(356407, "HasInterrupt", nil, nil, 1, 2)--Ancient Core Hound local specWarnAncientDreadDispel = mod:NewSpecialWarningDispel(356407, "RemoveCurse", nil, nil, 1, 2)--Ancient Core Hound local specWarnLavaBreath = mod:NewSpecialWarningInterrupt(356404, "HasInterrupt", nil, nil, 1, 2)--Ancient Core Hound --Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 misc function mod:SPELL_CAST_START(args) if not self.Options.Enabled then return end local spellId = args.spellId if spellId == 356548 and self:IsValidWarning(args.sourceGUID) then warnRadiantPulse:Show() elseif spellId == 352390 and self:IsValidWarning(args.sourceGUID) and self:AntiSpam(3, 2) then specWarnRiftBlasts:Show() specWarnRiftBlasts:Play("watchstep") elseif spellId == 355900 and self:IsValidWarning(args.sourceGUID) and self:AntiSpam(3, 2) then specWarnDisruptionGrenade:Show() specWarnDisruptionGrenade:Play("watchstep") elseif spellId == 357197 and self:IsValidWarning(args.sourceGUID) and self:AntiSpam(3, 2) then specWarnLightshardRetreat:Show() specWarnLightshardRetreat:Play("watchstep") elseif spellId == 357226 and self:IsValidWarning(args.sourceGUID) and self:AntiSpam(3, 2) then specWarnDriftingStar:Show() specWarnDriftingStar:Play("watchorb") elseif spellId == 354297 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnHyperlightBolt:Show(args.sourceName) specWarnHyperlightBolt:Play("kickcast") elseif spellId == 356537 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnEmpoweredGlyphofRestraint:Show(args.sourceName) specWarnEmpoweredGlyphofRestraint:Play("kickcast") elseif spellId == 355888 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnHardLightBaton:Show(args.sourceName) specWarnHardLightBaton:Play("kickcast") elseif spellId == 355930 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnSparkBurn:Show(args.sourceName) specWarnSparkBurn:Play("kickcast") elseif spellId == 355934 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnHardLightBarrier:Show(args.sourceName) specWarnHardLightBarrier:Play("kickcast") elseif spellId == 347775 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnSpamFilter:Show(args.sourceName) specWarnSpamFilter:Play("kickcast") elseif spellId == 347903 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnJunkMail:Show(args.sourceName) specWarnJunkMail:Play("kickcast") elseif spellId == 355057 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnCryofMrrggllrrgg:Show(args.sourceName) specWarnCryofMrrggllrrgg:Play("kickcast") elseif spellId == 355225 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnWaterbolt:Show(args.sourceName) specWarnWaterbolt:Play("kickcast") elseif spellId == 357260 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnUnstableRift:Show(args.sourceName) specWarnUnstableRift:Play("kickcast") elseif spellId == 356407 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnAncientDread:Show(args.sourceName) specWarnAncientDread:Play("kickcast") elseif spellId == 356404 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnLavaBreath:Show(args.sourceName) specWarnLavaBreath:Play("kickcast") elseif spellId == 356001 and self:IsValidWarning(args.sourceGUID) then warnBeamSplicer:Show() elseif spellId == 357229 and self:IsValidWarning(args.sourceGUID) then warnChronolightEnhancer:Show() elseif spellId == 355234 and self:IsValidWarning(args.sourceGUID) and self:AntiSpam(3, 6) then--Misc flagged because it can be interrupted or dodged and guide didn't emphasize either was super important warnVolatilePufferfish:Show() elseif spellId == 355132 and self:IsValidWarning(args.sourceGUID) and self:AntiSpam(3, 5) then specWarnInvigoratingFishStickCast:Show() specWarnInvigoratingFishStickCast:Play("crowdcontrol") elseif spellId == 355584 and self:IsValidWarning(args.sourceGUID) and self:AntiSpam(3, 1) then specWarnChargedPulse:Show() specWarnChargedPulse:Play("justrun") end end function mod:SPELL_CAST_SUCCESS(args) if not self.Options.Enabled then return end local spellId = args.spellId if spellId == 357238 and self:IsValidWarning(args.sourceGUID) and self:AntiSpam(3, 5) then specWarnWanderingPulsar:Show() specWarnWanderingPulsar:Play("targetchange") end end function mod:SPELL_SUMMON(args) if not self.Options.Enabled then return end local spellId = args.spellId if spellId == 355132 and self:IsValidWarning(args.sourceGUID) then specWarnInvigoratingFishStick:Show() specWarnInvigoratingFishStick:Play("attacktotem") end end function mod:SPELL_AURA_APPLIED(args) if not self.Options.Enabled then return end local spellId = args.spellId if spellId == 355888 and self:IsValidWarning(args.sourceGUID) then warnHardLightBaton:Show(args.destName) elseif spellId == 355915 and args:IsDestTypePlayer() and self:CheckDispelFilter("magic") and self:AntiSpam(3, 5) then specWarnGlyphofRestraint:Show(args.destName) specWarnGlyphofRestraint:Play("helpdispel") elseif spellId == 355980 and self:IsValidWarning(args.sourceGUID) and not args:IsDestTypePlayer() and self:AntiSpam(3, 5) then specWarnRefractionShield:Show(args.destName) specWarnRefractionShield:Play("helpdispel") elseif spellId == 356407 and args:IsDestTypePlayer() and self:CheckDispelFilter("curse") and self:AntiSpam(3, 5) then specWarnAncientDreadDispel:Show(args.destName) specWarnAncientDreadDispel:Play("helpdispel") elseif spellId == 357229 and self:IsValidWarning(args.sourceGUID) and self:AntiSpam(3, 1) then specWarnChronolightEnhancer:Show() specWarnChronolightEnhancer:Play("justrun") elseif spellId == 357029 then if args:IsPlayer() then specWarnHyperlightBomb:Show() specWarnHyperlightBomb:Play("runout") yellHyperlightBomb:Yell() yellHyperlightBombFades:Countdown(spellId) else warnHyperlightBomb:Show(args.destName) end elseif spellId == 355581 and args:IsPlayer() then specWarnGTFO:Show(args.spellName) specWarnGTFO:Play("watchfeet") end end --mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED function mod:SPELL_AURA_REMOVED(args) if not self.Options.Enabled then return end local spellId = args.spellId if spellId == 357029 and args:IsPlayer() then yellHyperlightBombFades:Cancel() end end