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
2.6 KiB

local mod = DBM:NewMod(185, "DBM-Party-Cataclysm", 11, 76)
local L = mod:GetLocalizedStrings()
mod.statTypes = "heroic,timewalker"
mod:SetRevision("20240428124541")
mod:SetCreatureID(52148)
mod:SetEncounterID(1182)
mod:SetUsedIcons(8)
mod:RegisterCombat("combat")
mod:RegisterKill("yell", L.Kill)
mod:RegisterEventsInCombat(
"SPELL_AURA_APPLIED 97172 97320 97597",
"SPELL_AURA_REMOVED 97417",
"SPELL_AURA_REMOVED_DOSE 97417",
"SPELL_CAST_START 97172 97158",
"SPELL_CAST_SUCCESS 97170"
)
local warnDeadzone = mod:NewSpellAnnounce(97170, 3)
local warnShadowsOfHakkar = mod:NewCastAnnounce(97172, 4)
local warnPhase2 = mod:NewPhaseAnnounce(2)
local warnBarrierDown = mod:NewAnnounce("WarnBarrierDown", 2)
local warnBodySlam = mod:NewTargetNoFilterAnnounce(97198, 2)
local specWarnShadow = mod:NewSpecialWarningMoveTo(97172, nil, nil, nil, 2, 2)
local specWarnBodySlam = mod:NewSpecialWarningYou(97198, nil, nil, nil, 1, 2)
local specWarnSunderRift = mod:NewSpecialWarningMove(97320, nil, nil, nil, 1, 2)
local timerDeadzone = mod:NewNextTimer(21, 97170, nil, nil, nil, 3)
local timerShadowsOfHakkar = mod:NewBuffActiveTimer(10, 97172, nil, nil, nil, 2)
local timerShadowsOfHakkarNext = mod:NewNextTimer(21, 97172, nil, nil, nil, 2)
mod:AddSetIconOption("BodySlamIcon", 97597, true, 0, {8})
mod.vb.barrier = 3
local zoneName = DBM:GetSpellName(97170)
function mod:OnCombatStart(delay)
self:SetStage(1)
self.vb.barrier = 3
end
function mod:SPELL_AURA_APPLIED(args)
if args.spellId == 97172 then
specWarnShadow:Show(zoneName)
specWarnShadow:Play("findshelter")
timerShadowsOfHakkar:Start()
timerShadowsOfHakkarNext:Start()
elseif args.spellId == 97320 and args:IsPlayer() then
specWarnSunderRift:Show()
specWarnSunderRift:Play("watchfeet")
elseif args.spellId == 97597 then
if args:IsPlayer() then
specWarnBodySlam:Show()
specWarnBodySlam:Play("targetyou")
else
warnBodySlam:Show(args.destName)
end
if self.Options.BodySlamIcon then
self:SetIcon(args.destName, 8, 2)
end
end
end
function mod:SPELL_AURA_REMOVED(args)
if args.spellId == 97417 then
self.vb.barrier = self.vb.barrier - 1
warnBarrierDown:Show(self.vb.barrier)
end
end
mod.SPELL_AURA_REMOVED_DOSE = mod.SPELL_AURA_REMOVED
function mod:SPELL_CAST_START(args)
if args.spellId == 97172 then
warnShadowsOfHakkar:Show()
elseif args.spellId == 97158 and self:GetStage(2, 1) then
self:SetStage(2)
warnPhase2:Show()
end
end
function mod:SPELL_CAST_SUCCESS(args)
if args.spellId == 97170 then
warnDeadzone:Show()
timerDeadzone:Start()
end
end