What it inherits is already merged in: this is the entry as the game compiled it.
citadel_ability_charged_tackle = {
_class = "citadel_ability_charged_tackle"
_editor = {
folder_name = "Hero Dynamo"
}
_multibase = [
]
m_HUDPanel = {
m_vecHUDElements = [
0{
m_eType = "CITADEL_ABILITY_HUD_ELEMENT_TYPE_PROGRESS"
m_Layout = "file://{resources}/layout/ability_hud_elements/element_progress_bar.vxml"
m_strContext = "preparing"
m_bReverseProgress = false
}
1{
m_eType = "CITADEL_ABILITY_HUD_ELEMENT_TYPE_PROGRESS"
m_Layout = "file://{resources}/layout/ability_hud_elements/element_progress_bar.vxml"
m_strContext = "tackling"
m_bReverseProgress = true
}
]
}
m_iMaxLevel = 1
m_WeaponInfo = {
m_flBulletSpeed = 10000
}
m_iUpdateTime = 1691688900
m_strHitSound = ""
m_DragModifier = {
_class = "modifier_charge_pull_enemy"
m_bIsHidden = true
_my_subclass_name = "modifier_charge_pull_enemy"
m_strParticleEffect = "particles/generic/generic_slow_debuff.vpcf"
}
m_eAbilityType = "EAbilityType_Signature"
m_strCastSound = ""
m_bStartTrained = false
m_strAbilityImage = "file://{images}/hud/abilities/sumo/sumo_charge.psd"
m_strChannelSound = ""
m_flBossDamageScale = 1
m_strCastDelaySound = ""
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_INSTANT_CAST"
m_nAbilityPointsCost = 0
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = "80"
m_strPropertyName = "Damage"
}
1{
m_strBonus = "10m"
m_strPropertyName = "ChargeDistance"
}
]
}
1{
m_vecPropertyUpgrades = [
0{
m_strBonus = "400"
m_strPropertyName = "TechShield"
}
1{
m_strBonus = "20"
m_strPropertyName = "TechShieldDuration"
}
]
}
2{
m_vecPropertyUpgrades = [
0{
m_strBonus = -9.5
m_strPropertyName = "AbilityCooldown"
}
1{
m_strBonus = "-0.6"
m_strPropertyName = "PrepareTime"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_ALL_ENEMY"
m_strMoviePreviewPath = "file://{resources}/videos/hero_abilities/dynamo_charged_tackle.webm"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_NO_TARGET | CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT | CITADEL_ABILITY_BEHAVIOR_MOVEMENT"
m_ChargeActiveModifier = {
_class = "modifier_citadel_charged_tackle_active"
m_sStartSound = ""
m_TackleParticle = "particles/abilities/sumo/sumo_charge.vpcf"
_my_subclass_name = "modifier_citadel_charged_tackle_active"
m_PullEnemiesParticle = "particles/abilities/sumo/sumo_pull.vpcf"
}
m_mapAbilityProperties = {
Damage = { // Damage
m_strValue = "64"
m_strCSSClass = "tech_damage"
m_subclassScaleFunction = {
_class = "scale_function_tech_damage"
m_flStatScale = 0.584963
_my_subclass_name = "Damage_scale_function"
m_eSpecificStatScaleType = "ETechPower"
}
}
TechPower = { // Spirit Power
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
TechShield = {
m_strValue = "0"
}
PrepareTime = {
m_strValue = "0.6"
m_strCSSClass = "cooldown"
}
TackleSpeed = {
m_strValue = "25m"
m_eDisplayUnits = "EDisplayUnit_MetersPerSecond"
}
WeaponPower = { // Weapon Damage
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_WEAPON_POWER"
}
TackleRadius = {
m_strValue = "3m"
m_strCSSClass = "distance"
m_eDisplayType = "ETechRadius"
}
BonusFireRate = { // Fire Rate
m_strValue = "0"
m_eProvidedPropertyType = "MODIFIER_VALUE_FIRE_RATE"
}
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"
}
}
CameraDistance = {
m_strValue = "120"
}
ChargeDistance = {
m_strValue = "20m"
m_strCSSClass = "distance"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "ChargeDistance_scale_function"
m_eSpecificStatScaleType = "ETechRange"
}
}
AbilityCooldown = { // Cooldown
m_strValue = 21
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"
}
}
PullTargetSpeed = {
m_strValue = "25m"
}
AbilityCastDelay = { // Cast Delay
m_strValue = "0"
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
}
DragReleaseSpeed = {
m_strValue = "6m"
}
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"
]
}
}
TechShieldDuration = { // Shield Duration
m_strValue = "0"
m_strCSSClass = "duration"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "TechShieldDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
AbilityResourceCost = {
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
TechCleaveExpireTime = {
m_strValue = "0.2"
}
AbilityUnitTargetLimit = {
m_strValue = "1"
m_bCanSetTokenOverride = true
}
AbilityPostCastDuration = {
m_strValue = "0"
m_strDisableValue = "0"
}
WeaponPowerBuffDuration = {
m_strValue = "0"
m_strCSSClass = "duration"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "WeaponPowerBuffDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
ChargeDragVerticalOffset = {
m_strValue = "40"
}
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_ChargePrepareModifier = {
_class = "modifier_citadel_charged_tackle_prepare"
m_sStartSound = ""
_my_subclass_name = "modifier_citadel_charged_tackle_prepare"
m_PrepareParticle = "particles/abilities/sumo/sumo_tackle_charge.vpcf"
}
m_ChargePreviewParticle = "particles/generic/generic_line.vpcf"
m_skillshotMissParticle = "particles/abilities/skillshot_default_miss_owner.vpcf"
m_bitsInterruptingStates = "MODIFIER_STATE_IMMOBILIZED | MODIFIER_STATE_STUNNED | MODIFIER_STATE_IS_ASLEEP"
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_SELF"
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"
}
