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

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