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.

60 lines
2.3 KiB

local mod = DBM:NewMod(484, "DBM-Party-Vanilla", DBM:IsPostCata() and 15 or 20, 241)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20240316010232")
mod:SetCreatureID(8127)
mod:SetEncounterID(595)
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 11895 15982 4971 8376",
"SPELL_CAST_SUCCESS 11894"
)
--TODO, Totems on shared timer?
--TODO, tone down special warnings if they are too much. They might be more than people are used to/want in classic
local warningEarthgrabTotem = mod:NewSpellAnnounce(8376, 2)
local warningHealingWard = mod:NewSpellAnnounce(4971, 4)
local specWarnHealingWaveSelf = mod:NewSpecialWarningInterrupt(11895, "HasInterrupt", nil, nil, 1, 2)
local specWarnHealingWaveAlly = mod:NewSpecialWarningInterrupt(15982, "HasInterrupt", nil, nil, 1, 2)
local specWarnMinions = mod:NewSpecialWarningSwitch(11894, "Dps", nil, nil, 1, 2)
local timerHealingWaveSelfCD = mod:NewAITimer(180, 11895, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)
local timerHealingWaveAllyCD = mod:NewAITimer(180, 15982, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)
local timerMinionsCD = mod:NewAITimer(180, 11894, nil, nil, nil, 1, nil, DBM_COMMON_L.DAMAGE_ICON)
function mod:OnCombatStart(delay)
timerHealingWaveSelfCD:Start(1-delay)
timerHealingWaveAllyCD:Start(1-delay)
timerMinionsCD:Start(1-delay)
end
function mod:SPELL_CAST_START(args)
if args:IsSpell(11895) then
timerHealingWaveSelfCD:Start()
if self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnHealingWaveSelf:Show(args.sourceName)
specWarnHealingWaveSelf:Play("kickcast")
end
elseif args:IsSpell(15982) and args:IsSrcTypeHostile() then
timerHealingWaveAllyCD:Start()
if self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnHealingWaveAlly:Show(args.sourceName)
specWarnHealingWaveAlly:Play("kickcast")
end
elseif args:IsSpell(8376) and args:IsSrcTypeHostile() then
warningEarthgrabTotem:Show()
elseif args:IsSpell(4971) and args:IsSrcTypeHostile() then
warningHealingWard:Show()
end
end
function mod:SPELL_CAST_SUCCESS(args)
if args:IsSpell(11894) then
specWarnMinions:Show()
specWarnMinions:Play("killmob")
timerMinionsCD:Start()
end
end