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