81 lines
2.1 KiB
Lua
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 |