Module:AbilityTable/Lists: Difference between revisions

Vergir (talk | contribs)
m add static charge to dispelmagic list
add Abilities that scale with Boons
 
(64 intermediate revisions by 7 users not shown)
Line 1: Line 1:
local lists = {
local lists = {
-- Abilities that give barrier
["barrier"] = {
"AirDropBulletShield",
"CombatBarrier",
},
     -- Abilities that have charges
     -- Abilities that have charges
     ["charges"] = { "AbilityCharges" },
     ["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 deal melee damage
     -- Abilities that give debuff resist.
     ["melee"] = { "heavy_melee", "melee" },
     ["extradebuffresist"] = {
    "StatusResistancePercent"
    },
 
    -- Abilities whose effects can be cleansed by Dispel Magic
    ["dispelmagic"] = {
        "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)
    ["divinebarrier"] = {
        "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
    ["heal"] = {
        "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
    ["healingtempo"] = {
        "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
    ["healreduce"] = {
        "DisableHealing", "HealAmpReceivePenaltyPercent", "HealAmpRegenPenaltyPercent",
    },
     -- Abilities that deal melee damage but scale with heavy melee
     -- Abilities that deal melee damage but scale with heavy melee
     ["heavymelee"] = { "heavy_melee" },
     ["heavymelee"] = {
        "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 deal weapon damage
     -- Abilities that are considered "movement-based". They get disabled by Slowing Hex and some other things.
    ["weapondamage"] = { "weapon_damage_increase" },
     ["movementbased"] = {
   
    "BehaviorMovement",
-- Abilities that reduce healing on their targets
    ["healreduce"] = { "DisableHealing", "HealAmpReceivePenaltyPercent", "HealAmpRegenPenaltyPercent" },
   
    -- Abilities whose duration is reduced by Debuff Resist (Debuff Reducer etc.)
     ["debuffresist"] = {
        "MovementSlow", "BulletDamageAmpDuration", "BulletResistReduction", "BurnDuration", "DebuffAccuracy", "DebuffDuration",
        "FadingSlowPercent", "EnemySlowPct", "GroundDashReductionPercent", "HealAmpReceivePenaltyPercent", "DamageAmpPercentage", "ImmobilizeDuration",
        "TimeSlowDuration", "MaxSlowDuration", "MovementSlowPct", "MovementSpeedSlow", "PetrifyDuration", "SilenceDuration",
        "SleepDuration", "SlowPercent", "StealDuration", "StunDuration", "TossDuration", "VenomDuration",
        "VictimStackDuration", "BuildUpPerShot", "ProcDamage", "HoldInPlaceDuration", "MoveSlowPercent",
        "Card Trick", "Combo", "Life Drain", "Light Eater", "Spirit Lasso",
     },
     },
   
 
     -- Abilities that apply a move slow to their targets
     -- Abilities that apply a move slow to their targets
     ["moveslow"] = {
     ["moveslow"] = {
         "EnemySlowPct", "MaxSlowPercent", "MovementSlow", "MovementSlowPct", "MovementSpeedSlow", "MoveSpeedPenaltyPerStack",
         "EnemySlowPct", "MaxSlowPercent", "MovementSlow", "MovementSlowPct", "MovementSpeedSlow", "MoveSlowPercent",
         "MoveSpeedSlowPct", "SlowPercent", "MoveSlowPercent"
         "MoveSpeedPenaltyPerStack", "MoveSpeedSlowPct", "SlowPercent",
     },
     },


     -- Abilities that apply a dash slow to their targets
     -- Abilities that apply some effect on a bullet hit that can be mitigated with Plated Armor
     ["dashslow"] = { "EnemyDashSlowPercent", "GroundDashReductionPercent", "MaxGroundDashReductionPercent", "MoveSpeedAndDashSlowPct" },
     ["platedarmor"] = {
        "BonusDamagePerBullet", "BuildUpDecayDelay", "BuildUpDuration",
        "Blasted", "Card Trick", "Crackshot", "Fixation", "Ira Domini", "Light Eater",
        "Power Surge",
    },


     -- Abilities that trigger Reactive Barrier on their targets (WIP)
     -- Abilities that trigger Reactive Barrier
     ["reactivebarrier"] = {
     ["reactivebarrier"] = {
         "HexDuration", "HoldInPlaceDuration", "ImmobilizeDuration", "LiftDuration", "PetrifyDuration", "PullDownDuration",
         "ChainLength", "ChargeDragEnemy", "CitadelRoot", "CitadelSilenced", "HexDuration", "HoldInPlaceDuration",
         "PullDuration", "RestrictionDuration", "SilenceDebuff", "SilenceDuration", "SleepDuration", "StunDuration",
        "Immobilize", "ImmobilizeDuration", "LiftDuration", "PetrifyDuration", "RestrictionDuration", "Silenced",
         "TossDuration",
         "SilenceDuration", "SleepDuration", "StunDuration", "Tether",
         "Dazzling Trick", "Ground Strike", "Hotel Guest", "Itani Lo Sahn",
        "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",
     },
     },


     -- Abilities whose effects can be cleansed by Dispel Magic
    -- for testing purposes. Feel free to change however you wish
     ["dispelmagic"] = {
    ["test"] = {
    "MovementSlow", "BulletDamageAmpDuration", "BulletResistReduction", "BurnDuration", "DebuffAccuracy", "DebuffDuration",
        "BehaviorChannelled"
         "FadingSlowPercent", "EnemySlowPct", "GroundDashReductionPercent", "HealAmpReceivePenaltyPercent", "ImmobilizeDuration", "TimeSlowDuration",
    },
         "MaxSlowDuration", "MovementSlowPct", "MovementSpeedSlow", "SlowPercent", "StealDuration", "TossDuration",
 
         "VenomDuration", "VictimStackDuration", "BuildUpPerShot", "ProcDamage", "GroundDashReductionPercent", "MoveSlowPercent",
     -- Abilities whose negative effects are prevented by Unstoppable
         "HoldInPlaceDuration", "MaxSlowDuration", "SlowDuration", "DotHealthPercent", "GroundAuraModifier",
     ["unstoppable"] = {
         "Card Trick", "Essence Theft", "Life Drain", "Light Eater", "Luggage Cart", "Sticky Bomb",
        "ChainLength", "ChargeDragEnemy", "CitadelRoot", "CitadelSilenced", "DisarmDuration", "Drag",
        "Stalker's Mark", "Static Charge",
         "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 restore health, buffed by Heal Amp items
     -- Abilities that deal weapon damage
     ["heal"] = {
     ["weapondamage"] = {
         "AbilityLifestealPercentHero", "BonusHealthRegen", "BulletLifestealPercent", "DamageHealMult", "ExternalBonusHealthRegen",
         "weapon_damage_increase",
         "FlatHealthHealing", "HealAmount", "HealFixedHealth", "HealingFactor", "HealingPerSecond", "HealMaxHealth", "HealMaxHealthPercent",
         "Crackshot",
         "HealOnKillPct", "HealPctVsHeroes", "HealthStealPctHero", "InfestHeal", "LifeStealPercentOnHit",
    },
         "LifestealPercentHero", "MaxHealthRegen", "MissingHealthBurstPct", "MissingHealthPercentHeal", "MissingHPHeal",
   
        "RegenIncomingDamagePercent", "TechLifestealPercent", "TotalHealthRegen",
    -- Abilities that scale with weapon damage
        "Card Trick", "Rake",
    ["weaponscaling"] = {
         "weapon_damage_increase", "weapon_power"
    },
   
    -- Abilities that summons NPCs
    ["summons"] = {
         "TurretLifeTime", "SkullLifetime", "SummonCount", "SummonHealth", "TurretLifetime", "HelperCount"
     },
     },
}
}
Line 67: Line 199:
-- If adding here please add a comment with a reason
-- If adding here please add a comment with a reason
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 lots of debuffs but none are affected by debuffresist
         "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"] = {
        "Grasping Hands", -- has SlowPercent
         "Riposte",        -- has a 40% 4s slow somehow? (SlowPercent + SlowDuration)
         "Riposte",        -- has a 40% 4s slow somehow? (SlowPercent + SlowDuration)
        "Grasping Hands", -- has SlowPercent
     },
     },
     ["dashslow"] = {
     ["platedarmor"] = {
         "Itani Lo Sahn", -- has GroundDashReductionPercent but also disables stamina
         "Arctic Beam", -- has BuildUpDuration but doesn't get applied with bullets.
     },
     },
     ["heal"] = {
     ["reactivebarrier"] = {
         "Riposte",       -- has AbilityLifestealPercentHero but doesn't deal damage to heal off of
         "Entangling Bola", -- has CitadelRoot that never gets applied,
        "Life Drain",      -- has CitadelSilenced but doesn't apply any silence
     },
     },
     ["dispelmagic"] = {
     ["unstoppable"] = {
         "Slam Fire",     -- has DebuffDuration for some reason
         "Life Drain", -- has CitadelSilenced but doesn't apply any silence
     },
     },
}
}