Need help with plugins or servers? Join our Discord

Modding Database

Up to date with Steam · checked 31s ago· Viewing build 6723 (Sep 30 2026), not the latest

upgrade_spirit_sap

Spirit Sapupgrade_spirit_sapOpen the ability page

39 keys · inherits from tech_upgrade_t2

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

upgrade_spirit_sap = {
_class = "upgrade_spirit_sap"
_editor = {
folder_name = "Tech"
}
_multibase = [
]
m_iItemTier = "EModTier_2"
m_strCSSClass = "focusedSilence"
m_eAbilityType = "EAbilityType_Item"
m_nShopVersion = 0
m_strCastSound = "Mods.Tech.Spirit.Sap.Cast"
m_bStartTrained = true
m_eItemSlotType = "EItemSlotType_Tech"
m_DebuffModifier = {
_class = "modifier_base"
m_sStartSound = ""
m_sExpiredSound = "Mods.Tech.Spirit.Sap.Debuff.End"
_my_subclass_name = "modifier_spirit_sap_debuff"
m_sLocalizationName = "upgrade_spirit_sap"
m_strHudMessageText = "#upgrade_spirit_sap" // Spirit Sap
m_strParticleEffect = "particles/upgrades/spirit_sap_debuff.vpcf"
m_eDrawOverheadStatus = "OVERHEAD_DRAW_FOR_EVERYONE"
m_eHudDisplayLocation = "DISPLAY_HUD_NONE"
m_sAmbientLoopingSound = "Mods.Tech.Spirit.Sap.Debuff.Lp"
m_strSmallIconCssClass = "containment"
m_eModifierDisplayLocaiton = "MODIFIER_DISPLAY_HEALTHBAR"
m_nAmbientLoopingSoundRecipients = "MODIFIER_SOUND_RECIPIENT_ALWAYS"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"MagicResistReduction"
1"TechPowerReduction"
]
}
m_mapWeaponInfos = {
primary = {
m_flBulletSpeed = 10000
}
}
m_projectileInfo = {
m_flSpeed = 2500
m_HitSound = ""
m_particle = "particles/upgrades/spirit_sap_projectile.vpcf"
m_LoopingSound = "Mods.Tech.Spirit.Sap.Proj.Lp"
m_HitTargetSound = "Mods.Tech.Spirit.Sap.Impact"
m_flTriggerRadius = 15
m_bHideWarningParticle = 1
}
m_previewParticle = "particles/upgrades/spirit_sap_preview.vpcf"
m_strAbilityImage = "file://{images}/upgrades/mods_tech/focused_silence.psd"
m_strAG2SourceName = "item"
m_strSelectedSound = "Mods.Tech.Spirit.Sap.Select"
m_strShopIconLarge = "file://{images}/items/spirit/spirit_sap.psd"
m_flBossDamageScale = 1
m_sCustomStackLabel = "#CurrentStacks_label" // Current Stacks:
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_PRESS"
m_strUnselectedSound = "Mods.Tech.Spirit.Sap.Unselect"
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = "150"
m_strPropertyName = "BonusHealth"
}
1{
m_strBonus = "-12"
m_strPropertyName = "MagicResistReduction"
}
2{
m_strBonus = "-12"
m_strPropertyName = "AbilityCooldown"
}
3{
m_strBonus = "-26"
m_strPropertyName = "TechPowerReduction"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_HERO_ENEMY"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_PROJECTILE_PASS_THROUGH_WORLD | CITADEL_ABILITY_BEHAVIOR_USE_INSTANT_CAST_UNIT_TARGET_UI | CITADEL_ABILITY_BEHAVIOR_CAN_SET_QUICK_CAST | CITADEL_ABILITY_BEHAVIOR_DONT_INTERRUPT_SLIDE_ON_CAST"
m_flTargetingConeAngle = 45
m_mapAbilityProperties = {
TechPower = { // Spirit Power
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
BonusHealth = { // Bonus Health
m_strValue = "50"
m_strCSSClass = "health"
m_eDisplayType = "EMaxHealth"
m_eProvidedPropertyType = "MODIFIER_VALUE_HEALTH_MAX"
}
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"
}
}
AbilityCooldown = { // Cooldown
m_strValue = "18"
m_strCSSClass = "cooldown"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "AbilityCooldown_scale_function"
m_eSpecificStatScaleType = "EItemCooldown"
}
}
AbilityDuration = { // Duration
m_strValue = "12"
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.1"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
AbilityCastRange = { // Cast Range
m_strValue = "40m"
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"
]
}
}
TechPowerReduction = { // Spirit Power
m_strValue = "-30"
m_strCSSClass = "spirit"
m_eDisplayType = "ETechPower"
m_eStatsUsageFlags = ""
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
AbilityResourceCost = {
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
MagicResistReduction = { // Spirit Resist
m_strValue = "-9"
m_strCSSClass = "tech_armor_down"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_RESIST_REDUCTION"
}
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_strDisableItemTarget = ""
m_strSelectedLoopSound = "Mods.Tech.Spirit.Sap.Select_Lp"
m_vecTooltipSectionInfo = [
0{
m_eAbilitySectionType = "EArea_Innate"
m_vecSectionAttributes = [
0{
m_vecAbilityProperties = [
0"BonusHealth"
]
m_vecElevatedAbilityProperties = []
}
]
}
1{
m_eAbilitySectionType = "EArea_Active"
m_vecSectionAttributes = [
0{
m_strLocString = "#upgrade_spirit_sap_desc" // Target an enemy to <span class="highlight">reduce their Spirit Resist</span> and <span class="highlight">Spirit Power</span>.
m_vecAbilityProperties = [
0"AbilityCastRange"
1"AbilityCooldown"
]
m_vecImportantAbilityProperties = [
0{
m_strImportantProperty = "MagicResistReduction"
}
1{
m_strImportantProperty = "TechPowerReduction"
}
2{
m_strImportantProperty = "AbilityDuration"
}
]
}
]
}
]
m_AutoIntrinsicModifiers = [
0{
_class = "modifier_base"
m_bIsHidden = true
_my_subclass_name = "spirit_sap_intrinsic_modifier"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"BonusHealth"
]
}
]
m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_CONE"
m_eAdditionalShopFilters = ""
m_ProjectileImpactParticle = "particles/upgrades/spirit_sap_impact.vpcf"
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_UNIT"
m_bitsChannelEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPreCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPostCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
}

History

  1. 6722–6745changed
    • +m_nShopVersion0
    • +m_mapWeaponInfos
      { 1 key }
      {
      	primary = 
      	{
      		m_flBulletSpeed = 10000
      	}
      }
    • +m_sCustomStackLabel#CurrentStacks_label
    • +m_strDisableItemTarget""
    • +m_vecTooltipSectionInfo[EArea_Innate].m_vecSectionAttributes[0].m_vecElevatedAbilityProperties[]
    • +m_eAdditionalShopFilters""
    • −m_WeaponInfo
      { 1 key }
      {
      	m_flBulletSpeed = 10000
      }
    • −m_eShopFiltersEShopFilterMagicDamage
    • −m_nUpgradeSlotCost1
    • −m_strCastAnimGraphParame_GenericCast
    • −m_strCastAnimSequenceNameability_generic_cast
    • −m_strSelectionNameOverrideitem
  2. 6696–6701first dumped