What it inherits is already merged in: this is the entry as the game compiled it.
citadel_ability_hornet_chain = {
_class = "citadel_ability_hornet_chain"
_editor = {
folder_name = "Hero Hornet"
}
_multibase = [
]
m_iMaxLevel = 1
m_WeaponInfo = {
m_flBulletSpeed = 1600
m_flBulletRadius = 1
m_mapImpactEffects = {
default = {}
}
m_flVerticalAimBias = 10
m_eAttachmentSourceType = "EAttachmentSource_Custom"
m_szBulletTravelTracerParticle = "particles/abilities/hornet/hornet_chain_projectile.vpcf"
}
m_iUpdateTime = 1685732973
m_eAbilityType = "EAbilityType_Signature"
m_strCastSound = "Hornet.Chain.Grenade.Cast"
m_ChainModifier = {
_class = "modifier_citadel_hornet_chain_connection"
m_LinkEffect = "particles/abilities/hornet/hornet_chain_tether.vpcf"
m_sStartSound = ""
m_sExpiredSound = "Hornet.Chain.Grenade.Modifier.End"
_my_subclass_name = "modifier_citadel_hornet_chain_connection"
m_sLocalizationName = "modifier_citadel_tethered"
m_strParticleEffect = "particles/abilities/hornet/hornet_chain.vpcf"
m_eHudDisplayLocation = "DISPLAY_HUD_CENTER"
m_sAmbientLoopingSound = "Status.MoveRestrict"
m_strSmallIconCssClass = "tether_proc"
m_strParticleStatusEffect = ""
m_strScreenParticleEffect = "particles/abilities/hornet/hornet_tether_screen_effect.vpcf"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"FireRateSlow"
]
}
m_bStartTrained = false
m_DisarmModifier = {
m_strParticleEffect = "particles/abilities/hornet/hornet_chain_disarm_debuff.vpcf"
m_strParticleStatusEffect = ""
}
m_projectileInfo = {
m_flSpeed = 984.252
m_flUpSpeed = 100
m_bHideWarningParticle = false
}
m_ExplodeParticle = "particles/abilities/hornet/hornet_grenade_explode.vpcf"
m_previewParticle = "particles/abilities/hornet/hornet_chain_preview.vpcf"
m_strAbilityImage = "file://{images}/hud/abilities/hornet/vindicta_stake.psd"
m_strExplodeSound = "Hornet.Chain.Grenade.Explode"
m_strAG2SourceName = "vindicta_ability_stake"
m_flBossDamageScale = 1
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_PRESS"
m_nAbilityPointsCost = 0
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = "45"
m_strPropertyName = "Damage"
}
]
}
1{
m_vecPropertyUpgrades = [
0{
m_strBonus = -22
m_strPropertyName = "AbilityCooldown"
}
]
}
2{
m_vecPropertyUpgrades = [
0{
m_strBonus = "0.75"
m_strPropertyName = "ChainDuration"
}
1{
m_strBonus = "2m"
m_strPropertyName = "CaptureRadius"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_ALL_ENEMY"
m_strAG2CastingAction = "throw"
m_strMoviePreviewPath = "file://{resources}/videos/hero_abilities/hornet_chain.webm"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_PROJECTILE | CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT | CITADEL_ABILITY_BEHAVIOR_PROJECTILE_FIRED_AS_BULLET | CITADEL_ABILITY_BEHAVIOR_CAN_SET_QUICK_CAST | CITADEL_ABILITY_BEHAVIOR_DONT_INTERRUPT_SLIDE_ON_CAST"
m_mapAbilityProperties = {
Damage = { // Damage
m_strValue = 40
m_strCSSClass = "tech_damage"
m_subclassScaleFunction = {
_class = "scale_function_tech_damage"
m_flStatScale = 0.5
_my_subclass_name = "ExplosionDamage_scale_function"
m_eSpecificStatScaleType = "ETechPower"
}
m_bIsAbilityDamageProperty = true
}
HasDisarm = {
m_strValue = "0"
}
TechPower = { // Spirit Power
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
ChainLength = { // Tether Length
m_strValue = "9m"
m_strCSSClass = "distance"
m_eDisplayType = "ETechRadius"
}
SlowPercent = { // Move Speed
m_strValue = "40"
m_strCSSClass = "slow"
}
WeaponPower = { // Weapon Damage
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_WEAPON_POWER"
}
FireRateSlow = { // Fire Rate
m_strValue = "0"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_FIRE_RATE_SLOW"
}
CaptureRadius = { // Capture Radius
m_strValue = "9m"
m_strCSSClass = "distance"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "CaptureRadius_scale_function"
m_eSpecificStatScaleType = "ETechRange"
}
}
ChainDuration = { // Tether Duration
m_strValue = "1.75"
m_strCSSClass = "duration"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "ChainDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
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"
}
}
EnemyDragSpeed = {
m_strValue = "1000"
m_eDisplayUnits = "EDisplayUnit_MetersPerSecond"
}
AbilityCooldown = { // Cooldown
m_strValue = 40
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"
}
}
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"
}
}
ChannelMoveSpeed = {
m_strValue = "-1"
m_strCSSClass = "move_speed"
m_eDisplayUnits = "EDisplayUnit_MetersPerSecond"
m_bCanSetTokenOverride = true
}
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
}
AbilityUnitTargetLimit = {
m_strValue = "1"
m_bCanSetTokenOverride = true
}
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_AbilityTooltipDetails = {
m_vecAbilityInfoSections = [
0{
m_strLocString = "#citadel_ability_hornet_chain_desc" // Throw a stake that <span class="highlight">tethers enemies</span> to the location where the stake lands. Enemy movement is restricted to the length of the tether.
m_vecBasicProperties = [
0"ChainLength"
1"SlowPercent"
]
m_vecAbilityPropertiesBlock = [
0{
m_vecAbilityProperties = [
0{
m_strImportantProperty = "ChainDuration"
}
1{
m_strImportantProperty = "Damage"
}
2{
m_strImportantProperty = "CaptureRadius"
}
]
}
]
}
]
}
m_skillshotMissParticle = "particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam = "e_GenericThrow"
m_bitsInterruptingStates = "MODIFIER_STATE_STUNNED"
m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_CIRCLE"
m_strAG2ChannelingAction = ""
m_strHitConfirmationSound = "Hornet.Chain.Grenade.Target"
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_NONE"
m_strAG2CastCompletedAction = "throw_completed"
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
- 6722–6745changed
- ~m_strCastSound
Hornet.Chain.Grenade.Cast→Vindicta.Stake.Cast - ~m_ChainModifier.m_sExpiredSound
Hornet.Chain.Grenade.Modifier.End→"" - ~m_ChainModifier.m_sAmbientLoopingSound
Status.MoveRestrict→Vindicta.Stake.Debuff.Lp - +m_mapWeaponInfos
{ 1 key }
{ primary = { m_flBulletSpeed = 1600 m_flBulletRadius = 1 m_mapImpactEffects = { default = { } } m_flVerticalAimBias = 10 m_eAttachmentSourceType = "EAttachmentSource_Custom" m_strBulletLoopingSound = "Vindicta.Stake.Proj.Lp" m_szBulletTravelTracerParticle = "particles/abilities/hornet/hornet_chain_projectile.vpcf" } } - ~m_strExplodeSound
Hornet.Chain.Grenade.Explode→Vindicta.Stake.Explode - +m_strSelectedSound
Vindicta.Stake.Select - +m_sCustomStackLabel
#CurrentBonus_label - +m_strUnselectedSound
Vindicta.Stake.Deselect - +m_strSelectedLoopSound
Vindicta.Stake.Select.Lp - ~m_strHitConfirmationSound
Hornet.Chain.Grenade.Target→Vindicta.Stake.Hit - ~m_bitsPreCastEnabledStateMask
MODIFIER_STATE_BUSY_WITH_ACTION→MODIFIER_STATE_IN_ABILITY_ALLOW_ZOOM - ~m_bitsPostCastEnabledStateMask
MODIFIER_STATE_BUSY_WITH_ACTION→MODIFIER_STATE_IN_ABILITY_ALLOW_ZOOM
- ~m_strCastSound
- 6696–6701first dumped
