Files
coa-dbm/DBM-ZG/Hakkar.lua
T
Andrew6810 39c0ed874e init
2022-10-21 06:50:13 -07:00

81 lines
2.1 KiB
Lua

local mod = DBM:NewMod("Hakkar", "DBM-ZG", 1)
local L = mod:GetLocalizedStrings()
mod:SetRevision(("$Revision: 132 $"):sub(12, -3))
mod:SetCreatureID(14834)
mod:RegisterCombat("combat")
mod:RegisterEvents(
"SPELL_AURA_APPLIED",
"SPELL_CAST_SUCCESS_DOSE",
"CHAT_MSG_RAID_BOSS_EMOTE"
)
local warnSiphonSoon = mod:NewSoonAnnounce(24324)
local timerSiphon = mod:NewNextTimer(60, 24324)
local warnInsanity = mod:NewTargetAnnounce(24327)
local timerInsanity = mod:NewTargetTimer(10, 24327)
local timerNextInsanity = mod:NewNextTimer(30, 24327)
local warnBlood = mod:NewTargetAnnounce(24328)
local specWarnBlood = mod:NewSpecialWarningYou(24328)
local timerBlood = mod:NewTargetTimer(16, 24328)
local specWarnPool = mod:NewSpecialWarningYou(340510)
local specWarnPoison = mod:NewSpecialWarningYou(24320)
local warnSonSoon = mod:NewSoonAnnounce(46729)
local timerSon = mod:NewNextTimer(60, 46729)
local enrageTimer = mod:NewBerserkTimer(585)
function mod:OnCombatStart(delay)
enrageTimer:Start(-delay)
warnSiphonSoon:Schedule(55-delay)
timerSiphon:Start(-delay)
timerNextInsanity:Start(-delay)
warnSonSoon:Schedule(25-delay)
timerSon:Start(30-delay)
end
function mod:SPELL_AURA_APPLIED(args)
if args:IsSpellID(24327, 24178) then
warnInsanity:Show(args.destName)
timerInsanity:Start(args.destName)
timerNextInsanity:Start()
elseif args:IsSpellID(24328, 350416) or args:IsSpellID(350418, 350417) then
warnBlood:Show(args.destName)
timerBlood:Start(args.destName)
if args:IsPlayer() then
specWarnBlood:Show()
end
elseif args:IsSpellID(340510, 350419, 350420) then
if args:IsPlayer() then
specWarnPool:Show()
end
elseif args:IsSpellID(24320) then
if args:IsPlayer() then
specWarnPoison:Show()
end
elseif args:IsSpellID(24324) then
warnSiphonSoon:Cancel()
warnSiphonSoon:Schedule(55)
timerSiphon:Start()
end
end
function mod:SPELL_AURA_APPLIED_DOSE(args)
if args:IsSpellID(340510, 350419, 350420) then
if args:IsPlayer() then
specWarnPool:Show()
end
end
end
function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
if msg:find("A Son of Hakkar joins the fight!") then
warnSonSoon:Schedule(55)
timerSon:Start()
end
end