|
|
|
|
local mod = DBM:NewMod("z2686", "DBM-Delves-WarWithin")
|
|
|
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
|
|
|
|
|
|
mod:SetRevision("20240723000632")
|
|
|
|
|
mod:SetHotfixNoticeRev(20240422000000)
|
|
|
|
|
mod:SetMinSyncRevision(20240422000000)
|
|
|
|
|
|
|
|
|
|
mod:RegisterCombat("scenario", 2686)
|
|
|
|
|
|
|
|
|
|
mod:RegisterEventsInCombat(
|
|
|
|
|
"SPELL_CAST_START 443840 443908 443837",
|
|
|
|
|
-- "SPELL_CAST_SUCCESS",
|
|
|
|
|
-- "SPELL_AURA_APPLIED",
|
|
|
|
|
-- "SPELL_AURA_REMOVED",
|
|
|
|
|
-- "SPELL_PERIODIC_DAMAGE",
|
|
|
|
|
-- "UNIT_DIED",
|
|
|
|
|
"ENCOUNTER_START",
|
|
|
|
|
"ENCOUNTER_END"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
--NOTE: This one lacks encounter ID for easy win detection and boss timers
|
|
|
|
|
local warnFire = mod:NewSpellAnnounce(443908, 2)
|
|
|
|
|
|
|
|
|
|
local specWarnDesolateSurge = mod:NewSpecialWarningDodge(443840, nil, nil, nil, 2, 2)
|
|
|
|
|
local specWarnShadowSweep = mod:NewSpecialWarningDodge(443837, nil, nil, nil, 2, 2)
|
|
|
|
|
|
|
|
|
|
--local timerShadowsofStrifeCD = mod:NewCDNPTimer(12.4, 449318, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)
|
|
|
|
|
local timerDesolateSurgeCD = mod:NewCDTimer(27.9, 443840, nil, nil, nil, 3)
|
|
|
|
|
local timerFireCD = mod:NewCDTimer(12.1, 443908, nil, nil, nil, 3)
|
|
|
|
|
local timerShadowSweepCD = mod:NewCDTimer(13.4, 443837, nil, nil, nil, 3)
|
|
|
|
|
|
|
|
|
|
--Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 misc, 7 off interrupt
|
|
|
|
|
|
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
|
|
|
if args.spellId == 443840 then
|
|
|
|
|
--"Desolate Surge-443840-npc:217570-00001EAF20 = pull:20.3, 27.9, 29.1, 27.9, 29.1, 27.9, 28.0",
|
|
|
|
|
specWarnDesolateSurge:Show()
|
|
|
|
|
specWarnDesolateSurge:Play("watchstep")
|
|
|
|
|
timerDesolateSurgeCD:Start()
|
|
|
|
|
elseif args.spellId == 443908 then
|
|
|
|
|
--"Fire!-443908-npc:217570-00001EAF20 = pull:9.3, 15.8, 12.2, 15.8, 12.2, 17.0, 12.1, 15.8, 12.1, 17.0, 12.2, 15.8, 12.2, 15.8",
|
|
|
|
|
warnFire:Show()
|
|
|
|
|
timerFireCD:Start()
|
|
|
|
|
elseif args.spellId == 443837 then
|
|
|
|
|
--"Shadow Sweep-443837-npc:217570-00001EAF20 = pull:5.7, 24.3, 14.6, 14.6, 14.6, 14.6, 13.4, 14.5, 14.6, 14.6, 13.4, 13.4, 14.6, 13.4",
|
|
|
|
|
specWarnShadowSweep:Show()
|
|
|
|
|
specWarnShadowSweep:Play("shockwave")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
|
|
|
if args.spellId == 138680 then
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
--]]
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
|
|
|
if args.spellId == 1098 then
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
--]]
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
|
|
|
if args.spellId == 1098 then
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
--]]
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId)
|
|
|
|
|
if spellId == 138561 and destGUID == UnitGUID("player") and self:AntiSpam() then
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
--]]
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
function mod:UNIT_DIED(args)
|
|
|
|
|
--if args.destGUID == UnitGUID("player") then--Solo scenario, a player death is a wipe
|
|
|
|
|
|
|
|
|
|
--end
|
|
|
|
|
local cid = self:GetCIDFromGUID(args.destGUID)
|
|
|
|
|
if cid == 208242 then
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
--]]
|
|
|
|
|
|
|
|
|
|
function mod:ENCOUNTER_START(eID)
|
|
|
|
|
if eID == 2998 then--Reformed Fury
|
|
|
|
|
DBM:AddMsg("Boss alerts/timers not yet implemented for Reformed Fury")
|
|
|
|
|
elseif eID == 3007 then--Speaker Halven
|
|
|
|
|
timerShadowSweepCD:Start(5.7)
|
|
|
|
|
timerFireCD:Start(9.3)
|
|
|
|
|
timerDesolateSurgeCD:Start(20.3)
|
|
|
|
|
elseif eID == 3008 then--Speaker Pelzeth
|
|
|
|
|
DBM:AddMsg("Boss alerts/timers not yet implemented for Speaker Pelzeth")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function mod:ENCOUNTER_END(eID, _, _, _, success)
|
|
|
|
|
if eID == 2998 then--Reformed Fury
|
|
|
|
|
if success == 1 then
|
|
|
|
|
DBM:EndCombat(self)
|
|
|
|
|
else
|
|
|
|
|
--Stop Timers manually
|
|
|
|
|
end
|
|
|
|
|
elseif eID == 3007 then--Speaker Halven
|
|
|
|
|
if success == 1 then
|
|
|
|
|
DBM:EndCombat(self)
|
|
|
|
|
else
|
|
|
|
|
--Stop Timers manually
|
|
|
|
|
timerDesolateSurgeCD:Stop()
|
|
|
|
|
timerFireCD:Stop()
|
|
|
|
|
timerShadowSweepCD:Stop()
|
|
|
|
|
end
|
|
|
|
|
elseif eID == 3008 then--Speaker Pelzeth
|
|
|
|
|
if success == 1 then
|
|
|
|
|
DBM:EndCombat(self)
|
|
|
|
|
else
|
|
|
|
|
--Stop Timers manually
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|