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

100 lines
2.9 KiB
Lua

local mod = DBM:NewMod("Akama", "DBM-BlackTemple")
local L = mod:GetLocalizedStrings()
mod:SetRevision(("$Revision: 5019 $"):sub(12, -3))
mod:SetCreatureID(23421)
mod:RegisterCombat("combat", 22841)
-- Akama:SetMinCombatTime(60)
mod:RegisterEvents(
"UNIT_DIED",
"SPELL_AURA_APPLIED",
"SPELL_AURA_APPLIED_DOSE",
"SPELL_AURA_REMOVED",
"SPELL_HEAL"
)
local timerNextAdds = mod:NewNextTimer(35, 2142603)
local warnSoulDomination = mod:NewSpellAnnounce(2142603, 2)
local timerSoulDomination = mod:NewCastTimer(300, 2142603)
local warnDeadlyPoison = mod:NewTargetAnnounce(2142657, 2)
local warnPoisonedShiv = mod:NewTargetAnnounce(2142653, 2)
local warnHealingStream = mod:NewSpellAnnounce(2142677, 2)
local warnRiptide = mod:NewSpellAnnounce(2142680, 2) --Might be useful to warn if this is cast on shade of akama
local warnVigilance = mod:NewSpellAnnounce(2142686, 2) --Might be useful to warn if this is cast on shade of akama
function mod:OnCombatStart(delay)
timerNextAdds:Start(5-delay)
self:ScheduleMethod(5-delay, "NewAdds")
end
function mod:OnCombatEnd()
DBM.RangeCheck:Hide()
end
function mod:NewAdds()
self:UnscheduleMethod("NewAdds")
timerNextAdds:Start()
self:ScheduleMethod(35, "NewAdds")
end
function mod:SPELL_AURA_APPLIED(args)
if args:IsSpellID(2142603) then
warnSoulDomination:Show()
timerSoulDomination:Start()
elseif args:IsSpellID(2142657) and args.amount and args.amount >= 2 and args.amount % 2 == 0 then
warnDeadlyPoison:Show(args.destName)
elseif args:IsSpellID(2142653) and args.amount and args.amount >= 2 and args.amount % 2 == 0 then
warnPoisonedShiv:Show(args.destName)
elseif args:IsSpellID(2142686) and self:GetCIDFromGUID(args.destGUID) == 22841 then
warnVigilance:Show()
elseif args:IsSpellID(2142680) and args:GetDestCreatureID() == 22841 then --not sure if this check works
warnRiptide:Show()
end
end
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED -- Hack to include applied_dose as well without more code
function mod:SPELL_AURA_REMOVED(args)
if args:IsSpellID(2142603) then
-- warnSoulDomination:Hide()
timerSoulDomination:Stop()
end
end
function mod:SPELL_HEAL(args)
if args:IsSpellID(2142677) and DBM:AntiSpam(5) then
warnHealingStream:Show()
end
end
-- local channelersDown = 0
-- local sorcerersDown = 0
-- channelersDown = 0
-- sorcerersDown = 0
-- function Akama:OnEvent(event, arg1)
-- if event == "UNIT_DIED" then
-- if arg1.destName == DBM_AKAMA_MOB_CHANNELER then
-- self:SendSync("Channeler")
-- elseif arg1.destName == DBM_AKAMA_MOB_SORCERER then
-- self:SendSync("Sorcerer")
-- end
-- end
-- end
-- function Akama:OnSync(msg)
-- if msg == "Channeler" then
-- channelersDown = channelersDown + 1
-- self:Announce(DBM_AKAMA_WARN_CHANNELER_DOWN:format(channelersDown), 2)
-- elseif msg == "Sorcerer" then
-- sorcerersDown = sorcerersDown + 1
-- self:Announce(DBM_AKAMA_WARN_SORCERER_DOWN:format(sorcerersDown), 2)
-- end
-- end