You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
3.5 KiB
91 lines
3.5 KiB
local mod = DBM:NewMod(1499, "DBM-Party-Legion", 6, 726)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod.statTypes = "heroic,mythic,challenge"
|
|
|
|
mod:SetRevision("20230708234551")
|
|
mod:SetCreatureID(98206)
|
|
mod:SetEncounterID(1828)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 197776 212030 197810"
|
|
)
|
|
|
|
--TODO, evalulate normal mode tmers more for slash and fissure, seem longer cded there.
|
|
local specWarnBat = mod:NewSpecialWarningSwitch(-12489, "Tank", nil, nil, 1, 2)
|
|
local specWarnFissure = mod:NewSpecialWarningDodge(197776, nil, nil, nil, 2, 2)
|
|
local specWarnSlash = mod:NewSpecialWarningSpell(212030, nil, nil, nil, 2, 2)
|
|
local specWarnSlam = mod:NewSpecialWarningSpell(197810, nil, nil, nil, 3, 2)
|
|
|
|
local timerBatCD = mod:NewNextTimer(31, -12489, nil, nil, nil, 1, 183219)--31.1 i saw for lowest time but might be some variation
|
|
--Both 13 unless delayed by other interactions. Seems similar to archimondes timer code with a hard ICD mechanic.
|
|
local timerFissureCD = mod:NewCDTimer(23, 197776, nil, nil, nil, 3)--Maybe 23 now?
|
|
local timerSlashCD = mod:NewCDTimer(25, 212030, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)--25-30
|
|
local timerSlamCD = mod:NewCDTimer(47, 197810, nil, nil, nil, 2)--Possibly 40 but delayed by ICD triggering
|
|
|
|
--Boss seems to have intenal 6 second ICD and cannot cast any two spells within 6 seconds of another (minus summon bats)
|
|
--This spell queuing was disabled at some point late legion, but will need review if dungeon comes back
|
|
--[[
|
|
local function updateAlltimers(ICD)
|
|
if timerFissureCD:GetRemaining() < ICD then
|
|
local elapsed, total = timerFissureCD:GetTime()
|
|
local extend = ICD - (total-elapsed)
|
|
DBM:Debug("timerFissureCD extended by: "..extend, 2)
|
|
timerFissureCD:Cancel()
|
|
timerFissureCD:Update(elapsed, total+extend)
|
|
end
|
|
if timerSlashCD:GetRemaining() < ICD then
|
|
local elapsed, total = timerSlashCD:GetTime()
|
|
local extend = ICD - (total-elapsed)
|
|
DBM:Debug("timerSlashCD extended by: "..extend, 2)
|
|
timerSlashCD:Cancel()
|
|
timerSlashCD:Update(elapsed, total+extend)
|
|
end
|
|
if timerSlamCD:GetRemaining() < ICD then
|
|
local elapsed, total = timerSlamCD:GetTime()
|
|
local extend = ICD - (total-elapsed)
|
|
DBM:Debug("timerSlamCD extended by: "..extend, 2)
|
|
timerSlamCD:Cancel()
|
|
timerSlamCD:Update(elapsed, total+extend)
|
|
end
|
|
end
|
|
--]]
|
|
|
|
--"<4.91 00:06:09> [ENCOUNTER_START] ENCOUNTER_START#1828#General Xakal#23#5", -- [7]
|
|
--"<25.11 00:06:30> [CLEU] SPELL_DAMAGE#Creature-0-3887-1516-9671-100393-00005B6FAC#Dread Felbat#Player-1169-07BF1788#Orlene-CenarionCircle#197788#Bombardment#389587#-1", --
|
|
local function blizzardHatesBossMods(self)
|
|
specWarnBat:Show()
|
|
specWarnBat:Play("mobsoon")
|
|
timerBatCD:Start()
|
|
self:Schedule(31, blizzardHatesBossMods, self)
|
|
end
|
|
|
|
function mod:OnCombatStart(delay)
|
|
timerFissureCD:Start(5-delay)
|
|
timerSlashCD:Start(13-delay)
|
|
timerBatCD:Start(20-delay)
|
|
self:Schedule(20, blizzardHatesBossMods, self)
|
|
timerSlamCD:Start(35.8-delay)
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 197776 then
|
|
specWarnFissure:Show()
|
|
specWarnFissure:Play("watchstep")
|
|
timerFissureCD:Start()
|
|
--updateAlltimers(6)
|
|
elseif spellId == 212030 then
|
|
specWarnSlash:Show()
|
|
specWarnSlash:Play("watchwave")
|
|
timerSlashCD:Start()
|
|
--updateAlltimers(6)
|
|
elseif spellId == 197810 then
|
|
specWarnSlam:Show()
|
|
specWarnSlam:Play("carefly")
|
|
timerSlamCD:Start()
|
|
--updateAlltimers(7)--Verify is actually 7 and not 6 like others
|
|
end
|
|
end
|
|
|