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.
388 lines
20 KiB
388 lines
20 KiB
local mod = DBM:NewMod("TirnaScitheTrash", "DBM-Party-Shadowlands", 3)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20240809034357")
|
|
--mod:SetModelID(47785)
|
|
|
|
mod.isTrashMod = true
|
|
mod.isTrashModBossFightAllowed = true
|
|
|
|
mod:RegisterEvents(
|
|
"SPELL_CAST_START 321968 324909 324923 324914 324776 340305 340304 340300 340160 340189 326046 331718 331743 460092 463256 463248 340208 340289 326021",--325418
|
|
"SPELL_CAST_SUCCESS 325418 340544 322938 325223 331743 340279 321968 324923 331718 322486 322557 324914 324776 326046 463248 463256 340160 340208 340189 326021 460092 324987 340300",
|
|
"SPELL_INTERRUPT",
|
|
"SPELL_AURA_APPLIED 322557 324914 324776 325224 340288 326046 322486 325021",
|
|
"SPELL_AURA_APPLIED_DOSE 340288",
|
|
"SPELL_AURA_REMOVED 325224",
|
|
"UNIT_DIED"
|
|
)
|
|
|
|
--TODO, adjust triple bite stack warnings? More often, less often?
|
|
--TODO, target scan crushing leap? If it can be done, and if the two aoe abilities come from leap target destination, fine tune those warnings too
|
|
--TODO, see if Pool of Radiance is too early to warn, might need to warn at 340191/rejuvenating-radiance instead
|
|
--TODO, add https://www.wowhead.com/beta/spell=322569/hand-of-thros ? can you really do anything about it though? Guess tank can kite, timer too varaible to add
|
|
--TODO, add https://www.wowhead.com/beta/spell=463217/anima-slash stack tracking?
|
|
--TODO, track https://www.wowhead.com/beta/spell=340289/triple-bite cast itself for nameplate timer purposes?
|
|
--TODO, dispel warning for https://www.wowhead.com/beta/spell=340283/poisonous-discharge ?
|
|
--[[
|
|
(ability.id = 321968 or ability.id = 324909 or ability.id = 324923 or ability.id = 324914 or ability.id = 324776 or ability.id = 340305 or ability.id = 340304 or ability.id = 340300 or ability.id = 340160 or ability.id = 340189 or ability.id = 326046 or ability.id = 331718 or ability.id = 331743 or ability.id = 460092 or ability.id = 463256 or ability.id = 463248 or ability.id = 340208 or ability.id = 340289 or ability.id = 326021) and (type = "begincast" or type = "cast")
|
|
or (ability.id = 325418 or ability.id = 340544 or ability.id = 322938 or ability.id = 325223 or ability.id = 331743 or ability.id = 340279 or ability.id = 321968 or ability.id = 324923 or ability.id = 331718 or ability.id = 322486 or ability.id = 322557 or ability.id = 324914 or ability.id = 324776 or ability.id = 326046) and type = "cast"
|
|
or stoppedAbility.id = 322938 or stoppedAbility.id = 324914 or stoppedAbility.id = 324776 or stoppedAbility.id = 326046 or stoppedAbility.id = 340544
|
|
or type = "dungeonencounterstart" or type = "dungeonencounterend"
|
|
--]]
|
|
local warnOvergrowth = mod:NewTargetAnnounce(322486, 4)
|
|
local warnFuriousThrashing = mod:NewSpellAnnounce(324909, 3)--No CD timer because no one has ever seen it cast twice in a row
|
|
local warnTripleBite = mod:NewStackAnnounce(340288, 2, nil, "Tank|Healer|RemovePoison")
|
|
local warnCrushingLeap = mod:NewSpellAnnounce(340305, 3)--Change to target warning if target scan debug checks out
|
|
local warnVolatileAcid = mod:NewTargetAnnounce(325418, 3)
|
|
local warnHarvestEssence = mod:NewCastAnnounce(322938, 4, 6)--High Prio off internet
|
|
local warnNourishtheForest = mod:NewCastAnnounce(324914, 4)--High Prio off internet
|
|
local warnBuckingRampage = mod:NewSpellAnnounce(331743, 3, nil, "Melee")--Annoying spell that can do a lot of burst damage to melee that's not interruptable
|
|
local warnMistveilTear = mod:NewTargetNoFilterAnnounce(325021, 3, nil, "Tank|Healer|RemoveBleed")
|
|
|
|
--General
|
|
--local specWarnGTFO = mod:NewSpecialWarningGTFO(257274, nil, nil, nil, 1, 8)
|
|
local specWarnAcidNova = mod:NewSpecialWarningSpell(460092, nil, nil, nil, 2, 2)
|
|
local specWarnBrambleBurst = mod:NewSpecialWarningDodge(324923, nil, nil, nil, 2, 2)
|
|
local specWarnSpearFlurry = mod:NewSpecialWarningDodge(331718, nil, nil, nil, 2, 2)
|
|
local specWarnPoisonousSecretions = mod:NewSpecialWarningDodge(340304, nil, nil, nil, 2, 2)
|
|
local specWarnTongueLashing = mod:NewSpecialWarningDodge(340300, nil, nil, nil, 2, 2)
|
|
local specWarnRadiantBreath = mod:NewSpecialWarningDodge(340160, nil, nil, nil, 2, 2)
|
|
local specWarnPoisonousDischarge = mod:NewSpecialWarningDodge(340279, nil, nil, nil, 2, 2)
|
|
local specWarnBewilderingPollen = mod:NewSpecialWarningDodge(321968, nil, nil, nil, 1, 2)
|
|
local specWarnExpel = mod:NewSpecialWarningDodge(463248, nil, nil, nil, 2, 2)
|
|
local specWarnAcidGlobule = mod:NewSpecialWarningDodge(326021, nil, nil, nil, 2, 2)
|
|
local specWarnOvergrowth = mod:NewSpecialWarningMoveTo(322486, nil, nil, nil, 1, 11)
|
|
local specWarnShredArmor = mod:NewSpecialWarningDefensive(340208, nil, nil, nil, 1, 2)
|
|
local specWarnSoulSplit = mod:NewSpecialWarningDispel(322557, "RemoveMagic", nil, nil, 1, 2)
|
|
local specWarnNourishtheForestDispel = mod:NewSpecialWarningDispel(324914, "MagicDispeller", nil, nil, 1, 2)
|
|
local specWarnBramblethornCoatDispel = mod:NewSpecialWarningDispel(324776, "MagicDispeller", nil, nil, 1, 2)
|
|
local specWarnStimulateResistanceDispel = mod:NewSpecialWarningDispel(326046, "MagicDispeller", nil, nil, 1, 2)
|
|
local specWarnPoolOfRadiance = mod:NewSpecialWarningMove(340189, nil, nil, nil, 1, 10)
|
|
local specWarnMistWard = mod:NewSpecialWarningMove(463256, nil, nil, nil, 1, 10)
|
|
local specWarnVolatileAcid = mod:NewSpecialWarningMoveAway(325418, nil, nil, nil, 1, 2)
|
|
local yellVolatileAcid = mod:NewShortYell(325418)
|
|
local specWarnAnimaInjection = mod:NewSpecialWarningMoveAway(325224, nil, nil, nil, 1, 2)
|
|
local yellAnimaInjection = mod:NewShortYell(325224)
|
|
local yellAnimaInjectionFades = mod:NewShortFadesYell(325224)
|
|
local specWarnHarvestEssence = mod:NewSpecialWarningInterrupt(322938, "HasInterrupt", nil, nil, 1, 2)--High Prio Interrupt
|
|
local specWarnNourishtheForest = mod:NewSpecialWarningInterrupt(324914, "HasInterrupt", nil, nil, 1, 2)--High Prio Interrupt
|
|
local specWarnBramblethornCoat = mod:NewSpecialWarningInterrupt(324776, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnStimulateResistance = mod:NewSpecialWarningInterrupt(326046, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnStimulateRegeneration = mod:NewSpecialWarningInterrupt(340544, "HasInterrupt", nil, nil, 1, 2)
|
|
|
|
--Cooldowns only show Recast time after successful interrupt or cast finish
|
|
--This means stunned/CCed mobs will not show recast timers since abilities do not go on cooldown
|
|
local timerBewilderingPollenCD = mod:NewCDNPTimer(12.2, 321968, nil, nil, nil, 3)--Valid Aug 8
|
|
local timerOvergrowthCD = mod:NewCDNPTimer(15.3, 322486, nil, nil, nil, 3)--Valid Aug 8
|
|
local timerBrambleBurstCD = mod:NewCDNPTimer(13.5, 324923, nil, nil, nil, 3)--Valid Aug 8
|
|
local timerSpearFlurryCD = mod:NewCDNPTimer(9.3, 331718, nil, false, nil, 3)--Likely deleted from game
|
|
local timerAnimaInjectionCD = mod:NewCDNPTimer(14.1, 325224, nil, nil, nil, 3)--Valid Aug 8
|
|
local timerBuckingRampageCD = mod:NewCDNPTimer(15.2, 331743, nil, nil, nil, 3)--Likely deleted from game
|
|
local timerPoisonousDischargeCD = mod:NewCDNPTimer(21.2, 340279, nil, nil, nil, 3)--??? not seen in logs, mob avoided?
|
|
local timerSoulSpiritCD = mod:NewCDNPTimer(14.5, 322557, nil, nil, nil, 5)--Valid Aug 8
|
|
local timerVolatileAcidCD = mod:NewCDNPTimer(12.1, 325418, nil, nil, nil, 3)--Valid Aug 8, HIGHLY variable though (like 12-19)
|
|
local timerNourishtheForestCD = mod:NewCDNPTimer(15.9, 324914, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--Valid Aug 8
|
|
local timerBramblethornCoatCD = mod:NewCDNPTimer(21.6, 324776, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--Valid Aug 8, 21.6-24.something
|
|
local timerStimulateResistanceCD = mod:NewCDNPTimer(15.8, 326046, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--Valid Aug 8
|
|
local timerStimulateRegenerationCD = mod:NewCDNPTimer(22.6, 340544, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--Valid Aug 8, but could be lower
|
|
local timerAcidNovaCD = mod:NewCDNPTimer(18, 460092, nil, nil, nil, 3)--Valid Aug 8
|
|
local timerHarvestEssenceCD = mod:NewCDNPTimer(15, 322938, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)----Valid Aug 8. This one does go on CD if stunned because it's channeled not cast start
|
|
local timerExpelCD = mod:NewCDNPTimer(15.1, 463248, nil, nil, nil, 3)--Valid Aug 8
|
|
local timerMistWardCD = mod:NewCDNPTimer(22.9, 463256, nil, nil, nil, 5)--Valid Aug 8, One of two creatures has CD, the other does not.
|
|
local timerRadiantBreathCD = mod:NewCDNPTimer(10.4, 340160, nil, nil, nil, 3)--Valid Aug 8
|
|
local timerShredArmorCD = mod:NewCDNPTimer(10.6, 340208, nil, nil, nil, 5)----Valid Aug 8, Possible same as breath
|
|
local timerPoolofRadianceCD = mod:NewCDNPTimer(28, 340189, nil, nil, nil, 5)--Valid Aug 8
|
|
local timerAcidGlobuleCD = mod:NewCDNPTimer(17.4, 326021, nil, nil, nil, 3)--Valid Aug 8
|
|
local timerMistveilBiteCD = mod:NewCDNPTimer(10.4, 324987, nil, nil, nil, 5)--Valid Aug 8
|
|
local timerTongueLashingCD = mod:NewCDTimer(7.7, 340300, nil, nil, nil, 3)--Valid Aug 8
|
|
|
|
--Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 misc, 7 off interrupt
|
|
|
|
function mod:CrushingLeap(targetname, _, unituid)
|
|
--Now has death check cause it's possible for mob to die before cast finishes and we don't want scan to return target if it won't finish
|
|
if not targetname or (unituid and UnitIsDead(unituid)) then return end
|
|
DBM:Debug("Crushing Leap on "..targetname)
|
|
-- warnRicochetingThrow:Show(targetname)
|
|
-- if targetname == UnitName("player") then
|
|
-- yellRicochetingThrow:Yell()
|
|
-- end
|
|
end
|
|
|
|
--[[
|
|
--About 1 second faster than debuff
|
|
function mod:VolatileAcid(targetname, _, unituid)
|
|
--Now has death check cause it's possible for mob to die before cast finishes and we don't want scan to return target if it won't finish
|
|
if not targetname or (unituid and UnitIsDead(unituid)) then return end
|
|
if self:AntiSpam(3, targetname) then
|
|
if targetname == UnitName("player") then
|
|
specWarnVolatileAcid:Show()
|
|
specWarnVolatileAcid:Play("range5")
|
|
yellVolatileAcid:Yell()
|
|
else
|
|
warnVolatileAcid:Show(targetname)
|
|
end
|
|
end
|
|
end
|
|
--]]
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
if not self.Options.Enabled then return end
|
|
if not self:IsValidWarning(args.sourceGUID) then return end--Filter all casts done by mobs in combat with npcs/other mobs.
|
|
local spellId = args.spellId
|
|
if spellId == 321968 and self:AntiSpam(3, 2) then
|
|
if self:IsTanking("player", nil, nil, true, args.sourceGUID) then
|
|
specWarnBewilderingPollen:Show()
|
|
specWarnBewilderingPollen:Play("shockwave")
|
|
end
|
|
elseif spellId == 324909 and self:AntiSpam(3, 4) then
|
|
warnFuriousThrashing:Show()
|
|
elseif spellId == 324923 and self:AntiSpam(3, 2) then
|
|
specWarnBrambleBurst:Show()
|
|
specWarnBrambleBurst:Play("watchfeet")
|
|
elseif spellId == 324914 then
|
|
if self.Options.SpecWarn324914interrupt and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnNourishtheForest:Show(args.sourceName)
|
|
specWarnNourishtheForest:Play("kickcast")
|
|
elseif self:AntiSpam(3, 7) then
|
|
warnNourishtheForest:Show()
|
|
end
|
|
elseif spellId == 324776 and self:CheckInterruptFilter(args.sourceGUID, false, true) and self:AntiSpam(2, 5) then
|
|
specWarnBramblethornCoat:Show(args.sourceName)
|
|
specWarnBramblethornCoat:Play("kickcast")
|
|
elseif spellId == 326046 and self:CheckInterruptFilter(args.sourceGUID, false, true) and self:AntiSpam(2, 5) then
|
|
specWarnStimulateResistance:Show(args.sourceName)
|
|
specWarnStimulateResistance:Play("kickcast")
|
|
elseif spellId == 340305 then
|
|
warnCrushingLeap:Show()
|
|
self:ScheduleMethod(0.1, "BossTargetScanner", args.sourceGUID, "CrushingLeap", 0.1, 4)
|
|
elseif spellId == 340304 and self:AntiSpam(3, 2) then
|
|
specWarnPoisonousSecretions:Show()
|
|
specWarnPoisonousSecretions:Play("watchstep")
|
|
elseif spellId == 340300 and self:AntiSpam(3, 2) then
|
|
specWarnTongueLashing:Show()
|
|
specWarnTongueLashing:Play("watchstep")
|
|
elseif spellId == 340160 and self:AntiSpam(3, 2) then
|
|
specWarnRadiantBreath:Show()
|
|
specWarnRadiantBreath:Play("watchstep")
|
|
elseif spellId == 340189 then--No Antispam, not to be throttled against other types
|
|
if self:IsTanking("player", nil, nil, true, args.sourceGUID) then
|
|
specWarnPoolOfRadiance:Show()
|
|
specWarnPoolOfRadiance:Play("mobout")
|
|
end
|
|
elseif spellId == 463256 then--No Antispam, not to be throttled against other types
|
|
if self:IsTanking("player", nil, nil, true, args.sourceGUID) then
|
|
specWarnMistWard:Show()
|
|
specWarnMistWard:Play("mobout")
|
|
end
|
|
-- elseif spellId == 325418 then
|
|
-- self:ScheduleMethod(0.1, "BossTargetScanner", args.sourceGUID, "VolatileAcid", 0.1, 4)
|
|
elseif spellId == 331718 and self:AntiSpam(3, 2) then
|
|
specWarnSpearFlurry:Show()
|
|
specWarnSpearFlurry:Play("shockwave")
|
|
elseif spellId == 331743 then
|
|
warnBuckingRampage:Show()
|
|
elseif spellId == 460092 then
|
|
if self:AntiSpam(3, 4) then
|
|
specWarnAcidNova:Show()
|
|
specWarnAcidNova:Play("aesoon")
|
|
end
|
|
elseif spellId == 463248 then
|
|
if self:AntiSpam(3, 2) then
|
|
specWarnExpel:Show()
|
|
specWarnExpel:Play("chargemove")
|
|
end
|
|
elseif spellId == 340208 then
|
|
if self:IsTanking("player", nil, nil, true, args.sourceGUID) and self:AntiSpam(3, 5) then
|
|
specWarnShredArmor:Show()
|
|
specWarnShredArmor:Play("defensive")
|
|
end
|
|
elseif spellId == 326021 then
|
|
if self:AntiSpam(3, 2) then
|
|
specWarnAcidGlobule:Show()
|
|
specWarnAcidGlobule:Play("watchstep")
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
if not self.Options.Enabled then return end
|
|
local spellId = args.spellId
|
|
if spellId == 325418 then
|
|
timerVolatileAcidCD:Start(nil, args.sourceGUID)
|
|
-- if self:AntiSpam(3, args.destName) then--Backup, in case no one in party was targetting mob casting Volatile Acid (ie target scanning would fail)
|
|
if args:IsPlayer() then
|
|
specWarnVolatileAcid:Show()
|
|
specWarnVolatileAcid:Play("range5")
|
|
yellVolatileAcid:Yell()
|
|
else
|
|
warnVolatileAcid:Show(args.destName)
|
|
end
|
|
-- end
|
|
elseif spellId == 340544 then
|
|
timerStimulateRegenerationCD:Start(nil, args.sourceGUID)
|
|
if self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnStimulateRegeneration:Show(args.sourceName)
|
|
specWarnStimulateRegeneration:Play("kickcast")
|
|
end
|
|
elseif spellId == 322938 then
|
|
timerHarvestEssenceCD:Start(nil, args.sourceGUID)
|
|
if self.Options.SpecWarn322938interrupt and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnHarvestEssence:Show(args.sourceName)
|
|
specWarnHarvestEssence:Play("kickcast")
|
|
else
|
|
warnHarvestEssence:Show()
|
|
end
|
|
elseif spellId == 325223 then
|
|
timerAnimaInjectionCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 331743 then
|
|
timerBuckingRampageCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 340279 then
|
|
timerPoisonousDischargeCD:Start(nil, args.sourceGUID)
|
|
if self:AntiSpam(3, 2) then
|
|
specWarnPoisonousDischarge:Show()
|
|
specWarnPoisonousDischarge:Play("watchstep")
|
|
end
|
|
elseif spellId == 321968 then
|
|
timerBewilderingPollenCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 324923 then
|
|
timerBrambleBurstCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 331718 and self:IsValidWarning(args.sourceGUID) then
|
|
timerSpearFlurryCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 322486 then
|
|
timerOvergrowthCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 322557 then
|
|
timerSoulSpiritCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 324914 then
|
|
timerNourishtheForestCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 324776 then
|
|
timerBramblethornCoatCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 326046 then
|
|
timerStimulateResistanceCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 463248 then
|
|
timerExpelCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 463256 and args:GetSrcCreatureID() == 163058 then
|
|
timerMistWardCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 340160 then
|
|
timerRadiantBreathCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 340208 then
|
|
timerShredArmorCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 340189 then
|
|
timerPoolofRadianceCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 326021 then
|
|
timerAcidGlobuleCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 460092 then
|
|
timerAcidNovaCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 324987 then
|
|
timerMistveilBiteCD:Start(nil, args.sourceGUID)
|
|
elseif spellId == 340300 then
|
|
timerTongueLashingCD:Start(nil, args.sourceGUID)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_INTERRUPT(args)
|
|
if type(args.extraSpellId) ~= "number" then return end
|
|
if args.extraSpellId == 324914 then
|
|
timerNourishtheForestCD:Start(nil, args.sourceGUID)
|
|
elseif args.extraSpellId == 324776 then
|
|
timerBramblethornCoatCD:Start(nil, args.sourceGUID)
|
|
elseif args.extraSpellId == 326046 then
|
|
timerStimulateResistanceCD:Start(nil, args.sourceGUID)
|
|
elseif args.extraSpellId == 460092 then
|
|
timerAcidNovaCD:Start(nil, args.sourceGUID)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
if not self.Options.Enabled then return end
|
|
local spellId = args.spellId
|
|
if spellId == 322557 and args:IsDestTypePlayer() and self:CheckDispelFilter("magic") and self:AntiSpam(3, 5) then
|
|
specWarnSoulSplit:Show(args.destName)
|
|
specWarnSoulSplit:Play("helpdispel")
|
|
elseif spellId == 325224 then
|
|
if args:IsPlayer() then
|
|
specWarnAnimaInjection:Show()
|
|
specWarnAnimaInjection:Play("runout")
|
|
yellAnimaInjection:Yell()
|
|
yellAnimaInjectionFades:Countdown(spellId)
|
|
end
|
|
elseif spellId == 322486 then
|
|
if args:IsPlayer() then
|
|
specWarnOvergrowth:Show(DBM_COMMON_L.TANK)
|
|
specWarnOvergrowth:Play("movemelee")
|
|
else
|
|
warnOvergrowth:Show(args.destName)
|
|
end
|
|
elseif spellId == 322557 and self:IsValidWarning(args.destGUID) and args:IsDestTypeHostile() and self:AntiSpam(3, 5) then
|
|
specWarnNourishtheForestDispel:Show(args.destName)
|
|
specWarnNourishtheForestDispel:Play("helpdispel")
|
|
elseif spellId == 324776 and self:IsValidWarning(args.destGUID) and args:IsDestTypeHostile() and self:AntiSpam(3, 5) then
|
|
specWarnBramblethornCoatDispel:Show(args.destName)
|
|
specWarnBramblethornCoatDispel:Play("helpdispel")
|
|
elseif spellId == 326046 and self:IsValidWarning(args.destGUID) and args:IsDestTypeHostile() and self:AntiSpam(3, 5) then
|
|
specWarnStimulateResistanceDispel:Show(args.destName)
|
|
specWarnStimulateResistanceDispel:Play("helpdispel")
|
|
elseif spellId == 340288 and args:IsDestTypePlayer() then
|
|
local amount = args.amount or 1
|
|
if amount % 2 == 0 then
|
|
warnTripleBite:Show(args.destName, args.amount or 1)
|
|
end
|
|
elseif spellId == 325021 then
|
|
warnMistveilTear:Show(args.destName)
|
|
end
|
|
end
|
|
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
if not self.Options.Enabled then return end
|
|
local spellId = args.spellId
|
|
if spellId == 325224 then
|
|
if args:IsPlayer() then
|
|
yellAnimaInjectionFades:Cancel()
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:UNIT_DIED(args)
|
|
local cid = self:GetCIDFromGUID(args.destGUID)
|
|
if cid == 166304 then--Mistveil Stinger
|
|
timerAnimaInjectionCD:Stop(args.destGUID)
|
|
elseif cid == 166276 then--Mistveil Guardian
|
|
timerBuckingRampageCD:Stop(args.destGUID)
|
|
elseif cid == 173714 then--Mistveil Nightblossom
|
|
timerPoisonousDischargeCD:Stop(args.destGUID)
|
|
elseif cid == 164929 then--Tirnenn Villager
|
|
timerBewilderingPollenCD:Stop(args.destGUID)
|
|
timerOvergrowthCD:Stop(args.destGUID)
|
|
elseif cid == 164926 then--Drust Boughbreaker
|
|
timerBrambleBurstCD:Stop(args.destGUID)
|
|
elseif cid == 171772 or cid == 163058 then--Mistveil Defender
|
|
timerSpearFlurryCD:Stop(args.destGUID)--Removed ability?
|
|
timerExpelCD:Stop(args.destGUID)
|
|
timerMistWardCD:Stop(args.destGUID)
|
|
elseif cid == 164920 then--Drust Soulcleaver
|
|
timerSoulSpiritCD:Stop(args.destGUID)
|
|
elseif cid == 166299 then--Mistveil Tender
|
|
timerNourishtheForestCD:Stop(args.destGUID)
|
|
elseif cid == 166275 then--Mistveil Shaper
|
|
timerBramblethornCoatCD:Stop(args.destGUID)
|
|
elseif cid == 167111 then--Spinemaw Staghorn
|
|
timerStimulateResistanceCD:Stop(args.destGUID)
|
|
timerStimulateRegenerationCD:Stop(args.destGUID)
|
|
timerAcidNovaCD:Stop(args.destGUID)
|
|
elseif cid == 167113 then --Spinemaw Acidgullet
|
|
timerVolatileAcidCD:Stop(args.destGUID)
|
|
elseif cid == 164921 then--Drust Harvester
|
|
timerHarvestEssenceCD:Stop(args.destGUID)
|
|
elseif cid == 173655 then--Mistveil Matriarch
|
|
timerRadiantBreathCD:Stop(args.destGUID)
|
|
timerShredArmorCD:Stop(args.destGUID)
|
|
timerPoolofRadianceCD:Stop(args.destGUID)
|
|
elseif cid == 172312 then--Spinemaw Gorger
|
|
timerAcidGlobuleCD:Stop(args.destGUID)
|
|
elseif cid == 166301 then--Mistveil Stalker
|
|
timerMistveilBiteCD:Stop(args.destGUID)
|
|
elseif cid == 173720 then--Mistveil Gorgegullet
|
|
timerTongueLashingCD:Stop(args.destGUID)
|
|
end
|
|
end
|
|
|