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.

77 lines
2.5 KiB

local mod = DBM:NewMod(290, "DBM-Party-Cataclysm", 13, 185)
local L = mod:GetLocalizedStrings()
mod.statTypes = "heroic,timewalker"
mod:SetRevision("20220116042005")
mod:SetCreatureID(55085)
mod:SetEncounterID(1272)
mod:RegisterCombat("say", L.Pull)
mod:RegisterEventsInCombat(
"SPELL_CAST_START 108141",
"SPELL_CAST_SUCCESS 104905",
"SPELL_AURA_APPLIED 105544 105526",
"SPELL_AURA_REMOVED 105544"
)
local warnFelFlames = mod:NewTargetNoFilterAnnounce(108141, 3)
local warnDecay = mod:NewTargetNoFilterAnnounce(105544, 3, nil, "Healer")
local warnFelQuickening = mod:NewTargetNoFilterAnnounce(104905, 3, nil, "Tank|Healer")
local specWarnFelFlames = mod:NewSpecialWarningMove(108141, nil, nil, nil, 1, 2)
local timerFelFlamesCD = mod:NewNextTimer(8.4, 108141, nil, nil, nil, 3)
local timerDecay = mod:NewTargetTimer(10, 105544, nil, "Healer", nil, 5, nil, DBM_COMMON_L.HEALER_ICON)
local timerDecayCD = mod:NewNextTimer(17, 105544, nil, "Healer", nil, 5, nil, DBM_COMMON_L.HEALER_ICON)
local timerFelQuickening = mod:NewBuffActiveTimer(15, 104905, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON..DBM_COMMON_L.HEALER_ICON)
local function showFelFlamesWarning()
local targetname = mod:GetBossTarget(55085)
if not targetname then return end
if targetname == UnitName("player") then
specWarnFelFlames:Show()
specWarnFelFlames:Play("watchstep")
else
warnFelFlames:Show(targetname)
end
end
function mod:OnCombatStart(delay)
timerFelFlamesCD:Start(5-delay)
timerDecayCD:Start(8-delay)
end
function mod:SPELL_CAST_START(args)
if args.spellId == 108141 then
timerFelFlamesCD:Start()
self:Schedule(0.2, showFelFlamesWarning)
end
end
--This mod needs work, the timers on this are based on failing at eyes, I don't have a log of actually doing it right, which should extend this phase significantly
function mod:SPELL_CAST_SUCCESS(args)
if args.spellId == 104905 then
self:SetWipeTime(30)--You leave combat briefly during this transition, we don't want the mod ending prematurely.
timerFelFlamesCD:Start(39.5)
timerDecayCD:Start(44)
end
end
function mod:SPELL_AURA_APPLIED(args)
if args.spellId == 105544 then
warnDecay:Show(args.destName)
timerDecay:Start(args.destName)
timerDecayCD:Start()
elseif args.spellId == 105526 then
warnFelQuickening:Show(args.destName)
timerFelQuickening:Start(args.destName)
end
end
function mod:SPELL_AURA_REMOVED(args)
if args.spellId == 105544 then
timerDecay:Cancel(args.destName)
end
end