Files
Szyler 5b3b160e21 5.16 update (#1)
Co-authored-by: Szyler <Szyler@Szyler.com>
2022-12-01 14:16:16 -07:00

116 lines
3.4 KiB
Lua

local mod = DBM:NewMod("Fathomlord", "DBM-Serpentshrine")
local L = mod:GetLocalizedStrings()
mod:SetRevision(("$Revision: 183 $"):sub(12, -3))
mod:SetCreatureID(21214)
mod:RegisterCombat("combat", 21214)
mod:RegisterEvents(
"SPELL_AURA_APPLIED",
"SPELL_AURA_APPLIED_DOSE",
"SPELL_CAST_START",
"SPELL_CAST_SUCCESS",
"SPELL_SUMMON"
)
local warnCariPower = mod:NewSpellAnnounce(2137927, 3)
local warnTidalPower = mod:NewSpellAnnounce(2137928, 3)
local warnSharPower = mod:NewSpellAnnounce(2137929, 3)
local warnBeastWithin = mod:NewTargetAnnounce(2137939, 3)
local warnHurricane = mod:NewSpellAnnounce(2137918, 3)
local warnHurricaneYou = mod:NewSpecialWarningYou(2137918, 3)
local warnBlessingTides = mod:NewAnnounce(L.BlessingTides, 2, 2137931)
local specWarnHeal = mod:NewSpellAnnounce(2137916, 3)
local specWarnTotem = mod:NewSpecialWarning("Move from Totem!")
local timerBlessingTides = mod:NewNextTimer(30, 2137931)
local timerTornado = mod:NewNextTimer(30, 38517)
local timerHeal = mod:NewNextTimer(30, 2137916)
local timerFreeze = mod:NewCDTimer(20, 2137909)
local timerHurricane = mod:NewNextTimer(30, 2137918) --351370, 351371
local timerCataclysmic = mod:NewCDTimer(9, 2137912)
local timerBeastWithin = mod:NewNextTimer(30, 2137939)
local berserkTimer = mod:NewBerserkTimer(720)
local CariPowerActive = false
local TidalPowerActive = false
local SharPowerActive = false
function mod:OnCombatStart(delay)
berserkTimer:Start(-delay)
isCasterKilled = false
timerHeal:Start(25-delay)
timerFreeze:Start(8-delay)
timerTornado:Start(30-delay)
timerHurricane:Start(11-delay)
self:ScheduleMethod(30, "Tornado")
timerCataclysmic:Start(10-delay)
local CariPowerActive = false
local TidalPowerActive = false
local SharPowerActive = false
end
function mod:Tornado()
timerTornado:Start(30)
self:ScheduleMethod(30, "Tornado")
end
function mod:SPELL_AURA_APPLIED(args)
if args:IsSpellID(2137927, 85367) then -- 85367
warnCariPower:Show()
CariPowerActive = true
elseif args:IsSpellID(2137928, 85368) then -- 85368
warnTidalPower:Show()
TidalPowerActive = true
elseif args:IsSpellID(2137929, 85369) then -- 85369
warnSharPower:Show()
SharPowerActive = true
elseif args.spellId == 2137909 then -- Deep Freeze
if args.sourceName == L.name then --Fathom-Lord Karathress
timerFreeze:Start(30) -- Deep Freeze Fathom-Lord
else
timerFreeze:Start() -- Fathom-Guard Caribdis
end
elseif args:IsSpellID(2137939) then -- Beast Within
warnBeastWithin:Show(args.destName)
timerBeastWithin:Start()
elseif args:IsSpellID(2137918, 2137919, 2137920, 2137921) then -- Hurricane
warnHurricane:Show(args.destName)
timerHurricane:Start()
if args:IsPlayer() then
warnHurricaneYou:Show()
end
elseif args:IsSpellID(2137931) then -- Blessing of the Tides
warnBlessingTides:Show(args.destName)
timerBlessingTides:Start()
end
end
function mod:SPELL_AURA_APPLIED_DOSE(args)
if args:IsSpellID(2137931) then -- Blessing of the Tides
warnBlessingTides:Show(args.destName)
timerBlessingTides:Start()
end
end
function mod:SPELL_CAST_START(args)
if args:IsSpellID(2137916, 83535) then -- 83535
specWarnHeal:Show()
timerHeal:Start()
end
end
function mod:SPELL_CAST_SUCCESS(args)
if args:IsSpellID(2137912, 2137913, 2137914, 2137915) and CariPowerActive == true and TidalPowerActive == true and SharPowerActive == true then
timerCataclysmic:Start()
end
end
function mod:SPELL_SUMMON(args)
if args.spellId == 38236 then
specWarnTotem:Show()
end
end