Files
coa-dbm/DBM-Naxx/ConstructQuarter/Gluth.lua
T
Szyler dc8afd6584 5.19b (#4)
Co-authored-by: Szyler <Szyler@Szyler.com>
2024-03-03 11:23:13 -07:00

92 lines
2.7 KiB
Lua

local mod = DBM:NewMod("Gluth", "DBM-Naxx", 2)
local L = mod:GetLocalizedStrings()
mod:SetRevision(("$Revision: 2869 $"):sub(12, -3))
mod:SetCreatureID(15932)
mod:RegisterCombat("combat")
mod:EnableModel()
mod:RegisterEvents(
"SPELL_DAMAGE",
"PLAYER_ALIVE",
"SPELL_CAST_SUCCESS",
"SPELL_AURA_APPLIED",
"SPELL_AURA_APPLIED_DOSE",
"UNIT_DIED"
)
-----DECIMATE-----
local warnDecimateSoon = mod:NewSoonAnnounce(2122905, 2)
local warnDecimateNow = mod:NewSpellAnnounce(2122905, 2)
local timerDecimate = mod:NewNextTimer(120, 2122905)
local timerFeedFrenzy = mod:NewTimer(30, "Gluth is in a Frenzy", 2122923)
-------MOOD--------
local warnHungry = mod:NewAnnounce("Gluth is Hungry", 2, 2122903, nil, "Show a warning when Gluth gets hungry")
local specWarnAngry = mod:NewSpecialWarning("%s on >%s< (%d)", 2, 2122904)
local warnViciousStacks = mod:NewAnnounce("%s on >%s< (%d)", 2, 2122901)
local SpecWarnVicStacks = mod:NewSpecialWarningStack(2122901, 2)
-----MISC-----
local enrageTimer = mod:NewBerserkTimer(480)
-----BOSS FUNCTIONS-----
function mod:OnCombatStart(delay)
enrageTimer:Start(480 - delay)
timerDecimate:Start(120 - delay)
warnDecimateSoon:Schedule(115 - delay)
end
function mod:SPELL_CAST_SUCCESS(args)
if args:IsSpellID(2122905)then
warnDecimateNow:Show()
timerDecimate:Start()
warnDecimateSoon:Schedule(115)
end
end
function mod:SPELL_AURA_APPLIED_DOSE(args)
if args:IsSpellID(2122901) then
if args:IsPlayer() then
SpecWarnVicStacks:Show(args.amount)
else
warnViciousStacks:Show(args.spellName, args.destName, args.amount or 1)
end
elseif args:IsSpellID(2122904) then
if args.amount >=1 then
specWarnAngry:Show(args.spellName, args.destName, args.amount or 1)
end
end
end
function mod:SPELL_AURA_APPLIED(args)
if args:IsSpellID(2122901) then
if args:IsPlayer() then
SpecWarnVicStacks:Show(args.amount or 1)
else
warnViciousStacks:Show(args.spellName, args.destName, args.amount or 1)
end
elseif args:IsSpellID(2122904) then
specWarnAngry:Show(args.spellName, args.destName, args.amount or 1)
elseif args:IsSpellID(2122903) then
warnHungry:Show()
elseif args:IsSpellID(2122923) and (args.destName == "Gluth") then
timerFeedFrenzy:Start()
end
end
function mod:UNIT_DIED(args)
local cid = self:GetCIDFromGUID(args.destGUID)
if cid == 15932 or cid == 26628 then
timerDecimate:Stop()
end
end
function mod:OnCombatEnd()
timerDecimate:Stop()
end
--Vicious Strike debuff 2122901 || Feeding Frenzy 2122923
--DBM_MOROES_GARROTE = "%s on >%s< (%d)" --(args.spellName, args.destName, args.amount or 1)
--local warningGarrote = mod:NewAnnounce(DBM_GLUTH_VICIOUS_BITE, 3, 37066)
--warningGarrote:Show(args.spellName, args.destName, args.amount or 1)
--L:SetWarningLocalization{