5b3b160e21
Co-authored-by: Szyler <Szyler@Szyler.com>
116 lines
3.4 KiB
Lua
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
|