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.

58 lines
1.5 KiB

local mod = DBM:NewMod(127, "DBM-Party-Cataclysm", 4, 70)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20240714045506")
mod:SetCreatureID(39587)
mod:SetEncounterID(1077)
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_AURA_APPLIED",
"SPELL_CAST_START",
"UNIT_HEALTH"
)
local warnAstralRain = mod:NewSpellAnnounce(74134, 3)
local warnVeilSky = mod:NewSpellAnnounce(74133, 3)
local warnSplitSoon = mod:NewAnnounce("WarnSplitSoon", 3)
local specWarnSupernova = mod:NewSpecialWarningLookAway(74136, nil, nil, nil, 1, 2)
local timerAstralRain = mod:NewBuffActiveTimer(8, 74134, nil, nil, nil, 2)
local timerSupernova = mod:NewCastTimer(3, 74136, nil, nil, nil, 2)
local warnedSplit
function mod:OnCombatStart(delay)
warnedSplit = false
end
function mod:SPELL_AURA_APPLIED(args)
if args.spellId == 74134 then--74365?
warnAstralRain:Show()
timerAstralRain:Start()
elseif args.spellId == 74133 then
warnVeilSky:Show()
end
end
function mod:SPELL_CAST_START(args)
if args.spellId == 74136 then
specWarnSupernova:Show(args.sourceName)
specWarnSupernova:Play("turnaway")
timerSupernova:Start()
end
end
function mod:UNIT_HEALTH(uId)
if UnitName(uId) == L.name then
local h = UnitHealth(uId) / UnitHealthMax(uId) * 100
if (h > 80) or (h > 45 and h < 60) then
warnedSplit = false
elseif (h < 75 and h > 72 or h < 41 and h > 38) and not warnedSplit then
warnedSplit = true
warnSplitSoon:Show()
end
end
end