| _class | "citadel_ability_hook" |
| _editor | 1 key{
"folder_name": "Hero Bebop"
} |
| _multibase | 1 item[
"signature_base"
] |
| m_HUDPanel | 2 keys{
"m_vecButtonHints": [
{
"m_eHintSide": "EButtonSide_Right",
"m_strContext": "abort",
"m_strLocToken": "#ability_abort_cast",
"m_bButton1IsSlot": true
}
],
"m_vecHUDElements": [
{
"m_eType": "CITADEL_ABILITY_HUD_ELEMENT_TYPE_PROGRESS",
"m_Layout": "file://{resources}/layout/ability_hud_elements/element_circular_progress.vxml",
"m_vecPanels": [
{
"m_flEndValue": 360,
"m_flStartValue": 0,
"m_strPanelName": "circular_progress",
"m_eProgressType": "EProgress_RadialCW",
"m_bReverseProgress": false
}
],
"m_strContext": "hook_out",
"m_strAdditionalClasses": "medium"
},
{
"m_eType": "CITADEL_ABILITY_HUD_ELEMENT_TYPE_PROGRESS",
"m_Layout": "file://{resources}/layout/ability_hud_elements/element_circular_progress.vxml",
"m_vecPanels": [
{
"m_flEndValue": 360,
"m_strPanelName": "circular_progress",
"m_eProgressType": "EProgress_RadialCW",
"m_bReverseProgress": false
}
],
"m_strContext": "hook_in",
"m_strAdditionalClasses": "medium"
}
]
} |
| m_iMaxLevel | 1 |
| m_WeaponInfo | 15 keys{
"m_flBulletSpeed": 2850,
"m_strShootSound": "",
"m_flBulletRadius": 33,
"m_flBulletLifetime": 3,
"m_mapImpactEffects": {
"default": {}
},
"m_flVerticalAimBias": 0,
"m_flBulletGravityScale": 0,
"m_flMaxLagCompensation": 0.12,
"m_szBulletLinkParticle": "particles/abilities/bebop/bebop_hook_bullet_chain.vpcf",
"m_eAttachmentSourceType": "EAttachmentSource_Custom",
"m_flBulletRadiusVsWorld": 1,
"m_strBulletLoopingSound": "Bebop.Hook.Proj.Lp",
"m_bDontPassThroughPortals": false,
"m_strCustomAttachmentSource": "hook",
"m_szBulletTravelTracerParticle": "particles/abilities/bebop/bebop_hook_bullet.vpcf"
} |
| m_iUpdateTime | 1693505809 |
| m_SelfModifier | 6 keys{
"_class": "modifier_citadel_hookself",
"m_bIsHidden": true,
"m_AG2BaseState": {
"m_strParamName": ""
},
"m_AG2HeroState": {
"m_strParamName": "bebop_hook_attached"
},
"_my_subclass_name": "modifier_citadel_hookself",
"m_nEnabledStateMask": "MODIFIER_STATE_CASTING_HOOK"
} |
| m_eAbilityType | "EAbilityType_Signature" |
| m_strCastSound | "Bebop.Hook.Cast" |
| m_bStartTrained | false |
| m_TargetModifier | 25 keys{
"_class": "modifier_citadel_hooktarget",
"m_LinkEffect": "particles/abilities/bebop/bebop_hook_retrieve_chain.vpcf",
"m_AG2BaseState": {
"m_strParamName": ""
},
"m_AG2HeroState": {
"m_strParamName": ""
},
"m_flReturnSpeed": 2000,
"m_flTossUpSpeed": 0,
"m_sExpiredSound": "Bebop.Hook.RetractEnd",
"_my_subclass_name": "modifier_citadel_hooktarget",
"m_strRetractSound": "",
"m_flFailSafeMinTime": 1,
"m_flReturnSpeedFail": 100,
"m_flReturnStuckTime": 0.2,
"m_nEnabledStateMask": "",
"m_strRetractSoundEnd": "",
"m_PullSpeedScaleCurve": {
"m_spline": [
{
"x": 0,
"y": 0,
"m_flSlopeIncoming": 0,
"m_flSlopeOutgoing": 0
},
{
"x": 0.511043,
"y": 0,
"m_flSlopeIncoming": 34.469662,
"m_flSlopeOutgoing": 34.469662
},
{
"x": 0.593915,
"y": 1,
"m_flSlopeIncoming": 1.501651,
"m_flSlopeOutgoing": 1.501651
}
],
"m_tangents": [
{
"m_nIncomingTangent": "CURVE_TANGENT_SPLINE",
"m_nOutgoingTangent": "CURVE_TANGENT_SPLINE"
},
{
"m_nIncomingTangent": "CURVE_TANGENT_FREE",
"m_nOutgoingTangent": "CURVE_TANGENT_MIRROR"
},
{
"m_nIncomingTangent": "CURVE_TANGENT_FREE",
"m_nOutgoingTangent": "CURVE_TANGENT_MIRROR"
}
],
"m_vDomainMaxs": [
1,
1
],
"m_vDomainMins": [
0,
0
]
},
"m_RestrictionModifier": {
"_class": "modifier_slow_base",
"m_bIsHidden": true,
"_my_subclass_name": "modifier_slow_bases",
"m_nEnabledStateMask": "MODIFIER_STATE_SILENCE_MOVEMENT_ABILITES | MODIFIER_STATE_MOVEMENT_ABILITY_RESTRICTED | MODIFIER_STATE_DASH_DISABLED | MODIFIER_STATE_SLOWED",
"m_sLocalizationName": "hook_modifier_slow",
"m_strParticleEffect": "particles/generic/generic_slow_debuff.vpcf",
"m_vecAutoRegisterModifierValueFromAbilityPropertyName": [
"SlowPercent"
]
},
"m_eHudDisplayLocation": "DISPLAY_HUD_CENTER",
"m_HookRetrieveParticle": "particles/abilities/bebop/bebop_hook_retrieve.vpcf",
"m_sAmbientLoopingSound": "Bebop.Hook.Retracting.Lp",
"m_strSmallIconCssClass": "tether_proc",
"m_cameraSequenceCreated": {
"m_vecDistanceOperations": [
{
"m_flSpringTarget": 150,
"m_bSpringToDefault": false,
"m_eCameraOperation": "k_ECameraOp_Spring",
"m_flSpringStrength": 5
},
{
"m_eCameraOperation": "k_ECameraOp_Maintain"
}
]
},
"m_flCloseEnoughDistance": 30,
"m_flFailSafeDurationMult": 2,
"m_strApproachingWhooshSound": "",
"m_flReturnPositionForwardOffset": 100
} |
| m_projectileInfo | 11 keys{
"m_flSpeed": 2850,
"m_particle": "particles/weapon_fx/trail_grapple.vpcf",
"m_flUpSpeed": 0,
"m_nBehaviors": "PBF_DisableTriggerProjectileImpactBehavior | PBF_ValidateTargetLineOfSight",
"m_customModel": "",
"m_LoopingSound": "",
"m_flGravityScale": 0.05,
"m_flPhysicsRadius": 1,
"m_flTriggerRadius": 33,
"m_bHideWarningParticle": 1,
"m_AutoProjectileModifier": {
"_class": "modifier_intrinsic_base",
"m_sStartSound": "Bebop.Hook.Cast",
"_my_subclass_name": "modifier_intrinsic_base"
}
} |
| m_HookOutParticle | "particles/abilities/bebop/bebop_hook.vpcf" |
| m_strAbilityImage | "file://{images}/hud/abilities/bebop/bebop_hook.psd" |
| m_strHookNPCSound | "Bebop.Hook.NPC" |
| m_strHookAllySound | "Bebop.Hook.Player" |
| m_BulletAmpModifier | 7 keys{
"_class": "modifier_bebop_hook_bullet_amp",
"_my_subclass_name": "modifier_bebop_hook_bullet_amp",
"m_sLocalizationName": "modifier_bullet_armor_reduction",
"m_strParticleEffect": "particles/modifiers/armor_suppressor.vpcf",
"m_eHudDisplayLocation": "DISPLAY_HUD_NONE",
"m_strSmallIconCssClass": "bullet_armor_reduction",
"m_eModifierDisplayLocaiton": "MODIFIER_DISPLAY_HEALTHBAR"
} |
| m_flBossDamageScale | 1 |
| m_strCastDelaySound | "" |
| m_eAbilityActivation | "CITADEL_ABILITY_ACTIVATION_INSTANT_CAST" |
| m_flTrooperHitRadius | 12 |
| m_nAbilityPointsCost | 0 |
| m_PrecastHookParticle | "particles/abilities/bebop/bebop_hook_precast.vpcf" |
| m_PreviewPathParticle | "particles/generic/generic_arc.vpcf" |
| m_nAbilityTargetTypes | "CITADEL_UNIT_TARGET_HERO | CITADEL_UNIT_TARGET_TROOPER_ENEMY" |
| m_strAG2CastingAction | "bebop_hook" |
| m_strHookSuccessSound | "Bebop.Hook.Player" |
| m_strMoviePreviewPath | "file://{resources}/videos/hero_abilities/bebop_hook.webm" |
| m_AbilityBehaviorsBits | "CITADEL_ABILITY_BEHAVIOR_PROJECTILE | CITADEL_ABILITY_BEHAVIOR_PREVENT_BOT_USAGE | CITADEL_ABILITY_BEHAVIOR_DONT_INTERRUPT_SLIDE_ON_CAST" |
| m_HookRetrieveParticle | "particles/abilities/bebop/bebop_hook_retrieve.vpcf" |
| m_nAbillityUnlocksCost | 1 |
| m_AbilityTooltipDetails | 1 key{
"m_vecAbilityInfoSections": [
{
"m_strLocString": "#citadel_ability_hook_desc",
"m_vecAbilityPropertiesBlock": [
{
"m_vecAbilityProperties": [
{
"m_strImportantProperty": "AbilityCastRange"
},
{
"m_strImportantProperty": "Damage"
},
{
"m_strImportantProperty": "StatusEffectDisplacement"
}
]
}
]
}
]
} |
| m_skillshotMissParticle | "particles/abilities/skillshot_default_miss_owner.vpcf" |
| m_strHookImpactGeoSound | "" |
| m_bitsInterruptingStates | "MODIFIER_STATE_STUNNED" |
| m_eAbilityTargetingShape | "CITADEL_ABILITY_TARGETING_SHAPE_SPHERE" |
| m_strAG2ChannelingAction | "" |
| m_HookServerImpactParticle | "" |
| m_eAbilityTargetingLocation | "CITADEL_ABILITY_TARGETING_LOCATION_NONE" |
| m_strAG2CastCompletedAction | "" |
| 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" |