Need help with plugins or servers? Join our Discord

Modding Database

Up to date with Steam · checked 12s ago· Viewing build 6738 (Oct 02 2026), not the latest

citadel_ability_lash

Grapplecitadel_ability_lashOpen the ability page

40 keys · inherits from signature_base

What it inherits is already merged in: this is the entry as the game compiled it.

citadel_ability_lash = {
_class = "citadel_ability_lash"
_editor = {
folder_name = "Hero Lash"
}
_multibase = [
]
m_iMaxLevel = 1
m_iUpdateTime = 1668819272
m_BuffModifier = {
_class = "modifier_base"
m_bIsHidden = true
_my_subclass_name = "modifier_grapple_buff"
m_sLocalizationName = "lash_grapple_buff"
m_strParticleEffect = "particles/abilities/lash/lash_pull_weapon_buff.vpcf"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"WeaponDamageBonus"
1"WeaponFireRateBonus"
]
}
m_LashParticle = "particles/abilities/lash/lash_pull.vpcf"
m_eAbilityType = "EAbilityType_Signature"
m_strCastSound = "Lash.Grapple.Cast"
m_bStartTrained = false
m_mapWeaponInfos = {
primary = {
m_flBulletSpeed = 10000
}
}
m_strAbilityImage = "file://{images}/hud/abilities/lash/lash_lash.psd"
m_flBossDamageScale = 1
m_sCustomStackLabel = "#CurrentBonus_label" // Current Bonus:
m_AirControlModifier = {
_class = "modifier_grapple_air_control"
m_bIsHidden = true
_my_subclass_name = "modifier_air_control"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"AirControlPercent"
]
}
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_INSTANT_CAST"
m_nAbilityPointsCost = 0
m_strVictimCastSound = "Lash.Grapple.Target"
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = -17
m_strPropertyName = "AbilityCooldown"
}
]
}
1{
m_vecPropertyUpgrades = [
0{
m_strBonus = "20m"
m_strPropertyName = "AbilityCastRange"
}
1{
m_strBonus = 7
m_strPropertyName = "WeaponDamageBonus"
}
2{
m_strBonus = "6"
m_strPropertyName = "WeaponDamageBonusDuration"
}
]
}
2{
m_vecPropertyUpgrades = [
0{
m_strBonus = "1"
m_strPropertyName = "AbilityCharges"
}
1{
m_strBonus = "1"
m_strPropertyName = "RestoreStaminaOnUse"
}
2{
m_strBonus = "60"
m_strPropertyName = "AirControlPercent"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_ALL_ENEMY"
m_strAG2CastingAction = "lash_grapple_casting"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_MOVEMENT | CITADEL_ABILITY_BEHAVIOR_DEACTIVATE_CROUCH_TOGGLE_ON_CAST"
m_flTargetingConeAngle = 25
m_mapAbilityProperties = {
TechPower = { // Spirit Power
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
MinDistance = { // Min Range
m_strValue = "0m"
m_strCSSClass = "distance"
}
WeaponPower = { // Weapon Damage
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_WEAPON_POWER"
}
JumpVelocity = { // Jump Velocity
m_strValue = "20m"
m_strCSSClass = "move_speed"
m_eDisplayType = "EMaxMoveSpeed"
}
AbilityCharges = { // Charges
m_strValue = "1"
m_strCSSClass = "cast"
m_strDisableValue = "-1"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_ability_charges"
_my_subclass_name = "AbilityCharges_scale_function"
}
}
LashFriendlies = {
m_strValue = "1"
}
AbilityCooldown = { // Cooldown
m_strValue = 35
m_strCSSClass = "cooldown"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "AbilityCooldown_scale_function"
m_eSpecificStatScaleType = "ETechCooldown"
}
}
AbilityDuration = { // Duration
m_strValue = "0"
m_strCSSClass = "duration"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "AbilityDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
AbilityCastDelay = { // Cast Delay
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
AbilityCastRange = { // Cast Range
m_strValue = "30m"
m_strCSSClass = "range"
m_eDisplayUnits = "EDisplayUnit_Meters"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "AbilityCastRange_scale_function"
m_eSpecificStatScaleType = "ETechRange"
}
}
ChannelMoveSpeed = {
m_strValue = "-1"
m_strCSSClass = "move_speed"
m_eDisplayUnits = "EDisplayUnit_MetersPerSecond"
m_bCanSetTokenOverride = true
}
AirControlPercent = { // Air Control
m_strValue = "0"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_AIR_CONTROL_PERCENT"
}
WeaponDamageBonus = { // Weapon Damage
m_strValue = "0"
m_strCSSClass = "bullet_damage"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_FLAT_BULLET_DAMAGE_POST_SCALE"
}
AbilityChannelTime = { // Channel Duration
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_multi_stats"
_my_subclass_name = "scale_duration"
m_vecScalingStats = [
0"EChannelDuration"
1"ETechDuration"
]
}
}
JumpSlowResistance = {
m_strValue = "0.667"
}
AbilityResourceCost = {
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
RestoreStaminaOnUse = {
m_strValue = "0"
}
WeaponFireRateBonus = { // Fire Rate
m_strValue = "0"
m_strCSSClass = "fire_rate"
m_eDisplayType = "EFireRate"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_FIRE_RATE"
}
LashMetalSkinDuration = {
m_strValue = "0"
m_strCSSClass = "duration"
}
AbilityUnitTargetLimit = {
m_strValue = "1"
m_bCanSetTokenOverride = true
}
AbilityPostCastDuration = {
m_strValue = "0"
m_strDisableValue = "0"
}
WeaponDamageBonusDuration = { // Bonus Duration
m_strValue = "0"
m_strCSSClass = "duration"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "WeaponDamageBonusDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
AbilityCooldownBetweenCharge = { // Charge Delay
m_strValue = "2"
m_strCSSClass = "charge_cooldown"
m_strDisableValue = "-2"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_ability_recharge_time"
_my_subclass_name = "scale_function_ability_recharge_time"
}
}
}
m_nAbillityUnlocksCost = 1
m_AbilityTooltipDetails = {
m_vecAbilityInfoSections = [
0{
m_strLocString = "#citadel_ability_lash_desc" // <span class="highlight">Pull yourself through the air</span> toward a target. Using Grapple also resets your limit of <span class="highlight">air jumps and dashes</span>.
m_vecBasicProperties = [
0"WeaponDamageBonus"
1"WeaponDamageBonusDuration"
2"WeaponFireRateBonus"
]
m_vecAbilityPropertiesBlock = [
0{
m_vecAbilityProperties = [
0{
m_strImportantProperty = "JumpVelocity"
}
]
}
]
}
]
}
m_skillshotMissParticle = "particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam = "e_LashGrapple"
m_bitsInterruptingStates = "MODIFIER_STATE_IMMOBILIZED | MODIFIER_STATE_STUNNED | MODIFIER_STATE_IS_ASLEEP"
m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_CONE"
m_strAG2ChannelingAction = "lash_grapple_channeling"
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_UNIT"
m_strAG2CastCompletedAction = "lash_grapple"
m_strAbilityChargeReadySound = ""
m_strAbilityOffCooldownSound = ""
m_bitsChannelEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPreCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPostCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bShowTargetingPreviewWhileCasting = false
}

History

  1. 6722–6745changed
    • +m_mapWeaponInfos
      { 1 key }
      {
      	primary = 
      	{
      		m_flBulletSpeed = 10000
      	}
      }
    • +m_sCustomStackLabel#CurrentBonus_label
    • −m_WeaponInfo
      { 1 key }
      {
      	m_flBulletSpeed = 10000
      }
    • −m_strMoviePreviewPathfile://{resources}/videos/hero_abilities/lash_grapple.webm
  2. 6696–6701first dumped