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.

97 lines
3.4 KiB

local mod = DBM:NewMod(2406, "DBM-Party-Shadowlands", 4, 1185)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20220803233609")
mod:SetCreatureID(165408)
mod:SetEncounterID(2401)
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 322936 322711",
"SPELL_CAST_SUCCESS 322943",
"SPELL_AURA_APPLIED 322977",
"SPELL_PERIODIC_DAMAGE 323001",
"SPELL_PERIODIC_MISSED 323001"
-- "UNIT_SPELLCAST_SUCCEEDED boss1"
)
--TODO, Target scan Heave Debris? it's instant cast, maybe it has an emote?
--Sinlight visions deleted?
--Not entirely convinced refracted sinlight is a timer (and not health based)
--[[
(ability.id = 322936 or ability.id = 322711 or ability.id = 322977) and type = "begincast"
or (ability.id = 322943) and type = "cast"
or ability.id = 322977 and type = "applydebuff"
--]]
local warnHeaveDebris = mod:NewSpellAnnounce(322943, 3)
local specWarnCrumblingSlam = mod:NewSpecialWarningMove(322936, "Tank", nil, nil, 1, 2)
local specWarnRefractedSinlight = mod:NewSpecialWarningDodge(322711, nil, nil, nil, 3, 2)
local specWarnSinlightVisions = mod:NewSpecialWarningDispel(322977, "RemoveMagic", nil, nil, 1, 2)
local specWarnGTFO = mod:NewSpecialWarningGTFO(323001, nil, nil, nil, 1, 8)
local timerCrumblingSlamCD = mod:NewCDTimer(12.1, 322936, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)--12.1 except after refracted sinlight
local timerHeaveDebrisCD = mod:NewCDTimer(12.1, 322943, nil, nil, nil, 3)--12.1 except after refracted sinlight
local timerRefractedSinlightCD = mod:NewCDTimer(47.3, 322711, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)--45--51
--local timerSinlightVisionsCD = mod:NewCDTimer(23, 322977, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON)--23-27
--"Sinlight Visions-339237-npc:165408 = pull:5.0, 5.0, 20.0, 5.0, 15.0, 20.0
function mod:OnCombatStart(delay)
timerCrumblingSlamCD:Start(4-delay)
-- timerSinlightVisionsCD:Start(5-delay)--SUCCESS
timerHeaveDebrisCD:Start(13.5-delay)--SUCCESS
timerRefractedSinlightCD:Start(49.9-delay)
end
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 322936 then
specWarnCrumblingSlam:Show()
specWarnCrumblingSlam:Play("moveboss")
-- timerCrumblingSlamCD:Start()
elseif spellId == 322711 then
specWarnRefractedSinlight:Show()
specWarnRefractedSinlight:Play("watchstep")
timerRefractedSinlightCD:Start()
timerCrumblingSlamCD:Stop()
timerHeaveDebrisCD:Stop()
timerHeaveDebrisCD:Start(17)
timerCrumblingSlamCD:Start(22)
end
end
function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 322943 then
warnHeaveDebris:Show()
timerHeaveDebrisCD:Start()
-- elseif spellId == 322977 then
--timerSinlightVisionsCD:Start()--Unknown, pull too short
end
end
function mod:SPELL_AURA_APPLIED(args)
local spellId = args.spellId
if spellId == 322977 then
specWarnSinlightVisions:Show(args.destName)
specWarnSinlightVisions:Play("helpdispel")
end
end
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName)
if spellId == 323001 and destGUID == UnitGUID("player") and self:AntiSpam(2, 2) then
specWarnGTFO:Show(spellName)
specWarnGTFO:Play("watchfeet")
end
end
mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE
--[[
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
if spellId == 257453 then
end
end
--]]