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

72 lines
1.7 KiB
Lua

local mod = DBM:NewMod("Venoxis", "DBM-ZG", 1)
local L = mod:GetLocalizedStrings()
mod:SetRevision(("$Revision: 132 $"):sub(12, -3))
mod:SetCreatureID(14507)
mod:RegisterCombat("combat")
mod:RegisterEvents(
"SPELL_AURA_APPLIED",
"SPELL_AURA_REMOVED",
"SPELL_CAST_SUCCESS",
"UNIT_HEALTH"
)
local warnSerpent = mod:NewTargetAnnounce(23865)
local warnCloud = mod:NewSpellAnnounce(23861)
local warnRenew = mod:NewTargetAnnounce(23895)
local warnFire = mod:NewTargetAnnounce(23860)
local prewarnPhase2 = mod:NewAnnounce("warnPhase2Soon")
local timerCloud = mod:NewBuffActiveTimer(10, 23861)
local timerRenew = mod:NewTargetTimer(15, 23895)
local timerFire = mod:NewTargetTimer(8, 23860)
mod:AddBoolOption("RangeFrame", true)
local prewarn_Phase2
function mod:OnCombatStart(delay)
prewarn_Phase2 = false
if self.Options.RangeFrame then
DBM.RangeCheck:Show(10)
end
end
function mod:OnCombatEnd()
if self.Options.RangeFrame then
DBM.RangeCheck:Hide()
end
end
function mod:SPELL_AURA_APPLIED(args)
if args:IsSpellID(23895) then
warnRenew:Show(args.destName)
timerRenew:Start(args.destName)
elseif args:IsSpellID(23860) then
warnFire:Show(args.destName)
timerFire:Start(args.destName)
elseif args:IsSpellID(23865) then
warnSerpent:Show(args.destName)
end
end
function mod:SPELL_AURA_REMOVED(args)
if args:IsSpellID(23895) then
timerRenew:Cancel(args.destName)
end
end
function mod:SPELL_CAST_SUCCESS(args)
if args:IsSpellID(23861) then
warnCloud:Show()
timerCloud:Start()
end
end
function mod:UNIT_HEALTH(uId)
if not prewarn_Phase2 and self:GetUnitCreatureId(uId) == 14507 and UnitHealth(uId) / UnitHealthMax(uId) <= 0.53 then
prewarn_Phase2 = true
prewarnPhase2:Show()
end
end