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.

132 lines
4.0 KiB

local mod = DBM:NewMod(1979, "DBM-Party-Legion", 13, 945)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20230117063410")
mod:SetCreatureID(124871)
mod:SetEncounterID(2065)
mod:SetUsedIcons(1)
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 246134 244579",
"SPELL_CAST_SUCCESS 244602",
"SPELL_AURA_APPLIED 244657 244621",
"SPELL_AURA_REMOVED 244657 244621",
"SPELL_DAMAGE 244433",
-- "CHAT_MSG_RAID_BOSS_EMOTE",
"UNIT_SPELLCAST_SUCCEEDED boss1"
)
--TODO, more timer updates, warning tweaks, countdowns
--TODO, personal alternate power and warn when extra action is ready to leave Umbra Shift
--Void Brute
--local warnNullPalm = mod:NewSpellAnnounce(246134, 2, nil, "Tank")
local warnUmbraShift = mod:NewTargetAnnounce(244433, 3)
local warnFixate = mod:NewTargetAnnounce(244657, 3)
local warnVoidTear = mod:NewTargetAnnounce(244621, 1)
local specWarnNullPalm = mod:NewSpecialWarningDodge(246134, nil, nil, 2, 2, 2)
local specWarnCoalescedVoid = mod:NewSpecialWarningSwitch(244602, "Dps", nil, nil, 1, 2)
local specWarnUmbraShift = mod:NewSpecialWarningYou(244433, nil, nil, nil, 1, 2)
local specWarnFixate = mod:NewSpecialWarningRun(244657, nil, nil, nil, 4, 2)
local timerNullPalmCD = mod:NewCDTimer(10.9, 246134, nil, nil, nil, 3)
local timerDeciminateCD = mod:NewCDTimer(12.1, 244579, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerCoalescedVoidCD = mod:NewCDTimer(12.1, 244602, nil, nil, nil, 1, nil, DBM_COMMON_L.DAMAGE_ICON)
local timerUmbraShiftCD = mod:NewCDTimer(12, 244433, nil, nil, nil, 6)
local timerVoidTear = mod:NewBuffActiveTimer(20, 244621, nil, nil, nil, 6)
mod:AddSetIconOption("SetIconOnFixate", 244657, true, false, {1})
function mod:OnCombatStart(delay)
timerNullPalmCD:Start(10-delay)
timerDeciminateCD:Start(17.5-delay)
timerCoalescedVoidCD:Start(19.5-delay)
timerUmbraShiftCD:Start(40.5-delay)
end
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 246134 then
specWarnNullPalm:Show()
specWarnNullPalm:Play("shockwave")
timerNullPalmCD:Start()
elseif spellId == 244579 then
timerDeciminateCD:Start()
end
end
function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 244602 then
specWarnCoalescedVoid:Show()
specWarnCoalescedVoid:Play("killmob")
--timerCoalescedVoidCD:Start()
end
end
function mod:SPELL_AURA_APPLIED(args)
local spellId = args.spellId
if spellId == 244657 then
if args:IsPlayer() then
specWarnFixate:Show()
specWarnFixate:Play("justrun")
specWarnFixate:ScheduleVoice(1, "keepmove")
else
warnFixate:Show(args.destName)
end
if self.Options.SetIconOnFixate then
self:SetIcon(args.destName, 1)
end
elseif spellId == 244621 then--Void Tear
warnVoidTear:Show(args.destName)
timerVoidTear:Start()
--Cancel Timers
timerNullPalmCD:Stop()
timerDeciminateCD:Stop()
timerCoalescedVoidCD:Stop()
timerUmbraShiftCD:Stop()
end
end
function mod:SPELL_AURA_REMOVED(args)
local spellId = args.spellId
if spellId == 244657 then
if self.Options.SetIconOnFixate then
self:SetIcon(args.destName, 0)
end
elseif spellId == 244621 then--Void Tear
--Resume timers (TODO, need log, for heroic the boss died with this buff)
--timerNullPalmCD:Start(10)
--timerDeciminateCD:Start(17.5)
--timerCoalescedVoidCD:Start(19.5)
--timerUmbraShiftCD:Start(40.5)
end
end
function mod:SPELL_DAMAGE(_, _, _, destName, destGUID, _, _, _, spellId)
if spellId == 244433 then
if destGUID == UnitGUID("player") then
specWarnUmbraShift:Show()
specWarnUmbraShift:Play("teleyou")
else
warnUmbraShift:Show(destName)
end
end
end
--[[
function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
if msg:find("inv_misc_monsterhorn_03") then
end
end
--]]
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
if spellId == 247576 then--Umbra Shift
--timerUmbraShiftCD:Start()
end
end