pawn.AddAbility("synth_barrage", (ushort)EAbilitySlot.Signature1);
pawn.RemoveAbility("synth_barrage");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.
| Property | English label | Value | Tier 1 | Tier 2 | Tier 3 | Provides |
| Radius | Radius | 4.5m | +3m | |||
| AirDrag | 0.3 | |||||
| TechPower | Spirit Power | 0 | TECH_POWER | |||
| PopUpSpeed | 0 | |||||
| AirSpeedMax | 100 | |||||
| AmpDuration | Amp Duration | 15 | ||||
| WeaponPower | Weapon Damage | 0 | WEAPON_POWER | |||
| FallSpeedMax | 10 | |||||
| SlowDuration | Slow Duration | 1.5 | ||||
| AbilityCharges | Charges | 0 | ||||
| AbilityCooldown | Cooldown | 32 | +-16 | |||
| AbilityDuration | Duration | 0 | ||||
| MoveSlowPercent | 24 | MOVEMENT_SPEED_SLOW_PERCENT | ||||
| AbilityCastDelay | Cast Delay | 0.3 | ||||
| AbilityCastRange | Cast Range | 0 | ||||
| ChannelMoveSpeed | 1.3m | |||||
| ProjectileAmount | Projectile Amount | 4 | ||||
| AbilityChannelTime | Channel Duration | 2 | ||||
| AmpPercentPerStack | Amp Per Stack | 6 | +4 | |||
| AbilityResourceCost | 0 | |||||
| DamagePerProjectile | Damage Per Projectile | 32 | +16 | |||
| LifeStealPercentOnHit | 0 | |||||
| AbilityUnitTargetLimit | 1 | |||||
| AbilityPostCastDuration | 0 | |||||
| AbilityCooldownBetweenCharge | Charge Delay | -1.0 | ||||
| LifeStealPercentOnHitNonHero | 0 |
Defined inside this ability. AddModifier finds each by its scoped name.
| Name for AddModifier | Class | Reads ability values |
| synth_barrage/modifier_intrinsic_base | modifier_intrinsic_base | |
| synth_barrage/modifier_synth_barrage_amp Barrage - Damage Amp | modifier_synth_barrage_amp | |
| synth_barrage/modifier_synth_barrage_caster | modifier_synth_barrage_caster | |
| synth_barrage/modifier_synth_barrage_debuff Slowed | modifier_slow_base | MoveSlowPercent |
| _class | "synth_barrage" |
| _editor | 1 key{
"folder_name": "Hero Synth"
} |
| _multibase | 2 items[ "signature_base", "weapon_info_base" ] |
| m_HUDPanel | 1 key{
"m_vecHUDElements": [
{
"m_Style": "panorama/styles/ability_hud_elements/abilities_synth.vcss",
"m_eType": "CITADEL_ABILITY_HUD_ELEMENT_TYPE_PROGRESS",
"m_Layout": "file://{resources}/layout/ability_hud_elements/element_progress_bar_text.vxml",
"m_strContext": "channel"
}
]
} |
| m_iMaxLevel | 1 |
| m_WeaponInfo | 59 keys{
"m_Spread": 0.5,
"m_flRange": 10000,
"m_bCanZoom": true,
"m_iBullets": 1,
"m_flZoomFOV": 35,
"m_iClipSize": 1,
"m_flCycleTime": 0.3,
"m_flBulletSpeed": 2300,
"m_flRecoilSpeed": 1,
"m_StandingSpread": 1.5,
"m_flBulletRadius": 10,
"m_flCritBonusEnd": 1.65,
"m_reloadDuration": 1.5,
"m_VerticallRecoil": {
"m_Range": [
-0.2,
0.2
],
"m_flBurstSlope": 0,
"m_flBurstConstant": 0,
"m_flBurstExponent": 0
},
"m_flVerticalPunch": 0,
"m_iBurstShotCount": 1,
"m_HorizontalRecoil": {
"m_Range": [
-0.1,
0.1
],
"m_flBurstExponent": 0
},
"m_flBulletLifetime": 5,
"m_flCritBonusStart": 1.65,
"m_mapImpactEffects": {
"flesh": {
"m_strDecal": "",
"m_strParticle": "particles/blood_impact/blood_impact_red_01.vpcf"
},
"default": {
"m_strDecal": "Impact.Concrete",
"m_strSound": "Default.BulletImpact",
"m_strParticle": "particles/impact_fx/impact_spark_spray_large.vpcf"
},
"portals": {
"m_strDecal": "Impact.Concrete",
"m_strSound": "",
"m_strParticle": "particles/impact_fx/impact_spark_spray_large.vpcf"
},
"concrete": {
"m_strDecal": "Impact.Concrete",
"m_strParticle": "particles/impact_fx/impact_spark_spray_large.vpcf"
},
"solidmetal": {
"m_strDecal": "Impact.Concrete",
"m_strParticle": "particles/impact_fx/impact_spark_spray_large.vpcf"
}
},
"m_flHorizontalPunch": 0,
"m_flReloadMoveSpeed": "10000",
"m_flScatterYawScale": 1,
"m_vecScatterOffsets": [
[
0,
0
],
[
1,
0
],
[
-1,
0
]
],
"m_flZoomFOV_Relative": -40,
"m_strBulletWhizSound": "Orion.Charged.Shot.Whizby",
"m_flBurstShotCooldown": 0,
"m_flCritBonusEndRange": 1500,
"m_flDamageFalloffBias": 0.5,
"m_flBulletGravityScale": 0,
"m_flBulletReflectScale": 0,
"m_flBulletWhizDistance": 80,
"m_flPenetrationPercent": 0,
"m_strBulletImpactSound": "Pocket.Barrage.Proj.Impact",
"m_eAttachmentSourceType": "EAttachmentSource_Custom",
"m_flBulletReflectAmount": 1,
"m_flCritBonusStartRange": 500,
"m_flPelletScatterFactor": 2,
"m_flRecoilRecoverySpeed": 10,
"m_strWeaponImpactEffect": "",
"m_flCritBonusAgainstNPCs": 0,
"m_flZoomMoveSpeedPercent": 1,
"m_flDamageFalloffEndRange": -1,
"m_flDamageFalloffEndScale": 0.1,
"m_flShootMoveSpeedPercent": 0.75,
"m_szMuzzleFlashEffectName": "",
"m_bHitOnceAcrossAllBullets": true,
"m_flDamageFalloffStartRange": -1,
"m_flDamageFalloffStartScale": 1,
"m_flShootSpreadPenaltyDecay": 2,
"m_flShootingUpSpreadPenalty": 0,
"m_strCustomAttachmentSource": "attach_suitcase_fx",
"m_flShootSpreadPenaltyPerShot": 0,
"m_szBulletTravelTracerParticle": "particles/abilities/pocket/pocket_barrage_tracer.vpcf",
"m_flShootSpreadPenaltyDecayDelay": 0,
"m_strLocalPlayerBulletImpactSound": "Player.Bullet.Impact.Default",
"m_flBulletInheritShooterVelocityScale": 0,
"m_flRecoilShotIndexRecoveryTimeFactor": 0.25,
"m_strLocalPlayerBulletImpactHeavySound": "Player.Bullet.Impact.Default"
} |
| m_AmpModifier | 8 keys{
"_class": "modifier_synth_barrage_amp",
"m_bIsHidden": false,
"_my_subclass_name": "modifier_synth_barrage_amp",
"m_sLocalizationName": "modifier_synth_barrage_amp",
"m_strParticleEffect": "particles/abilities/pocket/pocket_damage_buff.vpcf",
"m_eHudDisplayLocation": "DISPLAY_HUD_NONE",
"m_strSmallIconCssClass": "pocket_damage_amp",
"m_eModifierDisplayLocaiton": "MODIFIER_DISPLAY_HEALTHBAR"
} |
| m_iUpdateTime | 1709844990 |
| m_eAbilityType | "EAbilityType_Signature" |
| m_strCastSound | "" |
| m_ShootParticle | "" |
| m_bStartTrained | false |
| m_DebuffModifier | 7 keys{
"_class": "modifier_slow_base",
"m_bIsHidden": true,
"_my_subclass_name": "modifier_synth_barrage_debuff",
"m_sLocalizationName": "modifier_synth_barrage_debuff",
"m_strParticleEffect": "particles/abilities/pocket/pocket_barrage_slow_debuff.vpcf",
"m_strSmallIconCssClass": "slowed",
"m_vecAutoRegisterModifierValueFromAbilityPropertyName": [
"MoveSlowPercent"
]
} |
| m_ImpactParticle | "particles/abilities/pocket/pocket_barrage_explosion.vpcf" |
| m_projectileInfo | 0 keys{} |
| m_ChannelParticle | "particles/abilities/pocket/pocket_barrage_channel_cast.vpcf" |
| m_strAbilityImage | "file://{images}/hud/abilities/synth/synth_barrage.psd" |
| m_strChannelSound | "" |
| m_flAttackInterval | 0.5 |
| m_flBossDamageScale | 1 |
| m_strCastDelaySound | "Pocket.Barrage.Start" |
| m_eAbilityActivation | "CITADEL_ABILITY_ACTIVATION_INSTANT_CAST" |
| m_nAbilityPointsCost | 0 |
| m_AutoChannelModifier | 2 keys{
"_class": "modifier_intrinsic_base",
"_my_subclass_name": "modifier_intrinsic_base"
} |
| m_PreviewPathParticle | "particles/generic/generic_arc.vpcf" |
| m_nAbilityTargetTypes | "CITADEL_UNIT_TARGET_ALL_ENEMY" |
| m_strAG2CastingAction | "barrage_cast" |
| m_strMoviePreviewPath | "file://{resources}/videos/hero_abilities/pocket_barrage.webm" |
| m_AbilityBehaviorsBits | "CITADEL_ABILITY_BEHAVIOR_NO_TARGET | CITADEL_ABILITY_BEHAVIOR_CHANNELLED | CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT | CITADEL_ABILITY_BEHAVIOR_DONT_INTERRUPT_SLIDE_ON_CAST" |
| m_nAbillityUnlocksCost | 1 |
| m_AbilityTooltipDetails | 1 key{
"m_vecAbilityInfoSections": [
{
"m_strLocString": "#synth_barrage_desc",
"m_vecBasicProperties": [
"ProjectileAmount",
"SlowDuration",
"AmpDuration"
],
"m_vecAbilityPropertiesBlock": [
{
"m_vecAbilityProperties": [
{
"m_strImportantProperty": "AmpPercentPerStack"
},
{
"m_strImportantProperty": "DamagePerProjectile"
},
{
"m_strImportantProperty": "MoveSlowPercent"
}
]
}
]
}
]
} |
| m_BarrageCasterModifier | 4 keys{
"_class": "modifier_synth_barrage_caster",
"m_bIsHidden": false,
"_my_subclass_name": "modifier_synth_barrage_caster",
"m_sLocalizationName": "modifier_synth_barrage_caster"
} |
| m_skillshotMissParticle | "particles/abilities/skillshot_default_miss_owner.vpcf" |
| m_strCastAnimGraphParam | "e_BarrageCast" |
| m_bitsInterruptingStates | "MODIFIER_STATE_STUNNED | MODIFIER_STATE_IS_ASLEEP" |
| m_strAG2ChannelingAction | "barrage_channeling" |
| m_strProjectileLaunchSound | "Pocket.Barrage.Fire" |
| m_eAbilityTargetingLocation | "CITADEL_ABILITY_TARGETING_LOCATION_SELF" |
| m_strAG2CastCompletedAction | "barrage_completed" |
| m_strAbilityChargeReadySound | "" |
| m_strAbilityOffCooldownSound | "" |
| m_bitsChannelEnabledStateMask | "MODIFIER_STATE_SHOOTING_DISABLED | MODIFIER_STATE_IN_ABILITY_ALLOW_ZOOM" |
| m_bitsPreCastEnabledStateMask | "MODIFIER_STATE_BUSY_WITH_ACTION | MODIFIER_STATE_IN_ABILITY_ALLOW_ZOOM" |
| m_bitsPostCastEnabledStateMask | "MODIFIER_STATE_IN_ABILITY_ALLOW_ZOOM" |
{
primary =
{
m_Spread = 0.5
m_flRange = 10000
m_bCanZoom = true
m_iBullets = 1
m_flZoomFOV = 35
m_iClipSize = 1
m_flCycleTime = 0.3
m_flBulletSpeed = 2300
m_flRecoilSpeed = 1
m_StandingSpread = 1.5
m_flBulletRadius = 10
m_flCritBonusEnd = 1.65
m_reloadDuration = 1.5
m_VerticallRecoil =
{
m_Range = [ -0.2, 0.2 ]
m_flBurstSlope = 0
m_flBurstConstant = 0
m_flBurstExponent = 0
}
m_flVerticalPunch = 0
m_iBurstShotCount = 1
m_HorizontalRecoil =
{
m_Range = [ -0.1, 0.1 ]
m_flBurstExponent = 0
}
m_flBulletLifetime = 5
m_flCritBonusStart = 1.65
m_mapImpactEffects =
{
wood =
{
m_strDecal = "Impact.Wood"
m_strParticle = "particles/impact_fx/impact_wood.vpcf"
}
flesh =
{
m_strDecal = ""
m_strParticle = "particles/blood_impact/blood_impact_red_01.vpcf"
}
default =
{
m_strDecal = "Impact.Concrete"
m_strSound = "Default.BulletImpact"
m_strParticle = "particles/impact_fx/impact_spark_spray_large.vpcf"
}
portals =
{
m_strDecal = "Impact.Concrete"
m_strSound = ""
m_strParticle = "particles/impact_fx/impact_spark_spray_large.vpcf"
}
concrete =
{
m_strDecal = "Impact.Concrete"
m_strParticle = "particles/impact_fx/impact_spark_spray_large.vpcf"
}
solidmetal =
{
m_strDecal = "Impact.Concrete"
m_strParticle = "particles/impact_fx/impact_spark_spray_large.vpcf"
}
wood_plank =
{
m_strDecal = "Impact.Wood"
m_strParticle = "particles/impact_fx/impact_wood.vpcf"
}
}
m_flHorizontalPunch = 0
m_flReloadMoveSpeed = "10000"
m_flScatterYawScale = 1
m_vecScatterOffsets =
[
[ 0, 0 ],
[ 1, 0 ],
[ -1, 0 ],
]
m_flZoomFOV_Relative = -40
m_strBulletWhizSound = "Pocket.Barrage.Proj.Whizby"
m_flCritBonusEndRange = 1500
m_flDamageFalloffBias = 0.5
m_flBulletGravityScale = 0
m_flBulletReflectScale = 0
m_flBulletWhizDistance = 80
m_flPenetrationPercent = 0
m_strBulletImpactSound = "Pocket.Barrage.Proj.Impact"
m_eAttachmentSourceType = "EAttachmentSource_Custom"
m_flBulletReflectAmount = 1
m_flCritBonusStartRange = 500
m_flIntraBurstCycleTime = 0
m_flPelletScatterFactor = 2
m_flRecoilRecoverySpeed = 10
m_strBulletLoopingSound = "Pocket.Barrage.Proj.Lp"
m_strWeaponImpactEffect = ""
m_flCritBonusAgainstNPCs = 0
m_flZoomMoveSpeedPercent = 1
m_flDamageFalloffEndRange = -1
m_flDamageFalloffEndScale = 0.1
m_flShootMoveSpeedPercent = 0.75
m_szMuzzleFlashEffectName = ""
m_bHitOnceAcrossAllBullets = true
m_flDamageFalloffStartRange = -1
m_flDamageFalloffStartScale = 1
m_flShootSpreadPenaltyDecay = 2
m_flShootingUpSpreadPenalty = 0
m_strCustomAttachmentSource = "attach_suitcase_fx"
m_flShootSpreadPenaltyPerShot = 0
m_szBulletTravelTracerParticle = "particles/abilities/pocket/pocket_barrage_tracer.vpcf"
m_flShootSpreadPenaltyDecayDelay = 0
m_strLocalPlayerBulletImpactSound = "Player.Bullet.Impact.Default"
m_flBulletInheritShooterVelocityScale = 0
m_flRecoilShotIndexRecoveryTimeFactor = 0.25
m_strLocalPlayerBulletImpactHeavySound = "Player.Bullet.Impact.Default"
}
}#CurrentBonus_labelPocket.Barrage.Hit{
m_Spread = 0.5
m_flRange = 10000
m_bCanZoom = true
m_iBullets = 1
m_flZoomFOV = 35
m_iClipSize = 1
m_flCycleTime = 0.3
m_flBulletSpeed = 2300
m_flRecoilSpeed = 1
m_StandingSpread = 1.5
m_flBulletRadius = 10
m_flCritBonusEnd = 1.65
m_reloadDuration = 1.5
m_VerticallRecoil =
{
m_Range = [ -0.2, 0.2 ]
m_flBurstSlope = 0
m_flBurstConstant = 0
m_flBurstExponent = 0
}
m_flVerticalPunch = 0
m_iBurstShotCount = 1
m_HorizontalRecoil =
{
m_Range = [ -0.1, 0.1 ]
m_flBurstExponent = 0
}
m_flBulletLifetime = 5
m_flCritBonusStart = 1.65
m_mapImpactEffects =
{
flesh =
{
m_strDecal = ""
m_strParticle = "particles/blood_impact/blood_impact_red_01.vpcf"
}
default =
{
m_strDecal = "Impact.Concrete"
m_strSound = "Default.BulletImpact"
m_strParticle = "particles/impact_fx/impact_spark_spray_large.vpcf"
}
portals =
{
m_strDecal = "Impact.Concrete"
m_strSound = ""
m_strParticle = "particles/impact_fx/impact_spark_spray_large.vpcf"
}
concrete =
{
m_strDecal = "Impact.Concrete"
m_strParticle = "particles/impact_fx/impact_spark_spray_large.vpcf"
}
solidmetal =
{
m_strDecal = "Impact.Concrete"
m_strParticle = "particles/impact_fx/impact_spark_spray_large.vpcf"
}
}
m_flHorizontalPunch = 0
m_flReloadMoveSpeed = "10000"
m_flScatterYawScale = 1
m_vecScatterOffsets =
[
[ 0, 0 ],
[ 1, 0 ],
[ -1, 0 ],
]
m_flZoomFOV_Relative = -40
m_strBulletWhizSound = "Orion.Charged.Shot.Whizby"
m_flBurstShotCooldown = 0
m_flCritBonusEndRange = 1500
m_flDamageFalloffBias = 0.5
m_flBulletGravityScale = 0
m_flBulletReflectScale = 0
m_flBulletWhizDistance = 80
m_flPenetrationPercent = 0
m_strBulletImpactSound = "Pocket.Barrage.Proj.Impact"
m_eAttachmentSourceType = "EAttachmentSource_Custom"
m_flBulletReflectAmount = 1
m_flCritBonusStartRange = 500
m_flPelletScatterFactor = 2
m_flRecoilRecoverySpeed = 10
m_strWeaponImpactEffect = ""
m_flCritBonusAgainstNPCs = 0
m_flZoomMoveSpeedPercent = 1
m_flDamageFalloffEndRange = -1
m_flDamageFalloffEndScale = 0.1
m_flShootMoveSpeedPercent = 0.75
m_szMuzzleFlashEffectName = ""
m_bHitOnceAcrossAllBullets = true
m_flDamageFalloffStartRange = -1
m_flDamageFalloffStartScale = 1
m_flShootSpreadPenaltyDecay = 2
m_flShootingUpSpreadPenalty = 0
m_strCustomAttachmentSource = "attach_suitcase_fx"
m_flShootSpreadPenaltyPerShot = 0
m_szBulletTravelTracerParticle = "particles/abilities/pocket/pocket_barrage_tracer.vpcf"
m_flShootSpreadPenaltyDecayDelay = 0
m_strLocalPlayerBulletImpactSound = "Player.Bullet.Impact.Default"
m_flBulletInheritShooterVelocityScale = 0
m_flRecoilShotIndexRecoveryTimeFactor = 0.25
m_strLocalPlayerBulletImpactHeavySound = "Player.Bullet.Impact.Default"
}file://{resources}/videos/hero_abilities/pocket_barrage.webm