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.

60 lines
2.9 KiB

local mod = DBM:NewMod("BSMTrash", "DBM-Party-WoD", 2)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20240128051616")
--mod:SetModelID(47785)
mod.isTrashMod = true
mod:RegisterEvents(
"SPELL_AURA_APPLIED 164597 151548 151697 151965",
"SPELL_CAST_START 152298 151447 151545 151558 151581"
)
local warnCinderSplash = mod:NewSpellAnnounce(152298, 3)
local specWarnCrush = mod:NewSpecialWarningDodge(151447, "Tank", nil, nil, 1, 2)
local specWarnRoar = mod:NewSpecialWarningInterrupt(151545, "HasInterrupt", nil, 2, 1, 2)--Maybe healer need warning too, if interrupt gets off, healer can't heal for 5 seconds
local specWarnLavaBurst = mod:NewSpecialWarningInterrupt(151558, "HasInterrupt", nil, 2, 1, 2)
local specWarnSuppressionField = mod:NewSpecialWarningInterrupt(151581, "HasInterrupt", nil, 2, 1, 2)--Maybe healer need warning too, if interrupt gets off, healer can't heal for 5 seconds
local specWarnStoneBulwark = mod:NewSpecialWarningDispel(164597, "MagicDispeller", nil, nil, 1, 2)
local specWarnBloodRage = mod:NewSpecialWarningDispel(151548, "MagicDispeller", nil, nil, 1, 2)
local specWarnSubjugate = mod:NewSpecialWarningDispel(151697, "RemoveMagic", nil, 2, 1, 2)
local specWarnSlaversRage = mod:NewSpecialWarningDispel(151965, "RemoveEnrage", nil, nil, 1, 2)
function mod:SPELL_AURA_APPLIED(args)
if not self.Options.Enabled then return end
local spellId = args.spellId
if spellId == 164597 and not args:IsDestTypePlayer() then
specWarnStoneBulwark:Show(args.destName)
specWarnStoneBulwark:Play("helpdispel")
elseif spellId == 151548 and not args:IsDestTypePlayer() and self:IsValidWarning(args.sourceGUID) then--Antispam
specWarnBloodRage:Show(args.destName)
specWarnBloodRage:Play("helpdispel")
elseif spellId == 151697 and self:CheckDispelFilter("magic") then
specWarnSubjugate:Show(args.destName)
specWarnSubjugate:Play("helpdispel")
elseif spellId == 151965 then
specWarnSlaversRage:Show(args.destName)
specWarnSlaversRage:Play("enrage")
end
end
function mod:SPELL_CAST_START(args)
if not self.Options.Enabled then return end
local spellId = args.spellId
if spellId == 152298 and self:AntiSpam(5, 1) then
warnCinderSplash:Show()
elseif spellId == 151447 then
specWarnCrush:Show()
specWarnCrush:Play("shockwave")
elseif spellId == 151545 and self:IsValidWarning(args.sourceGUID) and self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnRoar:Show(args.sourceName)
specWarnRoar:Play("kickcast")
elseif spellId == 151558 and self:IsValidWarning(args.sourceGUID) and self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnLavaBurst:Show(args.sourceName)
specWarnLavaBurst:Play("kickcast")
elseif spellId == 151581 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnSuppressionField:Show(args.sourceName)
specWarnSuppressionField:Play("kickcast")
end
end