Need help with plugins or servers? Join our Discord

Modding Database

Up to date with Steam · checked 20s ago· Viewing build 6698 (Sep 17 2026), not the latest

ability_target_practice

ability_target_practiceOpen the ability page

31 keys · inherits from signature_base

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

ability_target_practice = {
_class = "ability_target_practice"
_editor = {
folder_name = "Hero Astro"
}
_multibase = [
]
m_iMaxLevel = 1
m_WeaponInfo = {
m_flBulletSpeed = 10000
}
m_iUpdateTime = 1670465867
m_eAbilityType = "EAbilityType_Signature"
m_strCastSound = ""
m_bStartTrained = false
m_strAbilityImage = "file://{images}/upgrades/mods_weapon/longshot.psd"
m_flBossDamageScale = 1
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_INSTANT_CAST"
m_nAbilityPointsCost = 0
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = -19
m_strPropertyName = "AbilityCooldown"
}
]
}
1{
m_vecPropertyUpgrades = [
0{
m_strBonus = "50"
m_strPropertyName = "DamageOnBuildup"
}
]
}
2{
m_vecPropertyUpgrades = [
0{
m_strBonus = "-30"
m_strPropertyName = "BulletArmorReduction"
}
1{
m_strBonus = "6"
m_strPropertyName = "DebuffDuration"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_HERO_ENEMY"
m_strMoviePreviewPath = "file://{resources}/videos/hero_abilities/astro_target_practice.webm"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_NO_TARGET | CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT | CITADEL_ABILITY_BEHAVIOR_DONT_INTERRUPT_SPRINT"
m_mapAbilityProperties = {
TechPower = { // Spirit Power
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
ShotsToProc = {
m_strValue = "4"
}
SlowPercent = { // Move Speed
m_strValue = "0"
m_strCSSClass = "slow"
}
WeaponPower = { // Weapon Damage
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_WEAPON_POWER"
}
AbilityCharges = { // Charges
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "-1"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_ability_charges"
_my_subclass_name = "AbilityCharges_scale_function"
}
}
DebuffDuration = { // Debuff Duration
m_strValue = "0"
m_strCSSClass = "duration"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "DebuffDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
AbilityCooldown = { // Cooldown
m_strValue = 48
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"
}
}
DamageOnBuildup = {
m_strValue = "125"
m_strCSSClass = "tech_damage"
m_subclassScaleFunction = {
_class = "scale_function_tech_damage"
m_flStatScale = 1.066338
_my_subclass_name = "DamageOnBuildup_scale_function"
m_eSpecificStatScaleType = "ETechPower"
}
}
AbilityCastDelay = { // Cast Delay
m_strValue = "0.2"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
AbilityCastRange = { // Cast Range
m_strValue = "0"
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"
}
}
BonusPerHeadshot = {
m_strValue = "25"
}
ChannelMoveSpeed = {
m_strValue = "-1"
m_strCSSClass = "move_speed"
m_eDisplayUnits = "EDisplayUnit_MetersPerSecond"
m_bCanSetTokenOverride = true
}
TargetOffSetScale = {
m_strValue = "2.0"
}
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"
]
}
}
AbilityResourceCost = {
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
BulletArmorReduction = { // Bullet Resist
m_strValue = "0"
m_strCSSClass = "bullet_armor_down"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_BULLET_AND_MELEE_RESIST_REDUCTION"
}
AbilityUnitTargetLimit = {
m_strValue = "1"
m_bCanSetTokenOverride = true
}
TargetPracticeDuration = {
m_strValue = "10"
m_strCSSClass = "duration"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "TargetPracticeDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
AbilityPostCastDuration = {
m_strValue = "0"
m_strDisableValue = "0"
}
AbilityCooldownBetweenCharge = { // Charge Delay
m_strValue = "-1.0"
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_skillshotMissParticle = "particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam = "b_SleepDagger"
m_bitsInterruptingStates = "MODIFIER_STATE_STUNNED"
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_NONE"
m_TargetPracticeSelfModifier = {
_class = "modifier_target_practice_self"
m_TracerParticle = "particles/weapon_fx/ricochet_tracer.vpcf"
_my_subclass_name = "modifier_target_practice_self"
m_sLocalizationName = "modifier_target_practice"
m_strParticleEffect = "particles/abilities/astro/astro_target_practice_buff.vpcf"
m_strBulletWhizSound = ""
m_strWeaponShootSound = ""
m_strParticleStatusEffect = ""
}
m_strAbilityChargeReadySound = ""
m_strAbilityOffCooldownSound = ""
m_TargetPracticeEnemyModifier = {
_class = "modifier_target_practice_enemy"
m_bIsHidden = false
m_HitParticle = "particles/abilities/astro/astro_target_practice_hit.vpcf"
m_HeadParticle = "particles/abilities/astro/astro_target_practice_headshot.vpcf"
m_DebuffModifier = {
_class = "modifier_base"
m_bIsHidden = true
_my_subclass_name = "modifier_target_practice_bullet_resist"
m_strParticleEffect = "particles/modifiers/armor_suppressor.vpcf"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"BulletArmorReduction"
]
}
m_TargetParticle = "particles/abilities/astro/astro_target_practice.vpcf"
_my_subclass_name = "modifier_target_practice_enemy"
m_BuildupModifier = {
_class = "modifier_citadel_base_buildup"
m_bIsHidden = true
m_eBuildupMode = "BUILDUP_MODE_RESTART_ON_FILL"
_my_subclass_name = "modifier_citadel_base_buildup"
m_sLocalizationName = ""
m_eDrawOverheadStatus = "OVERHEAD_DRAW_NEVER"
m_flBuildUpDecayDelay = 20
}
m_sLocalizationName = "modifier_target_practice"
m_strTargetHitSound = ""
m_strTargetCompleteSound = ""
m_BuildupCompleteModifier = {
_class = "modifier_base"
m_bIsHidden = true
_my_subclass_name = "modifier_base"
m_strParticleEffect = "particles/modifiers/emp_debuff.vpcf"
}
m_strTargetHeadShotHitSound = ""
}
m_bitsChannelEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPreCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPostCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
}

History

  1. 6722–6745removed
  2. 6696–6701first dumped