| Latest revision |
Your text |
| Line 1: |
Line 1: |
| local lists = {
| | -- Abilities that have or gain charges on upgrades |
| -- Abilities that give barrier
| | local charges = { "AbilityCharges" } |
| ["barrier"] = {
| |
| "AirDropBulletShield",
| |
| "CombatBarrier",
| |
| },
| |
|
| |
| -- Abilities that have charges
| |
| ["charges"] = {
| |
| "AbilityCharges",
| |
| },
| |
|
| |
| -- Abilities that get cancelled by Cursed Relic
| |
| -- BonusMoveSpeed does not get cleansed by cursed relic and must not be here.
| |
| ["cursedrelic"] = {
| |
| "AirControlPercent", "AllowDashWhenChanneling", "BehaviorCannotCancelDuringChannel", "BehaviorChannelled", "BehaviorExclusiveUse", "BehaviorStartCooldownOnToggleOff",
| |
| "BonusFireRate", "BuffDuration", "BulletDamageAmp", "CombatBarrier", "DashModifier", "DashSpeed",
| |
| "HealingPerSecond", "MovementSpeedBonus", "MoveSpeedBonus", "SpiritResist", "TechArmorGain", "WeaponDamageBonus",
| |
| "Dust Devil", "Life Drain", "Kinetic Carbine", "Power Slash", "Power Surge", "Siphon Life",
| |
| "Smoke Bomb", "The Cube",
| |
| },
| |
| | |
| -- Abilities that apply a dash slow to their targets
| |
| ["dashslow"] = {
| |
| "EnemyDashSlowPercent", "GroundDashReductionPercent", "MaxGroundDashReductionPercent", "MoveSpeedAndDashSlowPct",
| |
| },
| |
| | |
| -- Abilities whose duration is reduced by Debuff Resist (Debuff Reducer etc.)
| |
| ["debuffresist"] = {
| |
| "BuildUpPerShot", "BulletDamageAmpDuration", "BulletResistReduction", "BurnDuration", "CitadelSilenced", "DamageAmpPercentage",
| |
| "DebuffAccuracy", "DebuffDuration", "EnemySlowPct", "FadingSlowPercent", "GroundDashReductionPercent", "HealAmpReceivePenaltyPercent",
| |
| "HoldInPlaceDuration", "ImmobilizeDuration", "MaxSlowDuration", "MovementSlow", "MovementSlowPct", "MovementSpeedSlow",
| |
| "MoveSlowPercent", "PetrifyDuration", "ProcDamage", "Silenced", "SilenceDuration", "SleepDuration",
| |
| "SlowPercent", "StealDuration", "StunDuration", "TimeSlowDuration", "TossDuration", "VenomDuration",
| |
| "VictimStackDuration",
| |
| "Card Trick", "Combo", "Light Eater", "Spirit Lasso", "Stalker's Mark",
| |
| },
| |
|
| |
| -- Abilities that give debuff resist.
| |
| ["extradebuffresist"] = {
| |
| "StatusResistancePercent"
| |
| },
| |
|
| |
|
| -- Abilities whose effects can be cleansed by Dispel Magic
| | -- Abilities that scale with melee damage |
| ["dispelmagic"] = {
| | local melee = { "melee", "heavy_melee" } |
| "BuildUpDecayDelay", "BuildUpPerShot", "BulletDamageAmpDuration", "BulletResistReduction", "BurnDuration", "CitadelSilenced",
| |
| "DebuffAccuracy", "DebuffDuration", "DotHealthPercent", "Drag", "EnemySlowPct", "FadingSlowPercent",
| |
| "FuseTime", "GroundAuraModifier", "GroundDashReductionPercent", "HealAmpReceivePenaltyPercent", "HoldInPlaceDuration", "ImmobilizeDuration",
| |
| "MaxSlowDuration", "MovementSlow", "MovementSlowPct", "MovementSpeedSlow", "MoveSlowPercent", "ProcDamage",
| |
| "Silenced", "SlowDuration", "SlowPercent", "StealDuration", "TimeSlowDuration", "TossDuration",
| |
| "VenomDuration", "VictimStackDuration",
| |
| "Card Trick", "Light Eater", "Stalker's Mark", "Static Charge",
| |
| },
| |
|
| |
|
| -- Abilities whose debuffs can be cleansed by Divine Barrier (combination of debuffresist and dispelmagic)
| | -- Abilities that scale with weapon damage |
| ["divinebarrier"] = {
| | local wpndmg = { "weapon_damage_increase" } |
| "BuildUpDecayDelay", "BuildUpPerShot", "BulletDamageAmpDuration", "BulletResistReduction", "BurnDuration", "CitadelSilenced",
| |
| "DamageAmpPercentage", "DebuffAccuracy", "DebuffDuration", "DotHealthPercent", "EnemySlowPct", "FadingSlowPercent",
| |
| "FuseTime", "GroundAuraModifier", "GroundDashReductionPercent", "HealAmpReceivePenaltyPercent", "HoldInPlaceDuration", "ImmobilizeDuration",
| |
| "MaxSlowDuration", "MovementSlow", "MovementSlowPct", "MovementSpeedSlow", "MoveSlowPercent", "PetrifyDuration",
| |
| "ProcDamage", "Silenced", "SilenceDuration", "SleepDuration", "SlowDuration", "SlowPercent",
| |
| "StealDuration", "StunDuration", "TimeSlowDuration", "TossDuration", "VenomDuration", "VictimStackDuration",
| |
| "Card Trick", "Combo", "Light Eater", "Spirit Lasso", "Stalker's Mark",
| |
| },
| |
|
| |
| -- Abilities that don't break stealth on cast or recast.
| |
| ["dontbreakstealth"] = {
| |
| "BehaviorDontBreakInvisibility", "DoesNotBreakInvis",
| |
| "Spectral Wall"
| |
| },
| |
|
| |
|
| -- Abilities that restore health, buffed by Heal Amp items
| | -- Abilities that reduce healing on their targets |
| ["heal"] = {
| | local healreduce = { "HealAmpReceivePenaltyPercent", "HealAmpRegenPenaltyPercent", "DisableHealing" } |
| "AbilityLifestealPercentHero", "BonusHealthRegen", "BulletLifestealPercent", "DamageHealMult", "ExternalBonusHealthRegen", "FlatHealthHealing",
| |
| "HealAmount", "HealFixedHealth", "HealingFactor", "HealingPerSecond", "HealMaxHealth", "HealMaxHealthPercent",
| |
| "HealOnKillPct", "HealPctVsHeroes", "HealthStealPctHero", "InfestHeal", "LifestealPercentHero", "LifeStealPercentOnHit", "LifeDrainPerSecond",
| |
| "MaxHealthRegen", "MissingHealthBurstPct", "MissingHealthPercentHeal", "MissingHPHeal", "RegenIncomingDamagePercent", "TechLifestealPercent",
| |
| "TotalHealthRegen",
| |
| "Card Trick", "Rake", "Soul Exchange",
| |
| },
| |
|
| |
|
| -- Abilities that trigger Healing Tempo Passive
| | -- Abilities whose debuff duration is reduced by Debuff Reducer |
| ["healingtempo"] = {
| | local debuffresist = { "StunDuration", "SleepDuration", "SilenceDuration", "SilenceDebuff", "PetrifyDuration", "HexDuration", "ImmobilizeDuration", "LiftDuration", "DebuffDuration", "HoldInPlaceDuration", "ExplodeDebuffDuration", "SlowPercent", "DebuffAccuracy", "TimeSlowDuration", "LateCheckoutStun", "BulletDamageAmpDuration", "BulletResistReduction", "BurnDuration", "EnemySlowPct", "MoveSlowPercent", "GroundDashReductionPercent", "StealDuration", "MaxSlowDuration", "EffectDuration", "BleedDuration", "VenomDuration", "TossDuration", "VictimStackDuration", "MovementSpeedSlow", "MovementSlowPct", "HealAmpReceivePenaltyPercent", "Life Drain", "Combo", "Light Eater", "Spirit Lasso", "Card Trick", "Stalker's Mark" } |
| "BonusHealthRegen", "DamageHealMult", "ExternalBonusHealthRegen", "FlatHealthHealing", "HealAmount", "HealFixedHealth",
| |
| "HealingFactor", "HealingPerSecond", "HealMaxHealth", "HealMaxHealthPercent", "HealOnKillPct", "HealPctVsHeroes",
| |
| "HealthStealPctHero", "InfestHeal", "LifeDrainPerSecond", "MaxHealthRegen", "MeleeLifesteal", "MissingHealthBurstPct",
| |
| "MissingHealthPercentHeal", "MissingHPHeal", "TetherSharedHealPct", "TotalHealthRegen",
| |
| "Card Trick", "Fire Scarabs", "Rake", "Soul Exchange",
| |
| },
| |
|
| |
|
| -- Abilities that reduce healing on their targets
| | -- Abilities that apply a movement slow to their targets |
| ["healreduce"] = {
| | local moveslow = { "SlowPercent", "EnemySlowPct", "MoveSlowPercent", "MaxSlowPercent", "MoveSpeedSlowPct", "MovementSpeedSlow", "MovementSlowPct", "ClubSlowPercent", "MoveSpeedPenaltyPerStack", "MovementSlow" } |
| "DisableHealing", "HealAmpReceivePenaltyPercent", "HealAmpRegenPenaltyPercent",
| |
| },
| |
|
| |
|
| -- Abilities that deal melee damage but scale with heavy melee
| | -- Abilities that apply a dash slow to their targets |
| ["heavymelee"] = {
| | local dashslow = { "GroundDashReductionPercent", "MaxGroundDashReductionPercent", "MoveSpeedAndDashSlowPct", "EnemyDashSlowPercent" } |
| "heavy_melee",
| |
| },
| |
| | |
| -- Abilities that trigger Indomitable. Should be mostly same as reactivebarrier.
| |
| ["indomitable"] = {
| |
| "ChainLength", "ChargeDragEnemy", "CitadelRoot", "CitadelSilenced", "HexDuration", "HoldInPlaceDuration",
| |
| "Immobilize", "ImmobilizeDuration", "LiftDuration", "PetrifyDuration", "RestrictionDuration", "Silenced",
| |
| "SilenceDuration", "SleepDuration", "StunDuration", "Tether",
| |
| "Combo", "Hotel Guest", "Paradoxical Swap", "Spirit Lasso",
| |
| },
| |
| | |
| -- Abilities that deal melee damage
| |
| ["melee"] = {
| |
| "heavy_melee", "melee",
| |
| },
| |
|
| |
| -- Abilities that are considered "movement-based". They get disabled by Slowing Hex and some other things.
| |
| ["movementbased"] = {
| |
| "BehaviorMovement",
| |
| },
| |
| | |
| -- Abilities that apply a move slow to their targets
| |
| ["moveslow"] = {
| |
| "EnemySlowPct", "MaxSlowPercent", "MovementSlow", "MovementSlowPct", "MovementSpeedSlow", "MoveSlowPercent",
| |
| "MoveSpeedPenaltyPerStack", "MoveSpeedSlowPct", "SlowPercent",
| |
| },
| |
| | |
| -- Abilities that apply some effect on a bullet hit that can be mitigated with Plated Armor
| |
| ["platedarmor"] = {
| |
| "BonusDamagePerBullet", "BuildUpDecayDelay", "BuildUpDuration",
| |
| "Blasted", "Card Trick", "Crackshot", "Fixation", "Ira Domini", "Light Eater",
| |
| "Power Surge",
| |
| },
| |
| | |
| -- Abilities that trigger Reactive Barrier
| |
| ["reactivebarrier"] = {
| |
| "ChainLength", "ChargeDragEnemy", "CitadelRoot", "CitadelSilenced", "HexDuration", "HoldInPlaceDuration",
| |
| "Immobilize", "ImmobilizeDuration", "LiftDuration", "PetrifyDuration", "RestrictionDuration", "Silenced",
| |
| "SilenceDuration", "SleepDuration", "StunDuration", "Tether",
| |
| "Combo", "Hotel Guest", "Paradoxical Swap", "Singularity", "Spirit Lasso",
| |
| },
| |
|
| |
| -- Abilities that scale with Boons
| |
| ["scalingboon"] = {
| |
| "Scale.Type:power_increase",
| |
| },
| |
|
| |
| -- Abilities that scale with ability duration
| |
| ["scalingduration"] = {
| |
| "Scale.Type:duration",
| |
| },
| |
|
| |
| -- Abilities that scale with ability range
| |
| ["scalingrange"] = {
| |
| "Scale.Type:range", "Scale.Type:radius",
| |
| },
| |
|
| |
| -- Abilities that scale with ability cooldown
| |
| ["scalingcooldown"] = {
| |
| "Scale.Type:cooldown",
| |
| },
| |
|
| |
| -- Abilities that scale with spirit
| |
| ["scalingspirit"] = {
| |
| "Scale.Type:spirit",
| |
| },
| |
|
| |
|
| -- for testing purposes. Feel free to change however you wish
| | -- Abilities that trigger Reactive Barrier on their targets (WIP) |
| ["test"] = {
| | local reactivebarrier = { "StunDuration", "SleepDuration", "SilenceDuration", "SilenceDebuff", "PetrifyDuration", "HexDuration", "ImmobilizeDuration", "LiftDuration", "HoldInPlaceDuration", "RestrictionDuration", "PullDuration", "PullDownDuration", "Itani Lo Sahn", "Dazzling Trick", "Ground Strike", "Hotel Guest" } |
| "BehaviorChannelled"
| |
| },
| |
|
| |
|
| -- Abilities whose negative effects are prevented by Unstoppable
| | -- Abilities whose debuffs can be cleansed by Dispel Magic |
| ["unstoppable"] = {
| | local dispelmagic = { "SilenceDuration", "SilenceDebuff", "ImmobilizeDuration", "LiftDuration", "HoldInPlaceDuration", "RestrictionDuration", "SlowPercent", "EnemySlowPct", "MoveSlowPercent", "GroundDashReductionPercent", "SlowDuration", "DebuffDuration", "ExplodeDebuffDuration", "BulletDamageAmpDuration", "BulletResistReduction", "StealDuration", "EffectDuration", "DebuffAccuracy", "TimeSlowDuration", "BurnDuration", "BleedDuration", "VenomDuration", "MaxSlowDuration", "Life Drain", "Card Trick", "Sticky Bomb", "Light Eater", "Luggage Cart", "Essence Theft" } |
| "ChainLength", "ChargeDragEnemy", "CitadelRoot", "CitadelSilenced", "DisarmDuration", "Drag",
| |
| "DragModifier", "EnemySlowPct", "FadingSlowPercent", "GroundDashReductionPercent", "HexDuration", "HoldInPlaceDuration",
| |
| "Immobilize", "ImmobilizeDuration", "LiftDuration", "MaxSlowDuration", "MovementSlow", "MovementSlowPct",
| |
| "MovementSpeedSlow", "MoveSlowPercent", "OutgoingTechDamagePercent", "PetrifyDuration", "RestrictionDuration", "Silenced",
| |
| "SilenceDuration", "SleepDuration", "SlowDuration", "SlowPercent", "StunDuration", "Tether",
| |
| "TimeSlowDuration", "TossDuration",
| |
| "Card Trick", "Combo", "Hotel Guest", "Paradoxical Swap", "Singularity", "Spirit Lasso",
| |
| },
| |
|
| |
|
| -- Abilities that deal weapon damage
| | -- Abilities that restore health, buffed by Heal Amp items |
| ["weapondamage"] = {
| | local heal = { "HealingPerSecond", "HealAmount", "HealFixedHealth", "FlatHealthHealing", "HealingFactor", "MaxHealthRegen", "ExternalBonusHealthRegen", "BonusHealthRegen", "LifeStealPercentOnHit", "LifestealPercentHero", "MissingHealthPercentHeal", "MissingHealthBurstPct", "MissingHPHeal", "TechLifestealPercent", "AbilityLifestealPercentHero", "HealthStealPctHero", "BulletLifestealPercent", "TotalHealthRegen", "DamageHealMult", "HealPctVsHeroes", "InfestHeal", "HealOnKillPct", "HealMaxHealth", "HealMaxHealthPercent", "RegenIncomingDamagePercent", "Rake", "Card Trick" } |
| "weapon_damage_increase",
| |
| "Crackshot",
| |
| },
| |
|
| |
| -- Abilities that scale with weapon damage
| |
| ["weaponscaling"] = {
| |
| "weapon_damage_increase", "weapon_power"
| |
| },
| |
|
| |
| -- Abilities that summons NPCs
| |
| ["summons"] = {
| |
| "TurretLifeTime", "SkullLifetime", "SummonCount", "SummonHealth", "TurretLifetime", "HelperCount"
| |
| },
| |
| } | |
|
| |
|
| -- Abilities that should be excluded from automatic lists | | -- Abilities to suppress from a given stat's list. |
| -- If adding here please add a comment with a reason | | -- Add entries here when a prop match is a false positive. |
| local exclude_abilities = { | | local exclude_abilities = { |
| ["cursedrelic"] = {
| |
| "Concussive Combustion", -- has BuffModifier that does nothing
| |
| "Enchanter's Satchel", -- has BehaviorChannelled but Pocket can't be targeted in it.
| |
| "Grasping Hands", -- has BuffModifier that does nothing
| |
| "Ira Domini", -- has BehaviorCannotCancelDuringChannel but does not dispelled
| |
| "Lycan Curse", -- has BonusFireRate that does not get dispelled
| |
| "Return to Shadows", -- has BehaviorChannelled but is untargetable during the channel
| |
| "Serrated Knives", -- has BehaviorChannelled for some reason
| |
| "Shadow Transformation", -- has BehaviorCannotCancelDuringChannel but it gives invulnerability and then unstoppable.
| |
| "Shocking Reanimation", -- Has BehaviorChannelled, BonusFireRate, BuffModifier but none get any effective treatment
| |
| "Vexing Bolt", -- has BehaviorChannelled but does not get cancelled
| |
| },
| |
| ["dashslow"] = {
| |
| "Itani Lo Sahn", -- has GroundDashReductionPercent but also disables stamina
| |
| },
| |
| ["debuffresist"] = { | | ["debuffresist"] = { |
| "Bookwyrm", -- has DebuffDuration for some reason | | "Bookwyrm", -- has DebuffDuration for some reason |
| "Frozen Shelter", -- has SlowPercent but no duration to shave off
| | "Itani Lo Sahn", -- has DebuffDuration but does not get reduced |
| "Itani Lo Sahn", -- has lots of debuffs but none are affected by debuffresist | |
| "Slam Fire", -- has DebuffDuration for some reason | | "Slam Fire", -- has DebuffDuration for some reason |
| "Splatter", -- has SlowPercent but no duration to shave off | | "Splatter", -- has SlowPercent but no duration to shave off |
| },
| |
| ["dispelmagic"] = {
| |
| "Slam Fire", -- has DebuffDuration for some reason
| |
| },
| |
| ["divinebarrier"] = {
| |
| "Bookwyrm", -- has DebuffDuration for some reason
| |
| "Frozen Shelter", -- has SlowPercent but no duration to shave off | | "Frozen Shelter", -- has SlowPercent but no duration to shave off |
| "Slam Fire", -- has DebuffDuration for some reason
| |
| "Splatter", -- has SlowPercent but no duration to shave off
| |
| },
| |
| ["dontbreakstealth"] = {
| |
| --"Riposte",
| |
| },
| |
| ["heal"] = {
| |
| "Riposte", -- has AbilityLifestealPercentHero but doesn't deal damage to heal off of
| |
| },
| |
| ["healingtempo"] = {
| |
| "Riposte", -- has AbilityLifestealPercentHero but doesn't deal damage to heal off of
| |
| },
| |
| ["indomitable"] = {
| |
| "Entangling Bola", -- has CitadelRoot that never gets applied,
| |
| "Itani Lo Sahn", -- has silence, just doesn't trigger Indomitable (bug?),
| |
| "Life Drain", -- has CitadelSilenced but doesn't apply any silence
| |
| "Singularity", -- has stun, just doesn't trigger Indomitable (bug?),
| |
| },
| |
| ["movementbased"] = {
| |
| "Slither", -- has BehaviorMovement but doesn't get disabled (because is passive?)
| |
| }, | | }, |
| ["moveslow"] = { | | ["moveslow"] = { |
| | "Riposte", -- has a 40% 4s slow somehow? (SlowPercent + SlowDuration) |
| "Grasping Hands", -- has SlowPercent | | "Grasping Hands", -- has SlowPercent |
| "Riposte", -- has a 40% 4s slow somehow? (SlowPercent + SlowDuration)
| |
| }, | | }, |
| ["platedarmor"] = { | | ["dashslow"] = { |
| "Arctic Beam", -- has BuildUpDuration but doesn't get applied with bullets. | | "Itani Lo Sahn", -- has GroundDashReductionPercent but also disables stamina |
| }, | | }, |
| ["reactivebarrier"] = { | | ["heal"] = { |
| "Entangling Bola", -- has CitadelRoot that never gets applied, | | "Riposte", -- has AbilityLifestealPercentHero but doesn't deal damage to heal off of |
| "Life Drain", -- has CitadelSilenced but doesn't apply any silence
| |
| }, | | }, |
| ["unstoppable"] = { | | ["dispelmagic"] = { |
| "Life Drain", -- has CitadelSilenced but doesn't apply any silence | | "Bookwyrm", -- has DebuffDuration for some reason |
| | "Slam Fire", -- has DebuffDuration for some reason |
| }, | | }, |
| } | | } |
|
| |
|
| return { | | return { |
| lists = lists, | | lists = { |
| | ["charges"] = charges, |
| | ["melee"] = melee, |
| | ["wpndmg"] = wpndmg, |
| | ["healreduce"] = healreduce, |
| | ["debuffresist"] = debuffresist, |
| | ["moveslow"] = moveslow, |
| | ["dashslow"] = dashslow, |
| | ["reactivebarrier"] = reactivebarrier, |
| | ["dispelmagic"] = dispelmagic, |
| | ["heal"] = heal, |
| | }, |
| exclude_abilities = exclude_abilities, | | exclude_abilities = exclude_abilities, |
| } | | } |