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.

70 lines
2.0 KiB

local mod = DBM:NewMod(105, "DBM-Party-Cataclysm", 1, 66)
local L = mod:GetLocalizedStrings()
mod.statTypes = "normal,heroic,timewalker"
mod:SetRevision("20210922153837")
mod:SetCreatureID(39665)
mod:SetEncounterID(1040)
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_AURA_APPLIED 75571",
"SPELL_CAST_START 75272 75539 75543",
"UNIT_HEALTH boss1"
)
local warnWoundingStrike = mod:NewTargetNoFilterAnnounce(75571, 2, nil, "Tank|Healer", 2)
local warnQuake = mod:NewSpellAnnounce(75272, 3)
local warnChainsWoeSoon = mod:NewSoonAnnounce(75539, 3)
local warnChainsWoe = mod:NewSpellAnnounce(75539, 4)
local timerWoundingStrike = mod:NewTargetTimer(6, 75571, nil, "Healer|Tank", nil, 3)
local timerQuake = mod:NewCastTimer(3, 75272, nil, nil, nil, 2)
local timerQuakeCD = mod:NewCDTimer(19, 75272, nil, nil, nil, 2)
local timerSkullcracker = mod:NewCastTimer(12, 75543, nil, nil, nil, 2)
local warnedChains
function mod:OnCombatStart(delay)
timerQuakeCD:Start(-delay)
warnedChains = false
end
function mod:SPELL_AURA_APPLIED(args)
if args.spellId == 75571 then
warnWoundingStrike:Show(args.destName)
if not self:IsDifficulty("normal5") then
timerWoundingStrike:Start(10, args.destName)
else
timerWoundingStrike:Start(6, args.destName)
end
end
end
function mod:SPELL_CAST_START(args)
if args.spellId == 75272 then
warnQuake:Show()
timerQuake:Start()
timerQuakeCD:Start()
elseif args.spellId == 75539 then
warnChainsWoe:Show()
elseif args.spellId == 75543 then
if not self:IsDifficulty("normal5") then
timerSkullcracker:Start(8)
else
timerSkullcracker:Start()
end
end
end
function mod:UNIT_HEALTH(uId)
local h = UnitHealth(uId) / UnitHealthMax(uId) * 100
if warnedChains and (h > 80 or h > 45 and h < 60) then
warnedChains = false
elseif not warnedChains and (h > 68 and h < 73 or h > 35 and h < 40) then
warnedChains = true
warnChainsWoeSoon:Show()
end
end