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.
98 lines
4.6 KiB
98 lines
4.6 KiB
local mod = DBM:NewMod("AtalDazarTrash", "DBM-Party-BfA", 1)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20220920232426")
|
|
--mod:SetModelID(47785)
|
|
|
|
mod.isTrashMod = true
|
|
|
|
mod:RegisterEvents(
|
|
"SPELL_CAST_START 255824 253562 255041 253544 253517 256849 252781",
|
|
"SPELL_AURA_APPLIED 260666 255824 256849 252781 252687",
|
|
"SPELL_CAST_SUCCESS 253583 253721"
|
|
)
|
|
|
|
local warnBulwarkofJuju = mod:NewSpellAnnounce(253721, 2)
|
|
|
|
local specWarnVenomfangStrike = mod:NewSpecialWarningDefensive(252687, nil, nil, nil, 1, 2)
|
|
local specWarnUnstableHexSelf = mod:NewSpecialWarningMoveAway(252781, nil, nil, nil, 1, 2)
|
|
local yellUnstableHex = mod:NewYell(252781)
|
|
local specWarnFanaticsRage = mod:NewSpecialWarningInterrupt(255824, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnWildFire = mod:NewSpecialWarningInterrupt(253562, false, nil, 2, 1, 2)
|
|
local specWarnFieryEnchant = mod:NewSpecialWarningInterrupt(253583, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnTerrifyingScreech = mod:NewSpecialWarningInterrupt(255041, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnBwonsamdisMantle = mod:NewSpecialWarningInterrupt(253544, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnMendingWord = mod:NewSpecialWarningInterrupt(253517, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnDinoMight = mod:NewSpecialWarningInterrupt(256849, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnUnstableHex = mod:NewSpecialWarningInterrupt(252781, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnTransfusion = mod:NewSpecialWarningMoveTo(260666, nil, nil, nil, 3, 2)
|
|
local specWarnFanaticsRageDispel = mod:NewSpecialWarningDispel(255824, "RemoveEnrage", nil, 2, 1, 2)
|
|
local specWarnDinoMightDispel = mod:NewSpecialWarningDispel(256849, "MagicDispeller", nil, nil, 1, 2)
|
|
local specWarnVenomfangStrikeDispel = mod:NewSpecialWarningDispel(252687, "RemovePoison", nil, nil, 1, 2)
|
|
|
|
local taintedBlood = DBM:GetSpellInfo(255558)
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
if not self.Options.Enabled then return end
|
|
local spellId = args.spellId
|
|
if spellId == 255824 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnFanaticsRage:Show(args.sourceName)
|
|
specWarnFanaticsRage:Play("kickcast")
|
|
elseif spellId == 253562 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnWildFire:Show(args.sourceName)
|
|
specWarnWildFire:Play("kickcast")
|
|
elseif spellId == 255041 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnTerrifyingScreech:Show(args.sourceName)
|
|
specWarnTerrifyingScreech:Play("kickcast")
|
|
elseif spellId == 253544 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnBwonsamdisMantle:Show(args.sourceName)
|
|
specWarnBwonsamdisMantle:Play("kickcast")
|
|
elseif spellId == 253517 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnMendingWord:Show(args.sourceName)
|
|
specWarnMendingWord:Play("kickcast")
|
|
elseif spellId == 256849 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnDinoMight:Show(args.sourceName)
|
|
specWarnDinoMight:Play("kickcast")
|
|
elseif spellId == 252781 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnUnstableHex:Show(args.sourceName)
|
|
specWarnUnstableHex:Play("kickcast")
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
if not self.Options.Enabled then return end
|
|
local spellId = args.spellId
|
|
if spellId == 260666 and args:IsPlayer() then
|
|
specWarnTransfusion:Show(taintedBlood)
|
|
specWarnTransfusion:Play("takedamage")
|
|
elseif spellId == 255824 then
|
|
specWarnFanaticsRageDispel:Show(args.destName)
|
|
specWarnFanaticsRageDispel:Play("helpdispel")
|
|
elseif spellId == 256849 then
|
|
specWarnDinoMightDispel:Show(args.destName)
|
|
specWarnDinoMightDispel:Play("helpdispel")
|
|
elseif spellId == 252781 and args:IsPlayer() then
|
|
specWarnUnstableHexSelf:Show()
|
|
specWarnUnstableHexSelf:Play("runout")
|
|
yellUnstableHex:Yell()
|
|
elseif spellId == 252687 and args:IsDestTypePlayer() then
|
|
if args:IsPlayer() then
|
|
specWarnVenomfangStrike:Show()
|
|
specWarnVenomfangStrike:Play("defensive")
|
|
elseif self:CheckDispelFilter("poison") then
|
|
specWarnVenomfangStrikeDispel:Show(args.destName)
|
|
specWarnVenomfangStrikeDispel:Play("helpdispel")
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
if not self.Options.Enabled then return end
|
|
local spellId = args.spellId
|
|
if spellId == 253583 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnFieryEnchant:Show(args.sourceName)
|
|
specWarnFieryEnchant:Play("kickcast")
|
|
elseif spellId == 253721 and self:AntiSpam(3, 1) then
|
|
warnBulwarkofJuju:Show()
|
|
end
|
|
end
|
|
|