local mod = DBM:NewMod(1720, "DBM-Party-Legion", 7, 800) local L = mod:GetLocalizedStrings() mod.statTypes = "heroic,mythic,challenge" mod:SetRevision("20230101033858") mod:SetCreatureID(104218) mod:SetEncounterID(1870) mod:SetHotfixNoticeRev(20221127000000) mod:RegisterCombat("combat") mod:RegisterEventsInCombat( "SPELL_CAST_START 209602 209676 209628" ) mod:RegisterEvents( "CHAT_MSG_MONSTER_SAY" ) --[[ (ability.id = 209602 or ability.id = 209676 or ability.id = 209628) and type = "begincast" or type = "dungeonencounterstart" or type = "dungeonencounterend" --]] local warnSurge = mod:NewTargetAnnounce(209602, 4) local specWarnSurge = mod:NewSpecialWarningYou(209602, nil, nil, nil, 1, 2) local yellSurge = mod:NewYell(209602) local specWarnSlicingMaelstrom = mod:NewSpecialWarningSpell(209676, nil, nil, nil, 2, 2) local specWarnGale = mod:NewSpecialWarningDodge(209628, nil, nil, nil, 2, 2) local timerRP = mod:NewRPTimer(32.9) local timerSurgeCD = mod:NewCDTimer(12.1, 209602, nil, nil, nil, 3) local timerMaelstromCD = mod:NewCDCountTimer(24.2, 209676, nil, nil, nil, 3) local timerGaleCD = mod:NewCDTimer(23.8, 209628, nil, nil, nil, 2) local trashmod = DBM:GetModByName("CoSTrash") mod.vb.slicingMaelstromCount = 0 function mod:SurgeTarget(targetname, uId) if not targetname then warnSurge:Show(DBM_COMMON_L.UNKNOWN) return end if targetname == UnitName("player") then specWarnSurge:Show() specWarnSurge:Play("targetyou") yellSurge:Yell() else warnSurge:Show(targetname) end end function mod:OnCombatStart(delay) self.vb.slicingMaelstromCount = 0 timerSurgeCD:Start(5-delay) timerGaleCD:Start(10-delay)--10 timerMaelstromCD:Start(22-delay, 1) --Not ideal to do every pull, but cleanest way to ensure it's done if not trashmod then trashmod = DBM:GetModByName("CoSTrash") end if trashmod and trashmod.Options.SpyHelper then trashmod:ResetGossipState() end end function mod:SPELL_CAST_START(args) local spellId = args.spellId if spellId == 209602 then timerSurgeCD:Start() self:BossTargetScanner(104218, "SurgeTarget", 0.1, 16, true, nil, nil, nil, true) elseif spellId == 209676 then self.vb.slicingMaelstromCount = self.vb.slicingMaelstromCount + 1 specWarnSlicingMaelstrom:Show() specWarnSlicingMaelstrom:Play("aesoon") timerMaelstromCD:Start(24.2, self.vb.slicingMaelstromCount+1) elseif spellId == 209628 and self:AntiSpam(5, 1) then specWarnGale:Show() specWarnGale:Play("watchstep") timerGaleCD:Start() end end --"<13.69 20:34:35> [CHAT_MSG_MONSTER_SAY] Must you leave so soon, Grand Magistrix?#Advisor Melandrus###Omegal##0#0##0#343#nil#0#false#false#false#false", -- [4] --"<46.59 20:35:08> [ENCOUNTER_START] 1870#Advisor Melandrus#23#5", -- [18] function mod:CHAT_MSG_MONSTER_SAY(msg) if (msg == L.MelRP or msg:find(L.MelRP)) then self:SendSync("MelRP")--Syncing to help unlocalized clients end end function mod:OnSync(msg) if msg == "MelRP" and self:AntiSpam(10, 2) then timerRP:Start() end end