You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
3.8 KiB
108 lines
3.8 KiB
local mod = DBM:NewMod(2145, "DBM-Party-BfA", 6, 1001)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20220920232426")
|
|
mod:SetCreatureID(133392)
|
|
mod:SetEncounterID(2127)
|
|
mod.onlyHighest = true--Instructs DBM health tracking to literally only store highest value seen during fight, even if it drops below that
|
|
mod.noBossDeathKill = true
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_AURA_APPLIED 268008 269686 268024 268008",
|
|
"SPELL_AURA_REMOVED 268008 269686 274149",
|
|
"SPELL_CAST_START 268061",
|
|
"SPELL_CAST_SUCCESS 273677 274149",
|
|
"CHAT_MSG_RAID_BOSS_EMOTE"
|
|
)
|
|
|
|
--TODO, work on Cds if adds long enough for more than 1 cast each wave
|
|
local warnTaint = mod:NewSpellAnnounce(273677, 2)
|
|
local warnPulse = mod:NewSpellAnnounce(268024, 3)
|
|
local warnLifeForce = mod:NewSpellAnnounce(274149, 1)
|
|
|
|
local specWarnChainLightning = mod:NewSpecialWarningInterrupt(268061, nil, nil, nil, 1, 2)
|
|
local specWarnRainofToads = mod:NewSpecialWarningSpell(269688, nil, nil, nil, 2, 2)
|
|
local specWarnPlague = mod:NewSpecialWarningDispel(269686, "RemoveDisease", nil, nil, 1, 2)
|
|
local specWarnSnakeCharm = mod:NewSpecialWarningDispel(268008, "RemoveMagic", nil, 2, 1, 2)
|
|
|
|
--local timerRainofToadsCD = mod:NewCDTimer(20, 269688, nil, nil, nil, 1)--More work needed
|
|
local timerPlague = mod:NewTargetTimer(10, 269686, nil, "RemoveDisease", nil, 5, nil, DBM_COMMON_L.DISEASE_ICON)
|
|
local timerPulseCD = mod:NewCDTimer(15, 268024, nil, "Healer", nil, 5, nil, DBM_COMMON_L.HEALER_ICON)
|
|
--local timerLifeForce = mod:NewBuffActiveTimer(20, 274149, nil, nil, nil, 6, nil, DBM_COMMON_L.HEALER_ICON)
|
|
|
|
mod:AddNamePlateOption("NPAuraOnSnakeCharm", 268008)
|
|
|
|
function mod:OnCombatStart(delay)
|
|
timerPulseCD:Start(10-delay)
|
|
--timerRainofToadsCD:Start(1-delay)
|
|
if self.Options.NPAuraOnSnakeCharm then
|
|
DBM:FireEvent("BossMod_EnableHostileNameplates")
|
|
end
|
|
end
|
|
|
|
function mod:OnCombatEnd()
|
|
if self.Options.NPAuraOnSnakeCharm then
|
|
DBM.Nameplate:Hide(true, nil, nil, nil, true, true)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 268008 then
|
|
if self.Options.NPAuraOnSnakeCharm then
|
|
DBM.Nameplate:Show(true, args.destGUID, spellId, nil, 15)
|
|
end
|
|
elseif spellId == 269686 and self:CheckDispelFilter("disease") then
|
|
specWarnPlague:Show(args.destName)
|
|
specWarnPlague:Play("helpdispel")
|
|
timerPlague:Start(args.destName)
|
|
elseif spellId == 268024 and self:AntiSpam(3, 1) then
|
|
warnPulse:Show()
|
|
timerPulseCD:Start()
|
|
elseif spellId == 268008 and self:AntiSpam(3, 3) and self:CheckDispelFilter("magic") then
|
|
specWarnSnakeCharm:Show(args.destName)
|
|
specWarnSnakeCharm:Play("helpdispel")
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 268008 then
|
|
if self.Options.NPAuraOnSnakeCharm then
|
|
DBM.Nameplate:Hide(true, args.destGUID, spellId)
|
|
end
|
|
elseif spellId == 269686 then
|
|
timerPlague:Stop(args.destName)
|
|
elseif spellId == 274149 then--Life Force Ending
|
|
timerPulseCD:Start(9.4)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 268061 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnChainLightning:Show(args.sourceName)
|
|
specWarnChainLightning:Play("kickcast")
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
local spellId = args.spellId
|
|
if spellId == 273677 and self:AntiSpam(3, 2) then
|
|
warnTaint:Show()
|
|
elseif spellId == 274149 then
|
|
timerPulseCD:Stop()
|
|
warnLifeForce:Show()
|
|
--timerLifeForce:Start()
|
|
end
|
|
end
|
|
|
|
function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
|
|
if msg:find("spell:269688") and self:AntiSpam(5, 4) then
|
|
specWarnRainofToads:Show()
|
|
specWarnRainofToads:Play("mobsoon")
|
|
--timerRainofToadsCD:Start()
|
|
end
|
|
end
|
|
|