Need help with plugins or servers? Join our Discord

Modding Database

Up to date with Steam · checked 18s ago· Viewing build 6698 (Sep 17 2026), not the latest

upgrade_return_fire

Return Fireitem

Vitality tier 2 · class upgrade_return_fire · inherits from armor_upgrade_t2, weapon_info_base

Deadworks (C#)
pawn.AddItem("upgrade_return_fire");
pawn.SellItem("upgrade_return_fire");

Properties

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.

PropertyEnglish labelValueTier 1Provides
TechPowerSpirit Power0TECH_POWER
WeaponPowerWeapon Damage0WEAPON_POWER
BulletResistBullet Resist10+16BULLET_ARMOR_DAMAGE_RESIST
AbilityChargesCharges0
AbilityCooldownCooldown23+-10
AbilityDurationDuration6.5
AbilityCastDelayCast Delay0
AbilityCastRangeCast Range0
ChannelMoveSpeed-1
AbilityChannelTimeChannel Duration0
AbilityResourceCost0
AbilityUnitTargetLimit1
ReturnFireBulletResistBullet Resist0BULLET_ARMOR_DAMAGE_RESIST
AbilityPostCastDuration0
BulletDamageReflectedPctBullet Damage Returned65+25
SpiritDamageReflectedPctSpirit Damage Returned25+15
AbilityCooldownBetweenChargeCharge Delay-1.0

Modifiers

Defined inside this ability. AddModifier finds each by its scoped name.

Name for AddModifierClassReads ability values
upgrade_return_fire/modifier_armor_return_fire Return Firemodifier_armor_return_fire
upgrade_return_fire/modifier_intrinsic_basemodifier_intrinsic_baseBulletResist

VData

_class"upgrade_return_fire"
_editor
1 key
{
  "folder_name": "Armor"
}
_multibase
2 items
[
  "armor_upgrade_t2",
  "weapon_info_base"
]
m_iItemTier"EModTier_2"
m_WeaponInfo
54 keys
{
  "m_Spread": 0.5,
  "m_flRange": 2500,
  "m_bCanZoom": true,
  "m_iBullets": 1,
  "m_flZoomFOV": 35,
  "m_iClipSize": 10,
  "m_flCycleTime": 0.3,
  "m_flBulletDrag": 0,
  "m_flBulletSpeed": 64000,
  "m_flRecoilSpeed": 1,
  "m_strShootSound": "",
  "m_StandingSpread": 1.5,
  "m_flBulletRadius": 7,
  "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": 2,
  "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_flZoomFOV_Relative": -40,
  "m_strBulletWhizSound": "Base.Bullet.Whizby",
  "m_flBurstShotCooldown": 0,
  "m_flCritBonusEndRange": 1500,
  "m_flDamageFalloffBias": 0.5,
  "m_flBulletGravityScale": 0.01,
  "m_flBulletReflectScale": 0,
  "m_flBulletWhizDistance": 80,
  "m_flBulletReflectAmount": 1,
  "m_flCritBonusStartRange": 500,
  "m_flRecoilRecoverySpeed": 10,
  "m_strWeaponImpactEffect": "particles/weapon_fx/default_tracer_impact.vpcf",
  "m_flCritBonusAgainstNPCs": 0,
  "m_flZoomMoveSpeedPercent": 1,
  "m_flDamageFalloffEndRange": 2500,
  "m_flDamageFalloffEndScale": 0.1,
  "m_flShootMoveSpeedPercent": 0.75,
  "m_szMuzzleFlashEffectName": "particles/weapon_fx/default_muzzle_flash.vpcf",
  "m_flDamageFalloffStartRange": 800,
  "m_flDamageFalloffStartScale": 1,
  "m_flShootSpreadPenaltyDecay": 2,
  "m_flShootingUpSpreadPenalty": 0,
  "m_flShootSpreadPenaltyPerShot": 0,
  "m_szBulletTravelTracerParticle": "particles/weapon_fx/reactive_armor_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_iUpdateTime1708739024
m_strCSSClass"lastStand"
m_eAbilityType"EAbilityType_Item"
m_eShopFilters"EShopFilterDurability | EShopFilterMagicDamage | EShopFilterFireRate"
m_strCastSound"Mods.Armor.ReturnFire.Cast"
m_bStartTrainedtrue
m_eItemSlotType"EItemSlotType_Armor"
m_strAbilityImage"file://{images}/upgrades/mods_tech/return_fire.psd"
m_nUpgradeSlotCost1
m_strAG2SourceName"item"
m_strShopIconLarge"file://{images}/items/vitality/return_fire.psd"
m_flBossDamageScale1
m_eAbilityActivation"CITADEL_ABILITY_ACTIVATION_INSTANT_CAST"
m_PreviewPathParticle"particles/generic/generic_arc.vpcf"
m_AbilityBehaviorsBits"CITADEL_ABILITY_BEHAVIOR_NO_TARGET | CITADEL_ABILITY_BEHAVIOR_CAN_CAST_ON_ZIPLINE"
m_ReactiveArmorModifier
16 keys
{
  "_class": "modifier_armor_return_fire",
  "m_bIsHidden": false,
  "m_AttackerHitFx": "particles/upgrades/reactive_armor_attacker_hit.vpcf",
  "m_ImpactParticle": "particles/upgrades/reactive_armor_impact.vpcf",
  "_my_subclass_name": "modifier_armor_return_fire",
  "m_strHitProcSound": "Mods.Armor.ReturnFire.Proc",
  "m_sLocalizationName": "modifier_armor_return_fire",
  "m_strHudMessageText": "#upgrade_return_fire",
  "m_strParticleEffect": "particles/upgrades/reactive_armor_buff.vpcf",
  "m_eDrawOverheadStatus": "OVERHEAD_DRAW_FOR_EVERYONE",
  "m_eHudDisplayLocation": "DISPLAY_HUD_NONE",
  "m_strAttackerHitSound": "",
  "m_strSmallIconCssClass": "return_fire",
  "m_eModifierDisplayLocaiton": "MODIFIER_DISPLAY_HEALTHBAR",
  "m_SpiritReflectTracerReplacement": "particles/weapon_fx/ricochet_tracer.vpcf",
  "m_vecAutoRegisterModifierValueFromAbilityPropertyName": []
}
m_strCastAnimGraphParam"e_GenericCast"
m_vecTooltipSectionInfo
2 items
[
  {
    "m_eAbilitySectionType": "EArea_Innate",
    "m_vecSectionAttributes": [
      {
        "m_vecAbilityProperties": [
          "BulletResist"
        ]
      }
    ]
  },
  {
    "m_eAbilitySectionType": "EArea_Active",
    "m_vecSectionAttributes": [
      {
        "m_strLocString": "#upgrade_return_fire_desc",
        "m_vecAbilityProperties": [
          "AbilityDuration",
          "AbilityCooldown"
        ],
        "m_vecImportantAbilityProperties": [
          {
            "m_strImportantProperty": "BulletDamageReflectedPct"
          },
          {
            "m_strImportantProperty": "SpiritDamageReflectedPct"
          }
        ]
      }
    ]
  }
]
m_AutoIntrinsicModifiers
1 item
[
  {
    "_class": "modifier_intrinsic_base",
    "_my_subclass_name": "modifier_intrinsic_base",
    "m_vecAutoRegisterModifierValueFromAbilityPropertyName": [
      "BulletResist"
    ]
  }
]
m_strCastAnimSequenceName"ability_generic_cast"
m_strSelectionNameOverride"item"
m_eAbilityTargetingLocation"CITADEL_ABILITY_TARGETING_LOCATION_SELF"
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_Spread = 0.5
      		m_flRange = 2500
      		m_bCanZoom = true
      		m_iBullets = 1
      		m_flZoomFOV = 35
      		m_iClipSize = 10
      		m_flCycleTime = 0.3
      		m_flBulletDrag = 0
      		m_flBulletSpeed = 64000
      		m_flRecoilSpeed = 1
      		m_strShootSound = ""
      		m_StandingSpread = 1.5
      		m_flBulletRadius = 7
      		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 = 2
      		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_flZoomFOV_Relative = -40
      		m_strBulletWhizSound = "Base.Bullet.Whizby"
      		m_flCritBonusEndRange = 1500
      		m_flDamageFalloffBias = 0.5
      		m_flBulletGravityScale = 0.01
      		m_flBulletReflectScale = 0
      		m_flBulletWhizDistance = 80
      		m_flBulletReflectAmount = 1
      		m_flCritBonusStartRange = 500
      		m_flIntraBurstCycleTime = 0
      		m_flRecoilRecoverySpeed = 10
      		m_strWeaponImpactEffect = "particles/weapon_fx/default_tracer_impact.vpcf"
      		m_flCritBonusAgainstNPCs = 0
      		m_flZoomMoveSpeedPercent = 1
      		m_flDamageFalloffEndRange = 2500
      		m_flDamageFalloffEndScale = 0.1
      		m_flShootMoveSpeedPercent = 0.75
      		m_szMuzzleFlashEffectName = "particles/weapon_fx/default_muzzle_flash.vpcf"
      		m_flDamageFalloffStartRange = 800
      		m_flDamageFalloffStartScale = 1
      		m_flShootSpreadPenaltyDecay = 2
      		m_flShootingUpSpreadPenalty = 0
      		m_flShootSpreadPenaltyPerShot = 0
      		m_szBulletTravelTracerParticle = "particles/weapon_fx/reactive_armor_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_sCustomStackLabel#CurrentStacks_label
    • +m_eDisableShopFiltersEShopFilterPhysicalAdditionalDamage | EShopFilterSpiritAdditionalDamagePct | EShopFilterSpiritAdditionalDamage
    • +m_strDisableItemTarget""
    • −m_vecTooltipSectionInfo[EArea_Innate]
      { 2 keys }
      {
      	m_eAbilitySectionType = "EArea_Innate"
      	m_vecSectionAttributes = 
      	[
      		{
      			m_vecAbilityProperties = [ "BulletResist" ]
      		},
      	]
      }
    • +m_eAdditionalShopFilters""
    • −m_WeaponInfo
      { 54 keys }
      {
      	m_Spread = 0.5
      	m_flRange = 2500
      	m_bCanZoom = true
      	m_iBullets = 1
      	m_flZoomFOV = 35
      	m_iClipSize = 10
      	m_flCycleTime = 0.3
      	m_flBulletDrag = 0
      	m_flBulletSpeed = 64000
      	m_flRecoilSpeed = 1
      	m_strShootSound = ""
      	m_StandingSpread = 1.5
      	m_flBulletRadius = 7
      	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 = 2
      	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_flZoomFOV_Relative = -40
      	m_strBulletWhizSound = "Base.Bullet.Whizby"
      	m_flBurstShotCooldown = 0
      	m_flCritBonusEndRange = 1500
      	m_flDamageFalloffBias = 0.5
      	m_flBulletGravityScale = 0.01
      	m_flBulletReflectScale = 0
      	m_flBulletWhizDistance = 80
      	m_flBulletReflectAmount = 1
      	m_flCritBonusStartRange = 500
      	m_flRecoilRecoverySpeed = 10
      	m_strWeaponImpactEffect = "particles/weapon_fx/default_tracer_impact.vpcf"
      	m_flCritBonusAgainstNPCs = 0
      	m_flZoomMoveSpeedPercent = 1
      	m_flDamageFalloffEndRange = 2500
      	m_flDamageFalloffEndScale = 0.1
      	m_flShootMoveSpeedPercent = 0.75
      	m_szMuzzleFlashEffectName = "particles/weapon_fx/default_muzzle_flash.vpcf"
      	m_flDamageFalloffStartRange = 800
      	m_flDamageFalloffStartScale = 1
      	m_flShootSpreadPenaltyDecay = 2
      	m_flShootingUpSpreadPenalty = 0
      	m_flShootSpreadPenaltyPerShot = 0
      	m_szBulletTravelTracerParticle = "particles/weapon_fx/reactive_armor_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_eShopFiltersEShopFilterDurability | EShopFilterMagicDamage | EShopFilterFireRate
    • −m_nUpgradeSlotCost1
    • −m_strCastAnimGraphParame_GenericCast
    • −m_strCastAnimSequenceNameability_generic_cast
  2. 6696–6701first dumped