What it inherits is already merged in: this is the entry as the game compiled it.
ability_kali_dust_storm = {
_class = "ability_kali_dust_storm"
_editor = {
folder_name = "Hero Kali"
}
_multibase = [
]
m_iMaxLevel = 1
m_iUpdateTime = 1679534406
m_eAbilityType = "EAbilityType_Signature"
m_strCastSound = ""
m_DustStormAura = {
_class = "modifier_citadel_dust_storm_aura"
m_bIsHidden = false
m_sEndSound = "Kali.A1.WhirlingBlade.End"
_my_subclass_name = "modifier_citadel_dust_storm_aura"
m_strParticleEffect = ""
m_sAmbientLoopingSound = ""
m_modifierProvidedByAura = {
_class = "modifier_citadel_dust_storm_aura_apply"
m_bIsHidden = true
m_DebuffModifier = {
_class = "modifier_base"
_my_subclass_name = "modifier_base"
m_sLocalizationName = "modifier_dust_storm_debuff"
m_strParticleEffect = "particles/generic/generic_slow_debuff.vpcf"
m_strParticleStatusEffect = "particles/abilities/gigawatt/gigawatt_voltage_drain_debuff.vpcf"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"SlowPercent"
1"FireRateSlow"
2"GroundDashReductionPercent"
]
}
_my_subclass_name = "modifier_citadel_dust_storm_aura_apply"
}
m_strParticleStatusEffect = "particles/abilities/kali/kali_tornado_blade.vpcf"
}
m_bStartTrained = false
m_mapWeaponInfos = {
primary = {
m_flBulletSpeed = 10000
}
}
m_projectileInfo = {
m_flSpeed = 1600
m_flUpSpeed = 0
m_flGravityScale = 2
m_flVerticalAimBias = 10
m_bHideImpactParticle = 1
m_bHideWarningParticle = 1
}
m_strAbilityImage = "file://{images}/hud/abilities/kali/kali_whirling_blade.psd"
m_flBossDamageScale = 1
m_sCustomStackLabel = "#CurrentBonus_label" // Current Bonus:
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_PRESS"
m_nAbilityPointsCost = 0
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = "24"
m_strPropertyName = "SlowPercent"
}
]
}
1{
m_vecPropertyUpgrades = [
0{
m_strBonus = "40"
m_strPropertyName = "FireRateSlow"
}
]
}
2{
m_vecPropertyUpgrades = [
0{
m_strBonus = "3"
m_strPropertyName = "AbilityDuration"
}
1{
m_strBonus = -9.5
m_strPropertyName = "AbilityCooldown"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_ALL_ENEMY"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_DONT_INTERRUPT_SPRINT | CITADEL_ABILITY_BEHAVIOR_PROJECTILE | CITADEL_ABILITY_BEHAVIOR_NO_TARGET | CITADEL_ABILITY_BEHAVIOR_DONT_TRIGGER_SPELL_BLOCK | CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT"
m_GrenadeTrailModifier = {
_class = "modifier_citadel_dust_storm_thrown"
_my_subclass_name = "modifier_citadel_dust_storm_thrown"
m_strParticleStatusEffect = "particles/abilities/kali/kali_tornado_blade.vpcf"
}
m_mapAbilityProperties = {
Radius = { // Radius
m_strValue = "3.5m"
m_strCSSClass = "distance"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "Radius_scale_function"
m_eSpecificStatScaleType = "ETechRadius"
}
}
TickRate = {
m_strValue = "0.25"
}
TechPower = { // Spirit Power
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
OpenHeight = {
m_strValue = "2m"
m_strCSSClass = "distance"
}
SplitAngle = {
m_strValue = "0"
}
ClimbHeight = {
m_strValue = "1m"
}
SlowPercent = { // Move Speed
m_strValue = "16"
m_strCSSClass = "slow"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_MOVEMENT_SPEED_SLOW_PERCENT"
}
WeaponPower = { // Weapon Damage
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_WEAPON_POWER"
}
DropDownRate = {
m_strValue = "2"
}
FireRateSlow = { // Fire Rate
m_strValue = "20"
m_strCSSClass = "slow"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_FIRE_RATE_SLOW"
}
TornadoSpeed = {
m_strValue = "600"
}
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 = "3.0"
m_eScaleType = "ETechDuration"
m_strCSSClass = "duration"
}
AbilityCooldown = { // Cooldown
m_strValue = 25
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 = "5"
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"
}
}
CloseRangeSpeed = {
m_strValue = "80"
}
DamagePerSecond = { // Damage Per Second
m_strValue = "50"
m_strCSSClass = "tech_damage"
m_subclassScaleFunction = {
_class = "scale_function_tech_damage"
m_flStatScale = 0.609336
_my_subclass_name = "DamagePerSecond_scale_function"
}
}
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
}
TrackingDistance = {
m_strValue = "15m"
m_strCSSClass = "distance"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "TrackingDistance_scale_function"
m_eSpecificStatScaleType = "ETechRadius"
}
}
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"
]
}
}
ThrownObjectRadius = {
m_strValue = "20"
}
AbilityResourceCost = {
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
DistanceAboveGround = {
m_strValue = "2m"
}
AbilityUnitTargetLimit = {
m_strValue = "1"
m_bCanSetTokenOverride = true
}
AbilityPostCastDuration = {
m_strValue = "0"
m_strDisableValue = "0"
}
GroundDashReductionPercent = { // Dash Distance
m_strValue = "-26"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_MOVEMENT_GROUND_DASH_REDUCTION_PERCENT"
}
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 = "e_BoomerangThrow"
m_bitsInterruptingStates = "MODIFIER_STATE_STUNNED"
m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_CIRCLE"
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"
m_bShowTargetingPreviewWhileCasting = true
}
History
- 6722–6745changed
- ~m_mapAbilityProperties.SlowPercent.m_strValueMove Speed
20→16−20% - ~m_mapAbilityProperties.GroundDashReductionPercent.m_strValueDash Distance
-30→-26+13.3% - ~m_vecAbilityUpgrades[0].m_vecPropertyUpgrades[SlowPercent].m_strBonusMove Speed
30→24−20% - ~_editor.folder_name
Base→Hero Kali - +m_mapWeaponInfos
{ 1 key }
{ primary = { m_flBulletSpeed = 10000 } } - +m_sCustomStackLabel
#CurrentBonus_label - −m_WeaponInfo
{ 1 key }
{ m_flBulletSpeed = 10000 }
- ~m_mapAbilityProperties.SlowPercent.m_strValueMove Speed
- 6696–6701first dumped
