Files
Andrew6810 39c0ed874e init
2022-10-21 06:50:13 -07:00

96 lines
2.3 KiB
Lua

local mod = DBM:NewMod("Thekal", "DBM-ZG", 1)
local L = mod:GetLocalizedStrings()
mod:SetRevision(("$Revision: 148 $"):sub(12, -3))
mod:SetCreatureID(14509, 11348, 11347)
mod:RegisterCombat("combat")
mod:RegisterKill("yell", L.YellKill)
mod:SetBossHealthInfo(
14509, L.Thekal,
11348, L.Zath,
11347, L.LorKhan
)
mod:RegisterEvents(
"SPELL_CAST_START",
"SPELL_AURA_APPLIED",
"SPELL_AURA_REMOVED",
"SPELL_SUMMON",
"CHAT_MSG_MONSTER_EMOTE",
"CHAT_MSG_MONSTER_YELL"
)
local warnSimulKill = mod:NewAnnounce("WarnSimulKill", 1, 24173)
local warnHeal = mod:NewCastAnnounce(24208)
local warnBlind = mod:NewTargetAnnounce(21060)
local warnGouge = mod:NewTargetAnnounce(12540)
local warnPhase2 = mod:NewPhaseAnnounce(2)
local warnAdds = mod:NewSpellAnnounce(24183)
local timerSimulKill = mod:NewTimer(15, "TimerSimulKill", 24173)
local timerHeal = mod:NewCastTimer(4, 24208)
local timerBlind = mod:NewTargetTimer(10, 21060)
local timerGouge = mod:NewTargetTimer(4, 12540)
function mod:SPELL_CAST_START(args)
if args:IsSpellID(24208) then
warnHeal:Show()
timerHeal:Start()
end
end
function mod:SPELL_AURA_APPLIED(args)
if args:IsSpellID(21060) then --Blind Daze
warnBlind:Show(args.destName)
timerBlind:Start(args.destName)
elseif args:IsSpellID(12540) and self:IsInCombat() then --Gouge Stun
warnGouge:Show(args.destName)
timerGouge:Start(args.destName)
end
end
function mod:SPELL_AURA_REMOVED(args)
if args:IsSpellID(21060) then
timerBlind:Cancel(args.destName)
elseif args:IsSpellID(12540) then
timerGouge:Cancel(args.destName)
end
end
function mod:SPELL_SUMMON(args)
if args:IsSpellID(24813) then
warnAdds:Show()
end
end
local killTime = 0
function mod:CHAT_MSG_MONSTER_EMOTE(msg)
if msg == L.PriestDied then -- Starts timer before ressurection of adds.
self:SendSync("PriestDied")
end
end
function mod:CHAT_MSG_MONSTER_YELL(msg)
if msg == L.YellPhase2 then -- Bossfight (tank and spank)
self:SendSync("YellPhase2")
end
end
function mod:OnSync(msg, arg)
if msg == "PriestDied" then
if (GetTime() - killTime) > 20 then
warnSimulKill:Show()
timerSimulKill:Start()
killTime = GetTime()
end
elseif msg == "YellPhase2" then
warnPhase2:Show()
timerSimulKill:Cancel()
DBM.BossHealth:Clear()
DBM.BossHealth:AddBoss(14509, L.Thekal)
end
end