72 lines
1.7 KiB
Lua
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 |