From Valve Developer Community
Jump to: navigation, search
Snowball Heavy assault suit in player preview.

Counter-Strike: Global Offensive item_heavyassaultsuit is a point entity available in Counter-Strike: Global Offensive .

When placed in the map, it is an invisible entity, that one player can pick up by touching it. It is unaffected by mp_weapons_allow_map_placed.

Entity Description


This item is not available in the official gamemodes by default.

  • In Coop-Strike, Counter-Terrorists spawn with this item equipped and can replenish their armor with map-placed prop_weapon_refill_heavyarmor entities.
  • With mp_weapons_allow_heavyassaultsuit 1, this item is purchasable for $6000. In the Heavy Assault Suit skirmish gamemode, this condition is met.
    Deprecated: The item is no longer accessible in the buy menu, but can still be bought with the command buy heavyarmor while not owning a rifle.
  • Players can be equipped with this item using game_player_equip entities.
  • With sv_cheats 1, clients can equip themselves with this entity using give item_heavyassaultsuit or equip other players using ent_create item_heavyassaultuit.


Players that are equipped with this item have

  • 200 armor and receive greatly reduced damage.
  • their maximum movement speed clamped to mp_heavyassaultsuit_speed.

In all gamemodes except Coop-Strike, they also have

  • a tinted screen. The tint is green for terrorists and blue for Counter-Terrorists. This effect requires mat_postprocess_enable 1.
  • audible footsteps while moving, independent of their movement speed. They cannot run, walk or crouch silently.

In all gamemodes except Guardian and Coop-Strike, players cannot pick up rifles. When trying to pick one up, the player sees the text "Heavy Assault Suit cannot be used with Rifles.". Rifles are:

If worn in Danger Zone, holding the +use key for 4 seconds will take the heavy armor off, however not dropping it.

If a player with this item equipped is given item_kevlar or item_assaultsuit, his armor value is set to 100, even if the value has been larger before.

Related Console Commands

The "Coop Value" refers to csgo/cfg/gamemode_coopmission.cfg.

Command Default Value Coop Value Description
mp_heavyassaultsuit_aimpunch 1.0 0.0 How much extra aim punch will happen when a player wearing the assault suit gets shot.
Confirm: Non-functional?
mp_heavyassaultsuit_cooldown 5 5 Determines cooldown of purchase. After buying this item, the player cannot buy it again within this amount of rounds.
mp_heavyassaultsuit_deploy_timescale 0.8 1.0 How fast a player wearing the heavy assault suit will draw their weapon. 1.0 = normal, 0.5 = half speed, 2.0 = twice as fast.
mp_heavyassaultsuit_speed 130 215 The max speed of a player when they are wearing the heavy assault suit.
mp_weapons_allow_heavyassaultsuit 0 1 Determines whether heavyassaultsuit can be bought.
mp_heavybot_damage_reduction_scale 1.0 0.75 How much damage should scale when the player wearing the heavy assault suit is shot.
Confirm: Non-functional?



Name (targetname) <string>
The targetname that other entities refer to this entity by.
Entity Scripts (vscripts) <scriptlist> (in all games since Left 4 Dead 2)
Space delimited list of VScript files (without file extension) that are executed after all entities have spawned. The scripts are all executed in the same script scope, later ones overwriting any identical variables and functions.
Script think function (thinkfunction) <string> (in all games since Left 4 Dead 2)
Name of a function in this entity's script which will be called automatically every 100 milliseconds (ten times a second) for the duration of the script. It can be used to create timers or to simulate autonomous behavior. The return value (if present) will set the time until the next call.
Note.png Note: Try to avoid expensive operations in this function, as it may cause performance problems.



Removes this entity from the world.
Removes this entity and its children from the world.
Note.png Note: Entities already remove orphaned children upon being removed, but this input removes all children on the same frame, being marginally faster than Kill.
AddOutput <string>
Adds a keyvalue/output to this entity. It can be potentially very dangerous, use with care.
KV Format: <key> <value>
I/O Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>
FireUser1 to FireUser4
Fire the OnUser outputs; see User Inputs and Outputs.
Use  !FGD
Same as a player invoking +use; may not do anything depending on the entity. Can also be invoked by firing an output that does not specify an input.
RunScriptFile <script> (in all games since Left 4 Dead 2)
Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode <string> (in all games since Left 4 Dead 2)
Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.
Bug.png Bug: In Left 4 Dead 2, the code is executed in the script scope of the entity that fires the output, not the one receiving the input.
Warning.png Warning: Never try to pass string parameters to a script function with this input. It will corrupt the VMF structure because of the nested quotation marks, which then must be removed manually with a text editor.
CallScriptFunction <string> (in all games since Left 4 Dead 2) !FGD
Execute a VScript function in the scope of the receiving entity.
SetLocalOrigin <coordinates> (in all games since Alien Swarm) !FGD
Send this entity to a spot in the map. If the entity is parented to something, it will be offset from the parent by this amount.
SetLocalAngles <angles> (in all games since Alien Swarm) !FGD
Set this entity's angles.



OnUser1 to OnUser4
These outputs each fire in response to the firing of the like-numbered FireUser1 to FireUser4 Input; see User Inputs and Outputs.
OnKilled  (only in Left 4 Dead Left 4 Dead 2)
This output fires when the entity is killed and removed from the game.