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