Hook into bigwigs, tailor M+ utils to monk (wip)

main
Ryan Crockett 2 years ago
parent b036431ee5
commit 0aa4ec5af8
  1. 757
      src/MythicPlusUtils/MythicPlusUtils.lua
  2. 661
      src/MythicPlusUtils/lists/interrupt-list.lua
  3. 0
      src/MythicPlusUtils/lists/ramp-list.lua
  4. 129
      src/MythicPlusUtils/lists/tank-buster-list.lua

@ -1,705 +1,82 @@
local Tinkr, Bastion = ...
local Tinkr, _Bastion, DBM = ...
---@class Bastion
local Bastion = _Bastion
---@alias BigWigsBars table<string, { spellId: number, duration: number, startTime: number, pauseTime: number | nil }>
---@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 nil
end
return false, false, false
---@param unit Unit
---@param timeUntilCast? number
---@return boolean
function MythicPlusUtils:CastingTankBuster(unit, timeUntilCast)
return false
end
return MythicPlusUtils

@ -0,0 +1,661 @@
---@alias InterruptList table<number, table<number, { kickable: boolean, sweepable: boolean, paraliseable: boolean }>>
---@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

@ -0,0 +1,129 @@
---@alias TankBusterList table<number, table<number, { shouldDampen: boolean, shouldDiffuse: boolean, shouldFort: boolean }>>
---@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
Loading…
Cancel
Save