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.
72 lines
2.1 KiB
72 lines
2.1 KiB
|
3 years ago
|
local mod = DBM:NewMod(181, "DBM-Party-Cataclysm", 11, 76)
|
||
|
|
local L = mod:GetLocalizedStrings()
|
||
|
|
|
||
|
|
mod.statTypes = "heroic,timewalker"
|
||
|
|
|
||
|
|
mod:SetRevision("20220116042005")
|
||
|
|
mod:SetCreatureID(52059)
|
||
|
|
mod:SetEncounterID(1180)
|
||
|
|
|
||
|
|
mod:RegisterCombat("combat")
|
||
|
|
|
||
|
|
mod:RegisterEventsInCombat(
|
||
|
|
"SPELL_AURA_APPLIED 96435 96423 96592 97380",
|
||
|
|
"SPELL_AURA_REMOVED 96423",
|
||
|
|
"SPELL_INTERRUPT",
|
||
|
|
"SPELL_CAST_SUCCESS 96457"
|
||
|
|
)
|
||
|
|
|
||
|
|
local warnLash = mod:NewTargetNoFilterAnnounce(96423, 3, nil, "Healer", 2)
|
||
|
|
local warnWaveAgony = mod:NewSpellAnnounce(96457, 3)
|
||
|
|
local warnRavage = mod:NewTargetNoFilterAnnounce(96592, 3)
|
||
|
|
local warnPhase2 = mod:NewPhaseAnnounce(2)
|
||
|
|
|
||
|
|
local specWarnTears = mod:NewSpecialWarningInterrupt(96435, "HasInterrupt", nil, 2, 1, 2)
|
||
|
|
|
||
|
|
local timerTears = mod:NewCastTimer(6, 96435, nil, nil, nil, 2)
|
||
|
|
local timerLash = mod:NewTargetTimer(10, 96423, nil, "Healer", 2, 5, nil, DBM_COMMON_L.HEALER_ICON..DBM_COMMON_L.MAGIC_ICON)
|
||
|
|
local timerWaveAgony = mod:NewCDTimer(32, 96457, nil, nil, nil, 3)
|
||
|
|
local timerRavage = mod:NewTargetTimer(10, 96592, nil, false, nil, 5, nil, DBM_COMMON_L.HEALER_ICON)
|
||
|
|
|
||
|
|
function mod:OnCombatStart(delay)
|
||
|
|
self:SetStage(1)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_AURA_APPLIED(args)
|
||
|
|
if args.spellId == 96435 then -- Tears of Blood, CD 27-37 secs
|
||
|
|
if self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
||
|
|
specWarnTears:Show(args.sourceName)
|
||
|
|
specWarnTears:Play("kickcast")
|
||
|
|
end
|
||
|
|
timerTears:Start()
|
||
|
|
elseif args.spellId == 96423 then
|
||
|
|
warnLash:Show(args.destName)
|
||
|
|
timerLash:Start(args.destName)
|
||
|
|
elseif args.spellId == 96592 then
|
||
|
|
warnRavage:Show(args.destName)
|
||
|
|
timerRavage:Start(args.destName)
|
||
|
|
elseif args.spellId == 97380 and self.vb.phase < 2 then
|
||
|
|
self:SetStage(2)
|
||
|
|
warnPhase2:Show()
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_AURA_REMOVED(args)
|
||
|
|
if args.spellId == 96423 then
|
||
|
|
timerLash:Cancel(args.destName)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_INTERRUPT(args)
|
||
|
|
if type(args.extraSpellId) == "number" and args.extraSpellId == 96435 then
|
||
|
|
timerTears:Cancel()
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
||
|
|
if args.spellId == 96457 then
|
||
|
|
warnWaveAgony:Show()
|
||
|
|
timerWaveAgony:Start()
|
||
|
|
end
|
||
|
|
end
|