Need help with plugins or servers? Join our Discord

Modding Database

Up to date with Steam · checked 10s ago· Viewing build 6726 (Sep 30 2026), not the latest

citadel_ability_tangotether

Kudzu Connectionability

class citadel_ability_tangotether · Ivy Signature 2 · inherits from signature_base

Deadworks (C#)
pawn.AddAbility("citadel_ability_tangotether", (ushort)EAbilitySlot.Signature2);
pawn.RemoveAbility("citadel_ability_tangotether");

Properties

Ability values, by the name modifiers and AddModifier overrides use. Tier columns are what each upgrade adds; "scaling" is how much more the value grows with spirit power or another stat.

PropertyEnglish labelValueTier 1Tier 2Tier 3Provides
TickRate0.1
TechPowerSpirit Power0TECH_POWER
WeaponPowerWeapon Damage0WEAPON_POWER
BonusFireRateFire Rate10+8FIRE_RATE
AbilityChargesCharges0
HealingPerGlub20
MoveSpeedBonusMove Speed0m+2mMOVEMENT_SPEED_MAX
AbilityCooldownCooldown37+-37
AbilityDurationDuration12+-13
AbilityCastDelayCast Delay0
AbilityCastRangeCast Range16m
ChannelMoveSpeed-1
AbilityChannelTimeChannel Duration0
TotalTetherTargetsTether Count1
AbilityResourceCost0
TetherSharedHealPctReplicated Healing35
AbilityUnitTargetLimit1
BulletLifestealPercentBullet Lifesteal15+8BULLET_LIFESTEAL
AbilityPostCastDuration0
AbilityCooldownBetweenChargeCharge Delay-1.0
MoveWhileZoomedSpeedPenaltyReductionPercent100MOVEMENT_SPEED_WHILE_ZOOMED_PENALTY_REDUCTION_PERCENT
MoveWhileShootingSpeedPenaltyReductionPercent100MOVEMENT_SPEED_WHILE_SHOOTING_PENALTY_REDUCTION_PERCENT

Modifiers

Defined inside this ability. AddModifier finds each by its scoped name.

Name for AddModifierClassReads ability values
citadel_ability_tangotether/citadel_modifier_tangotether_tethercitadel_modifier_tangotether_tether
citadel_ability_tangotether/citadel_modifier_tangotether_tether_receivercitadel_modifier_tangotether_tether_receiverBonusFireRate, BulletLifestealPercent, MoveSpeedBonus, MoveWhileShootingSpeedPenaltyReductionPercent, MoveWhileZoomedSpeedPenaltyReductionPercent
citadel_ability_tangotether/modifier_tether_no_connectionmodifier_tether_no_connection
citadel_ability_tangotether/targetcitadel_modifier_tangotether_target
citadel_ability_tangotether/tether_locked_modifiermodifier_base

VData

_class"citadel_ability_tangotether"
_editor
1 key
{
  "folder_name": "Hero Tengu"
}
_multibase
1 item
[
  "signature_base"
]
m_iMaxLevel1
m_flDashSpeed1200
m_flJumpPitch-35
m_flJumpSpeed1500
m_iUpdateTime1643091758
m_eAbilityType"EAbilityType_Signature"
m_strCastSound"Ivy.Tether.Cast"
m_SlashParticle"particles/abilities/yamato/yamato_nightmare_cast_blast.vpcf"
m_bStartTrainedfalse
m_flJumpAirDrag4
m_HudSharedStyle"panorama/styles/ability_hud_elements/abilities_tengu.vcss"
m_TetherModifier
18 keys
{
  "_class": "citadel_modifier_tangotether_tether",
  "m_HealSound": "",
  "m_BuffModifier": {
    "_class": "citadel_modifier_tangotether_tether_receiver",
    "m_bIsHidden": true,
    "_my_subclass_name": "citadel_modifier_tangotether_tether_receiver",
    "m_nEnabledStateMask": "MODIFIER_STATE_COOP_TETHER_ACTIVE",
    "m_sAmbientLoopingSound": "Ivy.Tether.Buff.Lp",
    "m_strAttackBuffParticle": "particles/abilities/tengu/tengu_tether.vpcf",
    "m_vecAlwaysShowInStatModifierUI": [
      "MODIFIER_VALUE_FIRE_RATE",
      "MODIFIER_VALUE_BULLET_LIFESTEAL",
      "MODIFIER_VALUE_MOVEMENT_SPEED_MAX"
    ],
    "m_vecAutoRegisterModifierValueFromAbilityPropertyName": [
      "BonusFireRate",
      "BulletLifestealPercent",
      "MoveSpeedBonus",
      "MoveWhileShootingSpeedPenaltyReductionPercent",
      "MoveWhileZoomedSpeedPenaltyReductionPercent"
    ]
  },
  "m_sExpiredSound": "Ivy.Tether.Buff.Expire",
  "_my_subclass_name": "citadel_modifier_tangotether_tether",
  "m_GrappleHitSound": "Ivy.Tether.Attach",
  "m_flMinConnectTime": 2,
  "m_sLocalizationName": "citadel_ability_tangotether",
  "m_eHudDisplayLocation": "DISPLAY_HUD_CENTER",
  "m_LockedTargetModifier": {
    "_class": "modifier_base",
    "m_bIsHidden": true,
    "_my_subclass_name": "tether_locked_modifier",
    "m_nEnabledStateMask": "MODIFIER_STATE_COOP_TETHER_LOCKED_TARGET"
  },
  "m_NoConnectionModifier": {
    "_class": "modifier_tether_no_connection",
    "m_bIsHidden": true,
    "_my_subclass_name": "modifier_tether_no_connection",
    "m_vecAlwaysShowInStatModifierUI": [
      "MODIFIER_VALUE_FIRE_RATE",
      "MODIFIER_VALUE_BULLET_LIFESTEAL",
      "MODIFIER_VALUE_MOVEMENT_SPEED_MAX"
    ]
  },
  "m_flTargetAwayDistance": 250,
  "m_sAmbientLoopingSound": "",
  "m_strSmallIconCssClass": "citadel_ability_tangotether",
  "m_nStatusEffectPriority": 50,
  "m_strParticleStatusEffect": "particles/status_fx/status_fx_tengu_tether_buff.vpcf",
  "m_flCandidateCloserDistance": 400,
  "m_flDisconnectDistanceBuffer": 100
}
m_mapWeaponInfos
1 key
{
  "primary": {
    "m_flRange": 10000,
    "m_iClipSize": 1,
    "m_flBulletSpeed": 4000,
    "m_flBulletRadius": 32,
    "m_flBulletLifetime": 1,
    "m_mapImpactEffects": {
      "default": {}
    },
    "m_vecScatterOffsets": [
      [
        0,
        0
      ],
      [
        1,
        0
      ],
      [
        -1,
        0
      ]
    ],
    "m_strBulletWhizSound": "Orion.Charged.Shot.Whizby",
    "m_flBulletGravityScale": 0.3,
    "m_flPelletScatterFactor": 2,
    "m_strWeaponImpactEffect": "",
    "m_flDamageFalloffEndRange": -1,
    "m_szMuzzleFlashEffectName": "",
    "m_bHitOnceAcrossAllBullets": true,
    "m_flDamageFalloffStartRange": -1,
    "m_szBulletTravelTracerParticle": "particles/abilities/shiv/shiv_thrown_shiv.vpcf"
  }
}
m_strAbilityImage"file://{images}/hud/abilities/tengu/tengu_tether.psd"
m_flBossDamageScale1
m_flJumpAirSpeedMax20
m_sCustomStackLabel"#CurrentBonus_label"
m_eAbilityActivation"CITADEL_ABILITY_ACTIVATION_INSTANT_CAST"
m_flJumpFallSpeedMax1
m_nAbilityPointsCost0
m_strGrappleHitWorld""
m_PreviewPathParticle"particles/generic/generic_arc.vpcf"
m_eTargettingLOSCheck"Bounds_IgnoreObscureBlockers"
m_flAngleToSpeedScale
4 items
[
  0,
  45,
  1,
  0.5
]
m_flBackswingDuration0.5
m_nAbilityTargetTypes"CITADEL_UNIT_TARGET_ALL_FRIENDLY"
m_AbilityBehaviorsBits"CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT"
m_EnemyGrappleParticle""
m_cameraSequenceFlying
2 keys
{
  "m_vecFOVOperations": [],
  "m_vecTargetPosOperations": [
    {
      "m_flLagTime": 0.2,
      "m_flLagMaxSpeed": 400,
      "m_eCameraOperation": "k_ECameraOp_Lag",
      "m_flLagMinDuration": 0,
      "m_flLagSpringStrength": 2.3
    }
  ]
}
m_flTargetingConeAngle30
m_nAbillityUnlocksCost1
m_strGrappleHitNothing""
m_AbilityTooltipDetails
1 key
{
  "m_vecAbilityInfoSections": [
    {
      "m_strLocString": "#citadel_ability_tangotether_desc",
      "m_vecBasicProperties": [
        "MoveSpeedBonus",
        "TotalTetherTargets"
      ],
      "m_vecAbilityPropertiesBlock": [
        {
          "m_vecAbilityProperties": [
            {
              "m_strImportantProperty": "BonusFireRate"
            },
            {
              "m_strImportantProperty": "BulletLifestealPercent"
            },
            {
              "m_strImportantProperty": "TetherSharedHealPct"
            }
          ]
        }
      ]
    }
  ]
}
m_GrappleTargetModifier
6 keys
{
  "_class": "citadel_modifier_tangotether_target",
  "m_bIsHidden": true,
  "_my_subclass_name": "target",
  "m_strHudMessageText": "#citadel_ability_tangotether",
  "m_GrappleRopeParticle": "particles/abilities/tengu/tengu_tether_pull.vpcf",
  "m_sAmbientLoopingSound": ""
}
m_mapDependentAbilities
1 key
{
  "citadel_ability_tangotether_trigger": null
}
m_skillshotMissParticle"particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam"e_FlyingStrike"
m_bitsInterruptingStates"MODIFIER_STATE_IMMOBILIZED | MODIFIER_STATE_STUNNED | MODIFIER_STATE_IS_ASLEEP"
m_eAbilityTargetingShape"CITADEL_ABILITY_TARGETING_SHAPE_CONE"
m_flGrappleShotFloatTime0
m_cameraSequenceAttacking
1 key
{
  "m_vecDistanceOperations": []
}
m_flAnimToStrikePointTime0.5
m_flDashLockOntoTargetDist250
m_eAbilityTargetingLocation"CITADEL_ABILITY_TARGETING_LOCATION_NONE"
m_flDashCloseEnoughToTarget300
m_strAbilityChargeReadySound""
m_strAbilityOffCooldownSound""
m_BulletGrappleTracerParticle""
m_bitsChannelEnabledStateMask"MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPreCastEnabledStateMask"MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPostCastEnabledStateMask"MODIFIER_STATE_BUSY_WITH_ACTION"
m_flGrappleShotDelayToFlyOnHit0.25
m_flVelocityTurnSpringStrength20
m_bShowTargetingPreviewWhileCastingtrue

History

  1. 6722–6745changed
    • +m_mapWeaponInfos
      { 1 key }
      {
      	primary = 
      	{
      		m_flRange = 10000
      		m_iClipSize = 1
      		m_flBulletSpeed = 4000
      		m_flBulletRadius = 32
      		m_flBulletLifetime = 1
      		m_mapImpactEffects = 
      		{
      			default = 
      			{
      			}
      		}
      		m_vecScatterOffsets = 
      		[
      			[ 0, 0 ],
      			[ 1, 0 ],
      			[ -1, 0 ],
      		]
      		m_strBulletWhizSound = "Orion.Charged.Shot.Whizby"
      		m_flBulletGravityScale = 0.3
      		m_flPelletScatterFactor = 2
      		m_strWeaponImpactEffect = ""
      		m_flDamageFalloffEndRange = -1
      		m_szMuzzleFlashEffectName = ""
      		m_bHitOnceAcrossAllBullets = true
      		m_flDamageFalloffStartRange = -1
      		m_szBulletTravelTracerParticle = "particles/abilities/shiv/shiv_thrown_shiv.vpcf"
      	}
      }
    • +m_sCustomStackLabel#CurrentBonus_label
    • ~m_eTargettingLOSCheckELOSCheck_Bounds_IgnoreObscureBlockers→Bounds_IgnoreObscureBlockers
    • −m_WeaponInfo
      { 16 keys }
      {
      	m_flRange = 10000
      	m_iClipSize = 1
      	m_flBulletSpeed = 4000
      	m_flBulletRadius = 32
      	m_flBulletLifetime = 1
      	m_mapImpactEffects = 
      	{
      		default = 
      		{
      			m_strSound = "Orion.Charged.Shot.Proj.Impact"
      		}
      	}
      	m_vecScatterOffsets = 
      	[
      		[ 0, 0 ],
      		[ 1, 0 ],
      		[ -1, 0 ],
      	]
      	m_strBulletWhizSound = "Orion.Charged.Shot.Whizby"
      	m_flBulletGravityScale = 0.3
      	m_flPelletScatterFactor = 2
      	m_strWeaponImpactEffect = ""
      	m_flDamageFalloffEndRange = -1
      	m_szMuzzleFlashEffectName = ""
      	m_bHitOnceAcrossAllBullets = true
      	m_flDamageFalloffStartRange = -1
      	m_szBulletTravelTracerParticle = "particles/abilities/shiv/shiv_thrown_shiv.vpcf"
      }
    • −m_strMoviePreviewPathfile://{resources}/videos/hero_abilities/tengu_tangotether.webm
  2. 6696–6701first dumped