From 0aa4ec5af82422a6b7786b8fe9410f57058d99a5 Mon Sep 17 00:00:00 2001 From: Ryan Crockett Date: Thu, 9 Mar 2023 15:44:52 -0500 Subject: [PATCH] Hook into bigwigs, tailor M+ utils to monk (wip) --- src/MythicPlusUtils/MythicPlusUtils.lua | 757 ++---------------- src/MythicPlusUtils/lists/interrupt-list.lua | 661 +++++++++++++++ src/MythicPlusUtils/lists/ramp-list.lua | 0 .../lists/tank-buster-list.lua | 129 +++ 4 files changed, 860 insertions(+), 687 deletions(-) create mode 100644 src/MythicPlusUtils/lists/interrupt-list.lua create mode 100644 src/MythicPlusUtils/lists/ramp-list.lua create mode 100644 src/MythicPlusUtils/lists/tank-buster-list.lua diff --git a/src/MythicPlusUtils/MythicPlusUtils.lua b/src/MythicPlusUtils/MythicPlusUtils.lua index 0710aff..dcd3d90 100644 --- a/src/MythicPlusUtils/MythicPlusUtils.lua +++ b/src/MythicPlusUtils/MythicPlusUtils.lua @@ -1,705 +1,82 @@ -local Tinkr, Bastion = ... +local Tinkr, _Bastion, DBM = ... + +---@class Bastion +local Bastion = _Bastion + +---@alias BigWigsBars table ---@class MythicPlusUtils local MythicPlusUtils = { + ---@type InterruptList interruptList = {}, + ---@type BigWigsBars + bars = {} } MythicPlusUtils.__index = MythicPlusUtils ----@return MythicPlusUtils -function MythicPlusUtils:New() - local self = setmetatable({}, MythicPlusUtils) +local function BWEventCallBack(event, ...) + if event == "BigWigs_StartBar" then + local addon, spellId, text, duration, icon, isCD = ... + local now = GetTime() - self.interruptList = { - -- kick, stun, disorient, incap - -- - -- HoV - -- - -- Thunder Caller - [95842] = { - -- Thunderous Blast - [198585] = { - true, true, true, true - } - }, - -- Mystic - [95834] = { - -- Holy Radiance - [215433] = { - true, true, true, true - } - }, - -- Runcarver - [96664] = { - -- Etch - [198959] = { - true, true, true, true - } - }, - -- Marksman - [96640] = { - -- Penetrating Shot - [199210] = { - false, true, true, true - } - }, - -- Shieldmaiden - [95832] = { - -- Mortal Hew - [199050] = { - false, true, true, false - } - }, - -- Shieldmaiden 2 - [101639] = { - -- Mortal Hew - [199050] = { - false, true, false, false - } - }, - -- Odyn Add - [102019] = { - -- Surge - [198750] = { - true, false, false, false - } - }, - -- - -- Court of Stars - -- - -- Duskwatch Guard - [111563] = { - -- Fortification - [209033] = { - true, true, true - } - }, - -- Duskwatch Guard 2 - [104246] = { - -- Fortification - [209033] = { - true, true, false, false - } - }, - -- Sentry - [104251] = { - -- Sound the Alarm - [210261] = { - true, true, true, true - } - }, - -- Construct - [104270] = { - -- Suppress - [209413] = { - true, false, false, false - }, - -- Charging Station - [225100] = { - true, false, false - } - }, - -- Bound Energy - [105705] = { - -- Charged Blast - [212031] = { - true, true, false, false - } - }, - -- Arcane Manifestation - [105704] = { - -- Drain Magic - [209485] = { - true, false, false, false - } - }, - -- Watchful Inquisitor - [105715] = { - -- Searing Glare - [211299] = { - true, false, false, false - }, - -- Eye Storm - [212784] = { - false, true, false, false - } - }, - -- Blazing Imp - [104295] = { - -- Drifting Embers - [211401] = { - true, true, true, false - }, - -- Drifting Embers 2 - [211406] = { - true, true, true, false - }, - -- Fireball - [211412] = { - true, true, true, false - } - }, - -- Shadow Mistress - [104300] = { - -- Bewitch - [211470] = { - true, true, true, false - } - }, - -- Balgarr - [104274] = { - -- Disintegration Beam - [207980] = { - true, false, false, false - }, - -- Disintigration Beam 2 - [207981] = { - true, false, false, false - }, - -- Impending Doom - [397907] = { - true, false, false, false - }, - -- Impending Doom 2 - [397908] = { - true, false, false, false - } - }, - -- Talixae Flamewreath - [104217] = { - -- Withering Soul - [208165] = { - true, false, false, false - } - }, - -- - -- RLP - -- - -- Earthshaper - [187969] = { - -- Tectonic Slam - [372735] = { - false, true, true, true - } - }, - -- Chillweaver - [188067] = { - -- Ice Shield - [384933] = { - true, true, true, true - }, - -- Ice Shield 2 - [372749] = { - true, true, true, true - }, - -- Ice Shield 3 - [372743] = { - true, true, true, true - } - }, - -- Meledrusa - [188252] = { - -- Frost Overload - [373680] = { - true, false, false, false - }, - -- Frost Overload 2 - [373688] = { - true, false, false, false - } - }, - -- Cinderweaver - [190207] = { - -- Cinderbolt 1 - [384194] = { - true, false, false, false - }, - -- Cinderbolt 2 - [384197] = { - true, false, false, false - } - }, - -- Flame Dancer - [190206] = { - -- Flame Dance - [385536] = { - false, true, true, true - } - }, - -- Blazebound Firestorm - [189886] = { - -- Roaring Blaze - [373017] = { - true, false, false, false - } - }, - -- Tempest Channeler - [198047] = { - -- Thunder Bolt - [392576] = { - true, false, false, false - } - }, - -- Flame Channeler - [197985] = { - -- Flashfire - [392451] = { - true, true, false, false - }, - -- Flashfire - [392452] = { - true, true, false, false - }, - }, - -- - -- NO - -- - -- Hornsounder - [192796] = { - -- Rally The Clan - [383823] = { - false, true, true, true - } - }, - -- Plainstomper - [191847] = { - -- Disruptive Shout - [384365] = { - true, false, false, false - } - }, - -- Lancemaster - [192800] = { - -- Disruptive Shout - [384365] = { - true, false, false, false - } - }, - -- Arcblade - [194898] = { - -- Arcing Strike - [387135] = { - false, true, true, true - } - }, - -- Stormcaller Botoo - [194317] = { - -- Stormbolt - [386012] = { - true, false, false, false - } - }, - -- Thunderbeast - [195696] = { - -- Chain Lightning - [387127] = { - true, false, false, false - } - }, - [194894] = { - -- Tempest - [386025] = { - true, true, true, true - }, - -- Tempest 2 - [386024] = { - true, true, true, true - }, - -- Summon Squall - [386015] = { - true, true, true, true - }, - -- Stormbolt - [386012] = { - true, true, true, true - } - }, - -- Squall - [194895] = { - -- Surge - [386026] = { - true, true, false, false - } - }, - -- Stormcaller Arynga - [195265] = { - -- Stormbolt - [386012] = { - true, false, false, false - } - }, - -- Nokhud Neophyte - [196263] = { - -- Stormbolt - [386012] = { - true, true, false, false - } - }, - -- Stormcaller Solongo - [194315] = { - -- Stormbolt - [386012] = { - true, false, false, false - } - }, - -- Stormcaller Zarii - [194316] = { - -- Stormbolt - [386012] = { - true, false, false, false - } - }, - -- Soulharvester Galtmaa - [195927] = { - -- Death Bolt Volley - [387411] = { - true, false, false, false - } - }, - -- Soulharvester Tumen - [195929] = { - -- Death Bolt Volley - [387411] = { - true, false, false, false - } - }, - -- Soulharvester Mandakh - [195930] = { - -- Death Bolt Volley - [387411] = { - true, false, false, false - } - }, - -- Soulharvester Duuren - [195928] = { - -- Death Bolt Volley - [387411] = { - true, false, false, false - } - }, - -- Beastcaller - [195878] = { - -- Desecrated Roar - [387440] = { - true, true, true, true - }, - -- Heavy Slash - [387826] = { - false, true, true, true - } - }, - -- Mystic - [195877] = { - -- Swift Wind - [387596] = { - true, true, true, false - } - }, - -- Risen Warrior - [195855] = { - -- Mortal Strike - [388801] = { - false, true, true, false - } - }, - -- Teera - [186339] = { - -- Guardian Wind - [384808] = { - true, false, false, false - } - }, - -- Batak - [193462] = { - -- Bloodcurdling Shout - [373395] = { - true, false, false, false - } - }, - -- Balakar Add - [190294] = { - -- Storm Bolt - [376725] = { - true, true, true, true - } - }, - -- - -- AV - -- - -- Lasher - [196102] = { - -- Mystic Vapors - [387564] = { - false, true, true, true - } - }, - --Arcane Tender - [196115] = { - -- Erratic Growth - [375596] = { - true, false, false, false - } - }, - --Arcane Tender 2 - [191164] = { - -- Erratic Growth - [375596] = { - true, false, false, false - } - }, - -- Crystal Fury - [187160] = { - -- Shards - [370764] = { - false, true, true, false - } - }, - -- Arcane Elemental - [186741] = { - -- Waking Bane - [386546] = { - true, true, true, false - } - }, - -- Curator - [187154] = { - -- Heavy Tome - [389804] = { - true, false, false, false - } - }, - -- Rune Seal Keeper - [187155] = { - -- Icy Bindings - [377488] = { - true, true, true, true - } - }, - -- Crystal Fury - [196116] = { - -- Shards - [370764] = { - false, true, true, false - } - }, - -- Vault Guard - [190510] = { - -- Ice Cutter - [377105] = { - false, true, true, false - } - }, - -- Frog - [187246] = { - -- Null Stomp - [386526] = { - false, true, false, false - } - }, - -- - -- AA - -- - -- Scepter - [196576] = { - -- Mystic Blast - [396812] = { - true, true, true, true - }, - -- Arcane Rain - [388886] = { - false, true, true, true - } - }, - -- Textbook - [196044] = { - -- Lecture - [388392] = { - true, true, true, true - } - }, - -- Eagle - [192333] = { - -- Call The Flock - [377389] = { - true, false, false, false - } - }, - -- Echoknight - [196200] = { - -- Whirlwind - [387910] = { - false, true, true, true - } - }, - -- Invoker - [196202] = { - -- Arcane Missiles - [387975] = { - true, true, true, true - } - }, - -- - -- SMBG - -- - -- Bone Mender - [75713] = { - -- Shadow Mend - [152818] = { - true, false, false, false - } - }, - -- Ritual Bones - [75715] = { - -- Void Slash - [164907] = { - false, true, true, false - } - }, - -- Defiled Spirit - [75451] = { - -- Cry of Anguish - [398154] = { - false, true, true, false - } - }, - -- Dominator - [76446] = { - -- Voidlash - [156776] = { - true, true, true, true - } - }, - -- Spider - [76104] = { - -- Necrotic Burst - [156718] = { - true, false, false, false - } - }, - -- Bat - [75459] = { - -- Plague Spit - [153524] = { - true, true, true, true - } - }, - -- - -- TJS - -- - -- Waterspeaker - [200126] = { - -- Hydrolance - [397888] = { - true, true, true, true - }, - -- Tidal Burst - [397889] = { - true, true, true, true - } - }, - -- Wise Mari - [56448] = { - -- Hydrolance - [397801] = { - true, false, false, false - } - }, - -- Haunting Sha - [59555] = { - -- Gaze - [114646] = { - false, true, true, true - }, - -- Scream - [398859] = { - true, true, true, true - } - }, - -- Fish - [59546] = { - -- Sleepy - [395872] = { - true, false, false, false - } - }, - -- Hozen - [59552] = { - -- Fit of Rage - [396018] = { - true, false, false, false - } - }, - -- Golden Beetle - [59545] = { - -- Staggering Blow - [396019] = { - false, true, true, false - } - }, - -- Tiger - [59544] = { - -- Cat Nap - [396073] = { - true, true, false, false - } - }, - -- Mistweaver - [200137] = { - -- Defilling Mist - [397914] = { - true, true, true, true - } - }, - -- Guardian - [200131] = { - -- Leg Sweep - [397899] = { - false, true, true, false - } - }, - -- Minion of Doubt - [57109] = { - -- Dark Claw - [397931] = { - false, true, true, false - } - } - } + MythicPlusUtils.bars[text] = MythicPlusUtils.bars[text] or {} - return self + MythicPlusUtils.bars[text].duration = duration + MythicPlusUtils.bars[text].startTime = now + MythicPlusUtils.bars[text].spellId = spellId + elseif event == "BigWigs_StopBar" then + local addon, text = ... + if MythicPlusUtils.bars[text] then + MythicPlusUtils.bars[text] = nil + end + elseif event == "BigWigs_PauseBar" then + local addon, text = ... + if MythicPlusUtils.bars[text] then + MythicPlusUtils.bars[text].pauseTime = GetTime() + end + elseif event == "BigWigs_ResumeBar" then + local addon, text = ... + if MythicPlusUtils.bars[text] and MythicPlusUtils.bars[text].pauseTime then + local pauseTime = MythicPlusUtils.bars[text].pauseTime + local startTime = MythicPlusUtils.bars[text].startTime + local duration = MythicPlusUtils.bars[text].duration + + local newDuration = duration - (pauseTime - startTime) + + MythicPlusUtils.bars[text].duration = newDuration + MythicPlusUtils.bars[text].startTime = GetTime() + MythicPlusUtils.bars[text].pauseTime = nil + end + elseif event == "BigWigs_StopBars" or event == "BigWigs_OnBossDisable" then + MythicPlusUtils.bars = {} + end end ----@param unit Unit ----@param percent number ----@return boolean -function MythicPlusUtils:CastingCriticalKick(unit, percent) - local castingSpell = unit:GetCastingOrChannelingSpell() - - local npcSpells = self.interruptList[unit:GetID()] - - if npcSpells and castingSpell then - local spellID = castingSpell:GetID() - - local spellTraits = npcSpells[spellID] +---@type InterruptList +local _interruptList = Tinkr:require("scripts/bastion/MythicPlusUtils/lists/interrupt-list", Bastion) - if not spellTraits then - return false - end +---@return MythicPlusUtils +function MythicPlusUtils:New() + local self = setmetatable({}, MythicPlusUtils) - local isKick, isStun, isDisorient, isIncap = table.unpack(spellTraits) + self.interruptList = _interruptList - if isKick and unit:IsInterruptibleAt(percent) then - return true - end + if BigWigsLoader then + BigWigsLoader.RegisterMessage({}, 'BigWigs_StartBar', BWEventCallBack) + BigWigsLoader.RegisterMessage({}, 'BigWigs_StopBar', BWEventCallBack) + BigWigsLoader.RegisterMessage({}, 'BigWigs_PauseBar', BWEventCallBack) + BigWigsLoader.RegisterMessage({}, 'BigWigs_ResumeBar', BWEventCallBack) + BigWigsLoader.RegisterMessage({}, 'BigWigs_StopBars', BWEventCallBack) + BigWigsLoader.RegisterMessage({}, 'BigWigs_OnBossDisable', BWEventCallBack) end - return false + return self end ---@param unit Unit ---@param percent number ----@return boolean, boolean, boolean +---@return { kickable: boolean, paraliseable: boolean, sweepable: boolean } | nil function MythicPlusUtils:CastingCriticalStop(unit, percent) local castingSpell = unit:GetCastingOrChannelingSpell() @@ -711,19 +88,25 @@ function MythicPlusUtils:CastingCriticalStop(unit, percent) local spellTraits = npcSpells[spellID] if not spellTraits then - return false, false, false + return nil end - local isKick, isStun, isDisorient, isIncap = table.unpack(spellTraits) - local castPercent = unit:GetChannelOrCastPercentComplete() - if (isStun or isDisorient or isIncap) and not isKick and castPercent >= percent then - return isStun, isDisorient, isIncap + if castPercent >= percent then + return spellTraits end end - return false, false, false + return nil +end + +---@param unit Unit +---@param timeUntilCast? number +---@return boolean +function MythicPlusUtils:CastingTankBuster(unit, timeUntilCast) + + return false end return MythicPlusUtils diff --git a/src/MythicPlusUtils/lists/interrupt-list.lua b/src/MythicPlusUtils/lists/interrupt-list.lua new file mode 100644 index 0000000..550956d --- /dev/null +++ b/src/MythicPlusUtils/lists/interrupt-list.lua @@ -0,0 +1,661 @@ + +---@alias InterruptList table> + +---@type InterruptList +local _InterruptList = { + -- kick, stun, disorient, incap + -- + -- HoV + -- + -- Thunder Caller + [95842] = { + -- Thunderous Blast + [198585] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Mystic + [95834] = { + -- Holy Radiance + [215433] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Runcarver + [96664] = { + -- Etch + [198959] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Marksman + [96640] = { + -- Penetrating Shot + [199210] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + -- Shieldmaiden + [95832] = { + -- Mortal Hew + [199050] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Shieldmaiden 2 + [101639] = { + -- Mortal Hew + [199050] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Odyn Add + [102019] = { + -- Surge + [198750] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- + -- Court of Stars + -- + -- Duskwatch Guard + [111563] = { + -- Fortification + [209033] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Duskwatch Guard 2 + [104246] = { + -- Fortification + [209033] = { + kickable = true, sweepable = true, paraliseable = false + } + }, + -- Sentry + [104251] = { + -- Sound the Alarm + [210261] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Construct + [104270] = { + -- Suppress + [209413] = { + kickable = true, sweepable = false, paraliseable = false + }, + -- Charging Station + [225100] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Bound Energy + [105705] = { + -- Charged Blast + [212031] = { + kickable = true, sweepable = true, paraliseable = false + } + }, + -- Arcane Manifestation + [105704] = { + -- Drain Magic + [209485] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Watchful Inquisitor + [105715] = { + -- Searing Glare + [211299] = { + kickable = true, sweepable = false, paraliseable = false + }, + -- Eye Storm + [212784] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + -- Blazing Imp + [104295] = { + -- Drifting Embers + [211401] = { + kickable = true, sweepable = true, paraliseable = false + }, + -- Drifting Embers 2 + [211406] = { + kickable = true, sweepable = true, paraliseable = false + }, + -- Fireball + [211412] = { + kickable = true, sweepable = true, paraliseable = false + } + }, + -- Shadow Mistress + [104300] = { + -- Bewitch + [211470] = { + kickable = true, sweepable = true, paraliseable = false + } + }, + -- Balgarr + [104274] = { + -- Disintegration Beam + [207980] = { + kickable = true, sweepable = false, paraliseable = false + }, + -- Disintigration Beam 2 + [207981] = { + kickable = true, sweepable = false, paraliseable = false + }, + -- Impending Doom + [397907] = { + kickable = true, sweepable = false, paraliseable = false + }, + -- Impending Doom 2 + [397908] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Talixae Flamewreath + [104217] = { + -- Withering Soul + [208165] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- + -- RLP + -- + -- Earthshaper + [187969] = { + -- Tectonic Slam + [372735] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + -- Chillweaver + [188067] = { + -- Ice Shield + [384933] = { + kickable = true, sweepable = true, paraliseable = true + }, + -- Ice Shield 2 + [372749] = { + kickable = true, sweepable = true, paraliseable = true + }, + -- Ice Shield 3 + [372743] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Meledrusa + [188252] = { + -- Frost Overload + [373680] = { + kickable = true, sweepable = false, paraliseable = false + }, + -- Frost Overload 2 + [373688] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Cinderweaver + [190207] = { + -- Cinderbolt 1 + [384194] = { + kickable = true, sweepable = false, paraliseable = false + }, + -- Cinderbolt 2 + [384197] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Flame Dancer + [190206] = { + -- Flame Dance + [385536] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + -- Blazebound Firestorm + [189886] = { + -- Roaring Blaze + [373017] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Tempest Channeler + [198047] = { + -- Thunder Bolt + [392576] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Flame Channeler + [197985] = { + -- Flashfire + [392451] = { + kickable = true, sweepable = true, paraliseable = false + }, + -- Flashfire + [392452] = { + kickable = true, sweepable = true, paraliseable = false + }, + }, + -- + -- NO + -- + -- Hornsounder + [192796] = { + -- Rally The Clan + [383823] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + -- Plainstomper + [191847] = { + -- Disruptive Shout + [384365] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Lancemaster + [192800] = { + -- Disruptive Shout + [384365] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Arcblade + [194898] = { + -- Arcing Strike + [387135] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + -- Stormcaller Botoo + [194317] = { + -- Stormbolt + [386012] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Thunderbeast + [195696] = { + -- Chain Lightning + [387127] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + [194894] = { + -- Tempest + [386025] = { + kickable = true, sweepable = true, paraliseable = true + }, + -- Tempest 2 + [386024] = { + kickable = true, sweepable = true, paraliseable = true + }, + -- Summon Squall + [386015] = { + kickable = true, sweepable = true, paraliseable = true + }, + -- Stormbolt + [386012] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Squall + [194895] = { + -- Surge + [386026] = { + kickable = true, sweepable = true, paraliseable = false + } + }, + -- Stormcaller Arynga + [195265] = { + -- Stormbolt + [386012] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Nokhud Neophyte + [196263] = { + -- Stormbolt + [386012] = { + kickable = true, sweepable = true, paraliseable = false + } + }, + -- Stormcaller Solongo + [194315] = { + -- Stormbolt + [386012] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Stormcaller Zarii + [194316] = { + -- Stormbolt + [386012] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Soulharvester Galtmaa + [195927] = { + -- Death Bolt Volley + [387411] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Soulharvester Tumen + [195929] = { + -- Death Bolt Volley + [387411] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Soulharvester Mandakh + [195930] = { + -- Death Bolt Volley + [387411] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Soulharvester Duuren + [195928] = { + -- Death Bolt Volley + [387411] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Beastcaller + [195878] = { + -- Desecrated Roar + [387440] = { + kickable = true, sweepable = true, paraliseable = true + }, + -- Heavy Slash + [387826] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + -- Mystic + [195877] = { + -- Swift Wind + [387596] = { + kickable = true, sweepable = true, paraliseable = false + } + }, + -- Risen Warrior + [195855] = { + -- Mortal Strike + [388801] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Teera + [186339] = { + -- Guardian Wind + [384808] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Batak + [193462] = { + -- Bloodcurdling Shout + [373395] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Balakar Add + [190294] = { + -- Storm Bolt + [376725] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- + -- AV + -- + -- Lasher + [196102] = { + -- Mystic Vapors + [387564] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + --Arcane Tender + [196115] = { + -- Erratic Growth + [375596] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + --Arcane Tender 2 + [191164] = { + -- Erratic Growth + [375596] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Crystal Fury + [187160] = { + -- Shards + [370764] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Arcane Elemental + [186741] = { + -- Waking Bane + [386546] = { + kickable = true, sweepable = true, paraliseable = false + } + }, + -- Curator + [187154] = { + -- Heavy Tome + [389804] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Rune Seal Keeper + [187155] = { + -- Icy Bindings + [377488] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Crystal Fury + [196116] = { + -- Shards + [370764] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Vault Guard + [190510] = { + -- Ice Cutter + [377105] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Frog + [187246] = { + -- Null Stomp + [386526] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- + -- AA + -- + -- Scepter + [196576] = { + -- Mystic Blast + [396812] = { + kickable = true, sweepable = true, paraliseable = true + }, + -- Arcane Rain + [388886] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + -- Textbook + [196044] = { + -- Lecture + [388392] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Eagle + [192333] = { + -- Call The Flock + [377389] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Echoknight + [196200] = { + -- Whirlwind + [387910] = { + kickable = false, sweepable = true, paraliseable = true + } + }, + -- Invoker + [196202] = { + -- Arcane Missiles + [387975] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- + -- SMBG + -- + -- Bone Mender + [75713] = { + -- Shadow Mend + [152818] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Ritual Bones + [75715] = { + -- Void Slash + [164907] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Defiled Spirit + [75451] = { + -- Cry of Anguish + [398154] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Dominator + [76446] = { + -- Voidlash + [156776] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Spider + [76104] = { + -- Necrotic Burst + [156718] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Bat + [75459] = { + -- Plague Spit + [153524] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- + -- TJS + -- + -- Waterspeaker + [200126] = { + -- Hydrolance + [397888] = { + kickable = true, sweepable = true, paraliseable = true + }, + -- Tidal Burst + [397889] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Wise Mari + [56448] = { + -- Hydrolance + [397801] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Haunting Sha + [59555] = { + -- Gaze + [114646] = { + kickable = false, sweepable = true, paraliseable = true + }, + -- Scream + [398859] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Fish + [59546] = { + -- Sleepy + [395872] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Hozen + [59552] = { + -- Fit of Rage + [396018] = { + kickable = true, sweepable = false, paraliseable = false + } + }, + -- Golden Beetle + [59545] = { + -- Staggering Blow + [396019] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Tiger + [59544] = { + -- Cat Nap + [396073] = { + kickable = true, sweepable = true, paraliseable = false + } + }, + -- Mistweaver + [200137] = { + -- Defilling Mist + [397914] = { + kickable = true, sweepable = true, paraliseable = true + } + }, + -- Guardian + [200131] = { + -- Leg Sweep + [397899] = { + kickable = false, sweepable = true, paraliseable = false + } + }, + -- Minion of Doubt + [57109] = { + -- Dark Claw + [397931] = { + kickable = false, sweepable = true, paraliseable = false + } + } +} + +return _InterruptList \ No newline at end of file diff --git a/src/MythicPlusUtils/lists/ramp-list.lua b/src/MythicPlusUtils/lists/ramp-list.lua new file mode 100644 index 0000000..e69de29 diff --git a/src/MythicPlusUtils/lists/tank-buster-list.lua b/src/MythicPlusUtils/lists/tank-buster-list.lua new file mode 100644 index 0000000..4f3fd26 --- /dev/null +++ b/src/MythicPlusUtils/lists/tank-buster-list.lua @@ -0,0 +1,129 @@ + +---@alias TankBusterList table> + +---@type TankBusterList +local _TankBusterList = { + -- isPhysical, isMagical + -- + -- RLP + -- + -- Primal Juggernaut + -- [188244] = { + -- -- Crushing Smash + -- [372730] = { + -- true, false + -- } + -- }, + -- -- Defier Draghar + -- [187897] = { + -- -- Steel Barrage + -- [372047] = { + -- true, false + -- } + -- }, + -- -- Thunderhead + -- [197698] = { + -- -- Thunder Jaw + -- [392395] = { + -- true, true + -- } + -- }, + -- -- Flamegullet + -- [197697] = { + -- -- Fire Maw + -- [392394] = { + -- true, true + -- } + -- }, + -- -- Kokia + -- [189232] = { + -- -- Searing Blows + -- [372858] = { + -- true, false + -- }, + -- }, + -- -- Erkhart + -- [190485] = { + -- -- Stormslam + -- [381512] = { + -- true, true + -- } + -- }, + -- -- + -- -- NO + -- -- + -- -- Raging Tempest + -- [186615] = { + -- -- Energy Surge + -- [384686] = { + -- true, false + -- } + -- }, + -- -- Beastcaller + -- [195878] = { + -- -- Heavy Slash + -- [387826] = { + -- true, false + -- } + -- }, + -- -- Maruuk + -- [186338] = { + -- -- Brutalize + -- [382836] = { + -- true, false + -- } + -- }, + -- [186151] = { + -- [375937] = { + -- true, false + -- } + -- }, + -- -- + -- -- AV + -- -- + -- -- Leymore + -- [186644] = { + -- -- Infused Strike + -- [374789] = { + -- false, true + -- } + -- }, + -- -- Vault Guard + -- [190510] = { + -- -- Ice Cutter + -- [377105] = { + -- false, true + -- } + -- }, + -- -- Scalebane + -- [191739] = { + -- -- Ice Cutter + -- [377105] = { + -- false, true + -- }, + -- -- Spellfrost Breath + -- [391120] = { + -- false, true + -- } + -- }, + -- -- Azureblade + -- [186739] = { + -- -- Arcane Cleave + -- [372222] = { + -- false, true + -- } + -- }, + -- -- Umbreskul + -- [186738] = { + -- -- Dragon Strike + -- [384978] = { + -- false, true + -- } + -- }, + -- -- + -- -- AA + -- -- + +} + +return _TankBusterList \ No newline at end of file