local mod = DBM:NewMod("AlgetharAcademyTrash", "DBM-Party-Dragonflight", 5) local L = mod:GetLocalizedStrings() mod:SetRevision("20221203231852") --mod:SetModelID(47785) mod.isTrashMod = true mod:RegisterEvents( "SPELL_CAST_START 387910 377383 378003 388976 388863 377912 387843 388392", "SPELL_CAST_SUCCESS 390915", "SPELL_AURA_APPLIED 388984 387843", -- "SPELL_AURA_APPLIED_DOSE 339528", "SPELL_AURA_REMOVED 387843" ) --TODO: add https://www.wowhead.com/spell=386026/surge ? local warnAstralWhirlwind = mod:NewCastAnnounce(387910, 3) local warnManavoid = mod:NewCastAnnounce(388863, 3) local warnMonotonousLecture = mod:NewCastAnnounce(388392, 2) local warnAstralBomb = mod:NewCastAnnounce(387843, 3) local warnAstralBombTargets = mod:NewTargetAnnounce(387843, 3) local warnViciousAmbush = mod:NewTargetAnnounce(388984, 3) local specWarnExpelIntruders = mod:NewSpecialWarningRun(377912, nil, nil, nil, 4, 2) local specWarnDetonateSeeds = mod:NewSpecialWarningDodge(390915, nil, nil, nil, 2, 2) local specWarnDeadlyWinds = mod:NewSpecialWarningDodge(378003, nil, nil, nil, 2, 2) local specWarnRiftbreath = mod:NewSpecialWarningDodge(388976, nil, nil, nil, 2, 2) local specWarnGust = mod:NewSpecialWarningDodge(377383, nil, nil, nil, 2, 2) local yellGust = mod:NewYell(377383) local specWarnViciousAmbush = mod:NewSpecialWarningYou(388984, nil, nil, nil, 1, 2)--You warning not move away, because some strategies involve actually baiting charge into melee instead of out local yellnViciousAmbush = mod:NewYell(388984) local specWarnAstralBomb = mod:NewSpecialWarningMoveAway(387843, nil, nil, nil, 2, 2) local yellAstralBomb = mod:NewYell(387843) local yellAstralBombFades = mod:NewShortFadesYell(387843) --local yellConcentrateAnimaFades = mod:NewShortFadesYell(339525) --local specWarnSharedSuffering = mod:NewSpecialWarningYou(339607, nil, nil, nil, 1, 2) --local specWarnDirgefromBelow = mod:NewSpecialWarningInterrupt(310839, "HasInterrupt", nil, nil, 1, 2) --local playerName = UnitName("player") --Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 misc function mod:GustTarget(targetname) if not targetname then return end if targetname == UnitName("player") then yellGust:Yell() end end function mod:SPELL_CAST_START(args) local spellId = args.spellId if spellId == 387910 and self:AntiSpam(4, 6) then warnAstralWhirlwind:Show() elseif spellId == 388863 and self:AntiSpam(4, 6) then warnManavoid:Show() elseif spellId == 387843 and self:AntiSpam(4, 5) then warnAstralBomb:Show() elseif spellId == 388392 and self:AntiSpam(4, 5) then warnMonotonousLecture:Show() elseif spellId == 377383 then if self:AntiSpam(3, 2) then specWarnGust:Show() specWarnGust:Play("shockwave") end self:ScheduleMethod(0.1, "BossTargetScanner", args.sourceGUID, "GustTarget", 0.1, 8) elseif spellId == 378003 and self:AntiSpam(3, 2) then specWarnDeadlyWinds:Show() specWarnDeadlyWinds:Play("watchstep") elseif spellId == 388976 and self:AntiSpam(3, 2) then specWarnRiftbreath:Show() specWarnRiftbreath:Play("shockwave") elseif spellId == 377912 and self:AntiSpam(3, 1) then specWarnExpelIntruders:Show() specWarnExpelIntruders:Play("justrun") -- elseif spellId == 310839 and self:CheckInterruptFilter(args.sourceGUID, false, true) then -- specWarnDirgefromBelow:Show(args.sourceName) -- specWarnDirgefromBelow:Play("kickcast") end end function mod:SPELL_CAST_SUCCESS(args) local spellId = args.spellId if spellId == 390915 and self:AntiSpam(3, 2) then specWarnDetonateSeeds:Show() specWarnDetonateSeeds:Play("watchstep") end end function mod:SPELL_AURA_APPLIED(args) if not self.Options.Enabled then return end local spellId = args.spellId if spellId == 388984 then warnViciousAmbush:Show(args.destName) if args:IsPlayer() then specWarnViciousAmbush:Show() specWarnViciousAmbush:Play("targetyou") yellnViciousAmbush:Yell() end elseif spellId == 387843 then warnAstralBombTargets:Show(args.destName) if args:IsPlayer() then specWarnAstralBomb:Show() specWarnAstralBomb:Play("runout") yellAstralBomb:Yell() yellAstralBombFades:Countdown(spellId, 2) end end end mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED function mod:SPELL_AURA_REMOVED(args) local spellId = args.spellId if spellId == 387843 and args:IsPlayer() then yellAstralBombFades:Cancel() end end