This commit is contained in:
Andrew6810
2022-10-21 06:50:13 -07:00
parent 8571e98fb1
commit 39c0ed874e
466 changed files with 52263 additions and 2 deletions
+87
View File
@@ -0,0 +1,87 @@
local mod = DBM:NewMod("Noth", "DBM-Naxx", 3)
local L = mod:GetLocalizedStrings()
mod:SetRevision(("$Revision: 2248 $"):sub(12, -3))
mod:SetCreatureID(15954)
mod:RegisterCombat("combat")
mod:RegisterEvents(
"SPELL_CAST_SUCCESS",
"SPELL_AURA_APPLIED",
"SPELL_AURA_APPLIED_DOSE",
"PLAYER_ALIVE"
)
-----TELEPORT-----
local warnTeleportNow = mod:NewAnnounce("Teleport Now", 3, 46573, nil, "Show warning for Noth teleporting to and from the balcony")
local warnTeleportSoon = mod:NewAnnounce("Teleport in 10 seconds", 1, 46573, nil, "Show pre-warning for Noth teleporting to and from the balcony")
local timerTeleport = mod:NewTimer(600, "Teleport to Balcony", 46573, nil, "Show timer for Noth teleporting to the balcony")
local timerTeleportBack = mod:NewTimer(600, "Teleport to Raid", 46573, nil, "Show timer for Noth teleporting from the balcony")
-----CURSE-----
local warnCurse = mod:NewSpellAnnounce(29213, 2)
local specWarnCurse = mod:NewSpecialWarningYou(29213)
-----Adds-----
local timerSkeletons = mod:NewNextTimer(30, 52611)
--Rise, my soldiers! Rise and fight once more!
-----MISC-----
-- local berserkTimer = mod:NewBerserkTimer(375)
local phase = 0
-----BOSS FUNCTIONS-----
function mod:OnCombatStart(delay)
-- berserkTimer:Start(375-delay)
timerSkeletons:Start(15-delay)
timerSkeletons:Schedule(15)
phase = 0
self:BackInRoom()
end
function mod:Balcony()
local timer
if phase == 1 then timer = 60
elseif phase == 2 then timer = 60
elseif phase == 3 then timer = 60
else return end
timerTeleportBack:Show(timer)
warnTeleportSoon:Schedule(timer - 10)
warnTeleportNow:Schedule(timer)
self:ScheduleMethod(timer, "BackInRoom")
timerSkeletons:Start(5)
timerSkeletons:Schedule(5)
end
function mod:BackInRoom()
phase = phase + 1
local timer
if phase == 1 then timer = 75
elseif phase == 2 then timer = 75
elseif phase == 3 then timer = 75
else return end
timerTeleport:Show(timer)
warnTeleportSoon:Schedule(timer - 10)
warnTeleportNow:Schedule(timer)
self:ScheduleMethod(timer, "Balcony")
timerSkeletons:Start(15)
timerSkeletons:Schedule(15)
end
function mod:SPELL_CAST_SUCCESS(args)
if args:IsSpellID(29213, 54835, 350288) then -- Curse of the Plaguebringer
warnCurse:Show()
end
end
function mod:SPELL_AURA_APPLIED(args)
if args:IsSpellID(29213, 54835, 350288) then
if args:IsPlayer() then
specWarnCurse:Show();
end
end
end
function mod:SPELL_AURA_APPLIED_DOSE(args)
if args:IsSpellID(29213, 54835, 350288) then
if args:IsPlayer() then
specWarnCurse:Show();
end
end
end