Need help with plugins or servers? Join our Discord

Modding Database

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

ability_viper_hookdagger

Hook Bladeability

class ability_viper_hookblade · inherits from signature_base

Deadworks (C#)
pawn.AddAbility("ability_viper_hookdagger", slot);
pawn.RemoveAbility("ability_viper_hookdagger");

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
TickRate.01
TechPowerSpirit Power0TECH_POWER
CatchRadius3m
SlowPercentMove Speed28+28MOVEMENT_SPEED_SLOW_PERCENT
SpreadAngle90
WeaponPowerWeapon Damage0WEAPON_POWER
ReturnDamageHook Damage90
ReturnRadius1m
SlowDurationSlow Duration1
AbilityChargesCharges0
OutgoingDamageInitial Damage45
ReturnVelocity2300
AbilityCooldownCooldown9+-4
AbilityDurationDuration0
AbilityCastDelayCast Delay.15
AbilityCastRangeCast Range0
ChannelMoveSpeed-1
AbilityChannelTimeChannel Duration0
AbilityResourceCost0
AbilityUnitTargetLimit1
AbilityPostCastDuration0
OutgoingProjectileLifetimeHook Delay.4
AbilityCooldownBetweenChargeCharge Delay-1.0

Modifiers

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

Name for AddModifierClassReads ability values
ability_viper_hookdagger/modifier_viper_slow Slowedmodifier_slow_baseSlowPercent

VData

_class"ability_viper_hookblade"
_editor
1 key
{
  "folder_name": "Hero Viper"
}
_multibase
1 item
[
  "signature_base"
]
m_iMaxLevel1
m_iUpdateTime0
m_eAbilityType"EAbilityType_Signature"
m_strCastSound"Viper.HookBlade.Cast"
m_bStartTrainedfalse
m_mapWeaponInfos
1 key
{
  "primary": {
    "m_Spread": 0.5,
    "m_flRange": 8192,
    "m_bCanCrit": true,
    "m_bCanZoom": true,
    "m_bSpinsUp": false,
    "m_iBullets": 1,
    "m_flZoomFOV": 70,
    "m_iClipSize": 0,
    "m_bIsSemiAuto": false,
    "m_flCycleTime": 0.15,
    "m_nRecoilSeed": 0,
    "m_flBuildUpRate": -1,
    "m_flBulletSpeed": 0,
    "m_flRecoilSpeed": 1,
    "m_strShootSound": "",
    "m_flBulletDamage": 0,
    "m_flBulletRadius": 0,
    "m_flCritBonusEnd": 1,
    "m_reloadDuration": 0,
    "m_strReloadSound": "",
    "m_strSpinUpSound": "",
    "m_strZoomInSound": "",
    "m_NpcAimingSpread": 0,
    "m_VerticallRecoil": {
      "m_Range": 0,
      "m_flBurstSlope": 0,
      "m_flBurstConstant": 0,
      "m_flBurstExponent": 1
    },
    "m_bFiresBackwards": false,
    "m_flSpinDecayRate": 0,
    "m_flVerticalPunch": 1,
    "m_iBurstShotCount": 1,
    "m_strLowAmmoSound": "",
    "m_strZoomOutSound": "",
    "m_HorizontalRecoil": {
      "m_Range": 0,
      "m_flBurstSlope": 0,
      "m_flBurstConstant": 0,
      "m_flBurstExponent": 1
    },
    "m_flBulletLifetime": 0,
    "m_flCritBonusStart": 1,
    "m_flIronSightsTime": 0.1,
    "m_mapImpactEffects": {},
    "m_strSpinDownSound": "",
    "m_flExplosionRadius": 0,
    "m_flHorizontalPunch": 0.5,
    "m_flScatterYawScale": 1,
    "m_flVerticalAimBias": 0,
    "m_strReloadEndSound": "",
    "m_vecScatterOffsets": [],
    "m_flMaxSpinCycleTime": -1,
    "m_flRangeWhileZoomed": 0,
    "m_flSpinIncreaseRate": 0,
    "m_flZoomFOV_Relative": -5,
    "m_strBulletWhizSound": "",
    "m_strSpinUpLoopSound": "",
    "m_flAutoReplenishClip": 0,
    "m_flCritBonusEndRange": 0,
    "m_flDamageFalloffBias": 0.5,
    "m_flSemiAutoCycleRate": -1,
    "m_bReloadSingleBullets": false,
    "m_flBulletGravityScale": 1,
    "m_flBulletWhizDistance": 150,
    "m_flPenetrationPercent": 0,
    "m_flSpreadPenaltyDecay": 3,
    "m_iAmmoConsumedPerShot": 1,
    "m_strBulletImpactSound": "",
    "m_eAttachmentSourceType": "EAttachmentSource_WeaponMuzzles",
    "m_flBulletRadiusVsWorld": 0,
    "m_flCritBonusStartRange": 0,
    "m_flIntraBurstCycleTime": 0,
    "m_flPelletScatterFactor": 1,
    "m_flRecoilRecoverySpeed": 1,
    "m_strBulletLoopingSound": "",
    "m_strWeaponImpactEffect": "",
    "m_flCritBonusAgainstNPCs": 0.2,
    "m_flDamageFalloffEndRange": 900,
    "m_flDamageFalloffEndScale": 0,
    "m_szMuzzleFlashEffectName": "",
    "m_AimingShootSpreadPenalty": 0,
    "m_bHitOnceAcrossAllBullets": false,
    "m_flReloadMoveSpeedPercent": 1,
    "m_bApplySpreadToFirstPellet": false,
    "m_flBulletSpeedRandomFactor": 0,
    "m_flDamageFalloffStartRange": 0,
    "m_flDamageFalloffStartScale": 1,
    "m_flShootSpreadPenaltyDecay": 1,
    "m_flShootingUpSpreadPenalty": 0,
    "m_strCustomAttachmentSource": "ability_cast",
    "m_flPelletScatterSpreadFactor": 0.5,
    "m_flRecoilRecoveryDelayFactor": 1,
    "m_flShootSpreadPenaltyPerShot": 0,
    "m_szBulletTravelTracerParticle": "particles/weapon_fx/default_tracer.vpcf",
    "m_flShootSpreadPenaltyDecayDelay": -1,
    "m_bReloadSingleBulletsAllowCancel": false,
    "m_strLocalPlayerBulletImpactSound": "",
    "m_szSelfBulletTravelTracerParticle": "",
    "m_bUseDesatForFriendlyNonHeroTracer": true,
    "m_flExplosionDamageScaleAtMaxRadius": 0.3,
    "m_flReloadSingleBulletsInitialDelay": 0,
    "m_flBulletInheritShooterVelocityScale": 0,
    "m_flRecoilShotIndexRecoveryTimeFactor": 0.25,
    "m_strLocalPlayerBulletImpactHeavySound": ""
  }
}
m_projectileInfo
23 keys
{
  "m_flSpeed": 2200,
  "m_HitSound": "Viper.HookBlade.Impact",
  "m_particle": "particles/abilities/viper/viper_hookblade_straight_proj.vpcf",
  "m_flUpSpeed": 300,
  "m_flFriction": 0,
  "m_nBehaviors": "PBF_DetonateOnHitWorld | PBF_DetonateOnLifetimeExpire | PBF_AllowHitOnNonTrackedTargets",
  "m_customModel": "",
  "m_LoopingSound": "",
  "m_WarningSound": "",
  "m_flElasticity": 0,
  "m_DetonateSound": "",
  "m_flGravityScale": 0,
  "m_flPhysicsRadius": 1.5,
  "m_flTriggerRadius": 40,
  "m_eProjectileShape": "Sphere",
  "m_flMaxLinearRange": 0,
  "m_flVerticalAimBias": 0,
  "m_flTrackingDuration": 0,
  "m_flTrackingStartTime": 0,
  "m_bHideWarningParticle": true,
  "m_flProjectileModelScale": 1,
  "m_flTrackingStopDuration": -1,
  "m_flTrackingDampingCoefficient": 0
}
m_strAbilityImage"file://{images}/hud/abilities/shiv/shiv_toss.psd"
m_flBossDamageScale1
m_sCustomStackLabel"#CurrentBonus_label"
m_SlowDebuffModifier
7 keys
{
  "_class": "modifier_slow_base",
  "m_bIsHidden": true,
  "_my_subclass_name": "modifier_viper_slow",
  "m_vecScriptValues": [],
  "m_strParticleEffect": "",
  "m_vecScriptEventHandlers": [],
  "m_vecAutoRegisterModifierValueFromAbilityPropertyName": [
    "SlowPercent"
  ]
}
m_eAbilityActivation"CITADEL_ABILITY_ACTIVATION_INSTANT_CAST"
m_nAbilityPointsCost0
m_PreviewPathParticle"particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes"CITADEL_UNIT_TARGET_HERO | CITADEL_UNIT_TARGET_ALL_ENEMY | CITADEL_UNIT_TARGET_ALL"
m_AbilityBehaviorsBits"CITADEL_ABILITY_BEHAVIOR_CHANNELLED | CITADEL_ABILITY_BEHAVIOR_PROJECTILE | CITADEL_ABILITY_BEHAVIOR_NO_TARGET | CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT | CITADEL_ABILITY_BEHAVIOR_CLEAVE_DISABLED"
m_DaggerImpactParticle"particles/abilities/viper/viper_hookblade_impact.vpcf"
m_nAbillityUnlocksCost1
m_AbilityTooltipDetails
1 key
{
  "m_vecAbilityInfoSections": [
    {
      "m_strLocString": "#ability_viper_hookdagger_desc",
      "m_vecBasicProperties": [
        "SlowDuration",
        "SlowPercent",
        "OutgoingProjectileLifetime"
      ],
      "m_vecAbilityPropertiesBlock": [
        {
          "m_vecAbilityProperties": [
            {
              "m_strImportantProperty": "OutgoingDamage"
            },
            {
              "m_strImportantProperty": "ReturnDamage"
            }
          ]
        }
      ]
    }
  ]
}
m_skillshotMissParticle"particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam"e_GenericThrow"
m_bitsInterruptingStates"MODIFIER_STATE_STUNNED"
m_eAbilityTargetingShape"CITADEL_ABILITY_TARGETING_SHAPE_SPHERE"
m_strCastAnimSequenceName""
m_strSelectionNameOverride""
m_eAbilityTargetingLocation"CITADEL_ABILITY_TARGETING_LOCATION_NONE"
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"

History

  1. 6722–6745changed
    • +m_mapWeaponInfos
      { 1 key }
      {
      	primary = 
      	{
      		m_Spread = 0.5
      		m_flRange = 8192
      		m_bCanCrit = true
      		m_bCanZoom = true
      		m_bSpinsUp = false
      		m_iBullets = 1
      		m_flZoomFOV = 70
      		m_iClipSize = 0
      		m_bIsSemiAuto = false
      		m_flCycleTime = 0.15
      		m_nRecoilSeed = 0
      		m_flBuildUpRate = -1
      		m_flBulletSpeed = 0
      		m_flRecoilSpeed = 1
      		m_strShootSound = ""
      		m_flBulletDamage = 0
      		m_flBulletRadius = 0
      		m_flCritBonusEnd = 1
      		m_reloadDuration = 0
      		m_strReloadSound = ""
      		m_strSpinUpSound = ""
      		m_strZoomInSound = ""
      		m_NpcAimingSpread = 0
      		m_VerticallRecoil = 
      		{
      			m_Range = 0
      			m_flBurstSlope = 0
      			m_flBurstConstant = 0
      			m_flBurstExponent = 1
      		}
      		m_bFiresBackwards = false
      		m_flSpinDecayRate = 0
      		m_flVerticalPunch = 1
      		m_iBurstShotCount = 1
      		m_strLowAmmoSound = ""
      		m_strZoomOutSound = ""
      		m_HorizontalRecoil = 
      		{
      			m_Range = 0
      			m_flBurstSlope = 0
      			m_flBurstConstant = 0
      			m_flBurstExponent = 1
      		}
      		m_flBulletLifetime = 0
      		m_flCritBonusStart = 1
      		m_flIronSightsTime = 0.1
      		m_mapImpactEffects = 
      		{
      		}
      		m_strSpinDownSound = ""
      		m_flExplosionRadius = 0
      		m_flHorizontalPunch = 0.5
      		m_flScatterYawScale = 1
      		m_flVerticalAimBias = 0
      		m_strReloadEndSound = ""
      		m_vecScatterOffsets = []
      		m_flMaxSpinCycleTime = -1
      		m_flRangeWhileZoomed = 0
      		m_flSpinIncreaseRate = 0
      		m_flZoomFOV_Relative = -5
      		m_strBulletWhizSound = ""
      		m_strSpinUpLoopSound = ""
      		m_flAutoReplenishClip = 0
      		m_flCritBonusEndRange = 0
      		m_flDamageFalloffBias = 0.5
      		m_flSemiAutoCycleRate = -1
      		m_bReloadSingleBullets = false
      		m_flBulletGravityScale = 1
      		m_flBulletWhizDistance = 150
      		m_flPenetrationPercent = 0
      		m_flSpreadPenaltyDecay = 3
      		m_iAmmoConsumedPerShot = 1
      		m_strBulletImpactSound = ""
      		m_eAttachmentSourceType = "EAttachmentSource_WeaponMuzzles"
      		m_flBulletRadiusVsWorld = 0
      		m_flCritBonusStartRange = 0
      		m_flIntraBurstCycleTime = 0
      		m_flPelletScatterFactor = 1
      		m_flRecoilRecoverySpeed = 1
      		m_strBulletLoopingSound = ""
      		m_strWeaponImpactEffect = ""
      		m_flCritBonusAgainstNPCs = 0.2
      		m_flDamageFalloffEndRange = 900
      		m_flDamageFalloffEndScale = 0
      		m_szMuzzleFlashEffectName = ""
      		m_AimingShootSpreadPenalty = 0
      		m_bHitOnceAcrossAllBullets = false
      		m_flReloadMoveSpeedPercent = 1
      		m_bApplySpreadToFirstPellet = false
      		m_flBulletSpeedRandomFactor = 0
      		m_flDamageFalloffStartRange = 0
      		m_flDamageFalloffStartScale = 1
      		m_flShootSpreadPenaltyDecay = 1
      		m_flShootingUpSpreadPenalty = 0
      		m_strCustomAttachmentSource = "ability_cast"
      		m_flPelletScatterSpreadFactor = 0.5
      		m_flRecoilRecoveryDelayFactor = 1
      		m_flShootSpreadPenaltyPerShot = 0
      		m_szBulletTravelTracerParticle = "particles/weapon_fx/default_tracer.vpcf"
      		m_flShootSpreadPenaltyDecayDelay = -1
      		m_bReloadSingleBulletsAllowCancel = false
      		m_strLocalPlayerBulletImpactSound = ""
      		m_szSelfBulletTravelTracerParticle = ""
      		m_bUseDesatForFriendlyNonHeroTracer = true
      		m_flExplosionDamageScaleAtMaxRadius = 0.3
      		m_flReloadSingleBulletsInitialDelay = 0
      		m_flBulletInheritShooterVelocityScale = 0
      		m_flRecoilShotIndexRecoveryTimeFactor = 0.25
      		m_strLocalPlayerBulletImpactHeavySound = ""
      	}
      }
    • +m_sCustomStackLabel#CurrentBonus_label
    • −m_WeaponInfo
      { 95 keys }
      {
      	m_Spread = 0.5
      	m_flRange = 8192
      	m_bCanCrit = true
      	m_bCanZoom = true
      	m_bSpinsUp = false
      	m_iBullets = 1
      	m_flZoomFOV = 70
      	m_iClipSize = 0
      	m_bIsSemiAuto = false
      	m_flCycleTime = 0.15
      	m_nRecoilSeed = 0
      	m_flBuildUpRate = -1
      	m_flBulletSpeed = 0
      	m_flRecoilSpeed = 1
      	m_strShootSound = ""
      	m_flBulletDamage = 0
      	m_flBulletRadius = 0
      	m_flCritBonusEnd = 1
      	m_reloadDuration = 0
      	m_strReloadSound = ""
      	m_strSpinUpSound = ""
      	m_strZoomInSound = ""
      	m_NpcAimingSpread = 0
      	m_VerticallRecoil = 
      	{
      		m_Range = 0
      		m_flBurstSlope = 0
      		m_flBurstConstant = 0
      		m_flBurstExponent = 1
      	}
      	m_bFiresBackwards = false
      	m_flSpinDecayRate = 0
      	m_flVerticalPunch = 1
      	m_iBurstShotCount = 1
      	m_strLowAmmoSound = ""
      	m_strZoomOutSound = ""
      	m_HorizontalRecoil = 
      	{
      		m_Range = 0
      		m_flBurstSlope = 0
      		m_flBurstConstant = 0
      		m_flBurstExponent = 1
      	}
      	m_flBulletLifetime = 0
      	m_flCritBonusStart = 1
      	m_flIronSightsTime = 0.1
      	m_mapImpactEffects = 
      	{
      	}
      	m_strSpinDownSound = ""
      	m_flExplosionRadius = 0
      	m_flHorizontalPunch = 0.5
      	m_flScatterYawScale = 1
      	m_flVerticalAimBias = 0
      	m_strReloadEndSound = ""
      	m_vecScatterOffsets = []
      	m_flMaxSpinCycleTime = -1
      	m_flRangeWhileZoomed = 0
      	m_flSpinIncreaseRate = 0
      	m_flZoomFOV_Relative = -5
      	m_strBulletWhizSound = ""
      	m_strSpinUpLoopSound = ""
      	m_flAutoReplenishClip = 0
      	m_flCritBonusEndRange = 0
      	m_flDamageFalloffBias = 0.5
      	m_flSemiAutoCycleRate = -1
      	m_bReloadSingleBullets = false
      	m_flBulletGravityScale = 1
      	m_flBulletWhizDistance = 150
      	m_flPenetrationPercent = 0
      	m_flSpreadPenaltyDecay = 3
      	m_iAmmoConsumedPerShot = 1
      	m_strBulletImpactSound = ""
      	m_eAttachmentSourceType = "EAttachmentSource_WeaponMuzzles"
      	m_flBulletRadiusVsWorld = 0
      	m_flCritBonusStartRange = 0
      	m_flIntraBurstCycleTime = 0
      	m_flPelletScatterFactor = 1
      	m_flRecoilRecoverySpeed = 1
      	m_strBulletLoopingSound = ""
      	m_strWeaponImpactEffect = ""
      	m_flCritBonusAgainstNPCs = 0.2
      	m_flDamageFalloffEndRange = 900
      	m_flDamageFalloffEndScale = 0
      	m_szMuzzleFlashEffectName = ""
      	m_AimingShootSpreadPenalty = 0
      	m_bHitOnceAcrossAllBullets = false
      	m_flReloadMoveSpeedPercent = 1
      	m_bApplySpreadToFirstPellet = false
      	m_flBulletSpeedRandomFactor = 0
      	m_flDamageFalloffStartRange = 0
      	m_flDamageFalloffStartScale = 1
      	m_flShootSpreadPenaltyDecay = 1
      	m_flShootingUpSpreadPenalty = 0
      	m_strCustomAttachmentSource = "ability_cast"
      	m_flPelletScatterSpreadFactor = 0.5
      	m_flRecoilRecoveryDelayFactor = 1
      	m_flShootSpreadPenaltyPerShot = 0
      	m_szBulletTravelTracerParticle = "particles/weapon_fx/default_tracer.vpcf"
      	m_flShootSpreadPenaltyDecayDelay = -1
      	m_bReloadSingleBulletsAllowCancel = false
      	m_strLocalPlayerBulletImpactSound = ""
      	m_szSelfBulletTravelTracerParticle = ""
      	m_bUseDesatForFriendlyNonHeroTracer = true
      	m_flExplosionDamageScaleAtMaxRadius = 0.3
      	m_flReloadSingleBulletsInitialDelay = 0
      	m_flBulletInheritShooterVelocityScale = 0
      	m_flRecoilShotIndexRecoveryTimeFactor = 0.25
      	m_strLocalPlayerBulletImpactHeavySound = ""
      }
    • −m_strMoviePreviewPath""
  2. 6696–6701first dumped