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