local mod = DBM:NewMod("HoVTrash", "DBM-Party-Legion", 4) local L = mod:GetLocalizedStrings() mod:SetRevision("20221115231757") --mod:SetModelID(47785) mod.isTrashMod = true mod:RegisterEvents( "SPELL_CAST_START 199805 192563 199726 191508 199210", "SPELL_AURA_APPLIED 215430", "SPELL_AURA_REMOVED 215430" ) --TODO wicked dagger (199674)? local warnCrackle = mod:NewTargetAnnounce(199805, 2) local specWarnBlastofLight = mod:NewSpecialWarningDodge(191508, nil, nil, nil, 2, 2) local specWarnPenetratingShot = mod:NewSpecialWarningDodge(199210, nil, nil, nil, 2, 2) local specWarnCrackle = mod:NewSpecialWarningDodge(199805, nil, nil, nil, 1, 2) local yellCrackle = mod:NewShortYell(199805) local specWarnThunderstrike = mod:NewSpecialWarningMoveAway(215430, nil, nil, nil, 1, 2) local yellThunderstrike = mod:NewShortYell(215430) local specWarnCleansingFlame = mod:NewSpecialWarningInterrupt(192563, "HasInterrupt", nil, nil, 1, 2) local specWarnUnrulyYell = mod:NewSpecialWarningInterrupt(199726, "HasInterrupt", nil, nil, 1, 2) --Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 generalized, 7 GTFO function mod:CrackleTarget(targetname, uId) if not targetname then warnCrackle:Show(DBM_COMMON_L.UNKNOWN) return end if targetname == UnitName("player") then specWarnCrackle:Show() specWarnCrackle:Play("watchstep") yellCrackle:Yell() else warnCrackle:Show(targetname) end end function mod:SPELL_CAST_START(args) if not self.Options.Enabled then return end local spellId = args.spellId if spellId == 199805 then self:BossTargetScanner(args.sourceGUID, "CrackleTarget", 0.1, 9) elseif spellId == 192563 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnCleansingFlame:Show(args.sourceName) specWarnCleansingFlame:Play("kickcast") elseif spellId == 199726 and self:CheckInterruptFilter(args.sourceGUID, false, true) then specWarnUnrulyYell:Show(args.sourceName) specWarnUnrulyYell:Play("kickcast") elseif spellId == 191508 then if self:IsTanking("player", nil, nil, true, args.sourceGUID) then specWarnBlastofLight:Show() specWarnBlastofLight:Play("shockwave") end elseif spellId == 199210 and self:AntiSpam(3, 2) then specWarnPenetratingShot:Show() specWarnPenetratingShot:Play("shockwave") end end function mod:SPELL_AURA_APPLIED(args) if not self.Options.Enabled then return end if args.spellId == 215430 then if args:IsPlayer() then specWarnThunderstrike:Show() specWarnThunderstrike:Play("scatter") yellThunderstrike:Yell() if self.Options.RangeFrame then DBM.RangeCheck:Show(6) end end 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 if args.spellId == 215430 and args:IsPlayer() then if self.Options.RangeFrame then DBM.RangeCheck:Hide() end end end