local mod = DBM:NewMod(1163, "DBM-Party-WoD", 3, 536) local L = mod:GetLocalizedStrings() mod.statTypes = "normal,heroic,mythic,challenge,timewalker" mod.upgradedMPlus = true mod:SetRevision("20230708234551") mod:SetCreatureID(79545) mod:SetEncounterID(1732) mod:RegisterCombat("combat") mod:RegisterEventsInCombat( "SPELL_AURA_APPLIED 160681 166570", "SPELL_AURA_APPLIED_DOSE 160681 166570", "SPELL_CAST_START 163550 160680 160943", "UNIT_TARGETABLE_CHANGED" ) --[[ (ability.id = 163550 or ability.id = 160680 or ability.id = 160943) and type = "begincast" or ability.id = 181089 and type = "applybuff" --]] local warnMortar = mod:NewSpellAnnounce(163550, 3) local warnPhase2 = mod:NewPhaseAnnounce(2, 2, nil, nil, nil, nil, nil, 2) local warnSupressiveFire = mod:NewTargetNoFilterAnnounce(160681, 2)--In a repeating loop --local warnGrenadeDown = mod:NewAnnounce("warnGrenadeDown", 1, -9711, nil, DBM_CORE_L.AUTO_ANNOUNCE_OPTIONS.spell:format("ej9711"))--Boss is killed by looting using these positive items on him. --local warnMortarDown = mod:NewAnnounce("warnMortarDown", 4, -9712, nil, DBM_CORE_L.AUTO_ANNOUNCE_OPTIONS.spell:format("ej9712"))--So warn when adds that drop them die local warnPhase3 = mod:NewPhaseAnnounce(3, 2, nil, nil, nil, nil, nil, 2) local specWarnSupressiveFire = mod:NewSpecialWarningYou(160681, nil, nil, nil, 1, 2) local yellSupressiveFire = mod:NewYell(160681) local specWarnShrapnelblast = mod:NewSpecialWarningDodge(160943, nil, nil, 2, 3, 2)--160943 boss version, 166675 trash version. local specWarnSlagBlast = mod:NewSpecialWarningMove(166570, nil, nil, nil, 1, 8) local timerSupressiveFire = mod:NewTargetTimer(10, 160681, nil, nil, nil, 5) local grenade = DBM:EJ_GetSectionInfo(9711) local mortar = DBM:EJ_GetSectionInfo(9712) function mod:SupressiveFireTarget(targetname, uId) if not targetname then return end if targetname == UnitName("player") then specWarnSupressiveFire:Show() specWarnSupressiveFire:Play("findshelter") yellSupressiveFire:Yell() else warnSupressiveFire:Show(targetname) end end function mod:OnCombatStart(delay) self:SetStage(1) end function mod:SPELL_AURA_APPLIED(args) local spellId = args.spellId if spellId == 160681 and args:IsDestTypePlayer() then timerSupressiveFire:Start(args.destName) elseif spellId == 166570 and args.destGUID == UnitGUID("player") and self:AntiSpam() then specWarnSlagBlast:Show() specWarnSlagBlast:Play("watchfeet") end end mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED function mod:SPELL_CAST_START(args) local spellId = args.spellId if spellId == 163550 then warnMortar:Show() elseif spellId == 160680 then self:BossTargetScanner(79548, "SupressiveFireTarget", 0.2, 15) elseif spellId == 160943 and self:AntiSpam(2, 1) then if self:IsTanking("player", nil, nil, true, args.sourceGUID) then specWarnShrapnelblast:Show() specWarnShrapnelblast:Play("shockwave") end end end function mod:UNIT_TARGETABLE_CHANGED() self:SetStage(0) if self:GetStage(2) then warnPhase2:Show() warnPhase2:Play("ptwo") elseif self:GetStage(3) then warnPhase3:Show() warnPhase3:Play("pthree") end end