This article's documentation is for anything that uses the Source engine. Click here for more information.

env_global

From Valve Developer Community
(Redirected from Global set)
Jump to: navigation, search
English (en)
Info.png
This entity is not in the Counter-Strike: SourceDay of Defeat: SourceTeam Fortress 2Left 4 DeadLeft 4 Dead 2Counter-Strike: Global Offensive FGD by default .
See below for instructions on making it available.
class hierarchy
CEnvGlobal defined in logicentities.cpp
CLogicalEntity
CServerOnlyEntity]]
CBaseEntity
Env global.png

env_global is a point entity available in all Source Source games. It controls game-specific global states, such as whether the gravity gun should become the super gravity gun in Half-Life 2 Half-Life 2 .

Global states persist across level transitions, regardless of their status. Global states are not stored until an env_global receives any commands that modify the state, such as turning it on or off or changing the counter. Use the Set Initial State flag for the global to be added on spawn.

To remove a global from the table entirely, set the global's state to "Dead" using the Remove input. This will cause the global to remove itself on the next level transition.

Globals and their current state (in integer form) are added to all entities' response data for use in the Response System.

Tip.pngTip:logic_auto can read a global state and fire outputs if the state is turned on.
Warning.pngWarning:Using env_global in Multiplayer on Counter-Strike: Source Counter-Strike: Source, Day of Defeat: Source Day of Defeat: Source, Team Fortress 2 Team Fortress 2 and Garry's Mod Garry's Mod is higly unstable as it is prone to randomly break on new rounds, which then fires all outputs.
Blank image.pngTodo: more tests on this to confirm and replication steps
Tip.pngTip:An alternative if transitioning to a different map is not in the question is to use a preserved entity which remains between round restarts. Level System - Permanent Entities

ConVars/Commands

Cvar/CommandParameters or default valueDescriptorEffect
dump_globalsDumps data for all set global states.
global_setglobalname stateSet the status of a global state. First parameter is the name of it, second is a number.
  • 0 = off
  • 1 = on
  • 2 = dead
A global can also be created instantly with this command.

Flags

  •  [1] : Set Initial State
       Whether this entity defines the global state when the map starts.

Keyvalues

Global State to Set (globalstate) <choices>
The global state this entity is linked to. Valve's FGDs always include the HL2 states, but the actual functional ones vary by game. Global states are not exclusive to these choices and any text can be used, though they will not have any special behavior.

Half-Life 2 Half-Life 2

Internal Name Editor Name Description
gordon_precriminal Gordon pre-criminal Creates the pre-criminal behavior seen in Point Insertion. Also prevents stun stick damage from cops.
antlion_allied Antlions are player allies Makes antlions friendly to the player and allows them to listen to bugbait, as seen in the Nova Prospekt chapters.
suit_no_sprint Suit sprint function not yet enabled Disables the HEV suit's sprint function.
(not required if the HEV suit is not equipped)
super_phys_gun Super phys gun is enabled Enables the supercharged gravity gun seen in the Citadel levels of Half-Life 2 and Episode One.
Note.pngNote:The super gravity gun isn't available in Half-Life 2: Deathmatch or Portal.
friendly_encounter Friendly encounter sequence (lower weapons, etc.) Indicates a friendly encounter sequence.
(This appears to just keep the player's weapons lowered.)
citizens_passive !FGD Citizens are *not* player allies (cannot be commanded) Makes citizens neutral to the Combine and the player.
(also done by gordon_precriminal)
gordon_invulnerable Gordon is invulnerable Makes the player invulnerable to damage.
(Retains knockback, view punches, etc. unlike god mode)
no_seagulls_on_jeep Don't spawn seagulls on the jeep Prevents seagulls from spawning on the jeep.
ep2_alyx_injured Episode 2: Alyx injured (in all games since Half-Life 2: Episode Two) Episodic only. Invokes Alyx's "injured" behavior:
Note.pngNote:This applies to all NPCs with a weapon_alyxgun, not just Alyx.
ep_alyx_darknessmode Episodic: Alyx darkness mode (in all games since Half-Life 2: Episode One) Episodic only. Enables "darkness mode", as seen during the "Lowlife" chapter of Episode One.
Despite the name, this also affects the player, zombies, and even fires in various ways to make them more suitable for darkness:
  • Enables dlights on burning props
  • Zombine sprint chance increases when flashlight is off
  • Alyx can only see zombies lit with the flashlight
  • If Alyx is in darkness she will turn away from zombies
hunters_to_run_over Ep2 Counter: Hunters to run over before they dodge (in all games since Half-Life 2: Episode Two) Episodic only. The number of hunters that should be ran over before they start dodging vehicles.
By default, hunters will try to dodge incoming vehicles.
If this global is declared and its counter is greater than 0, hunters will not try to dodge incoming vehicles.
Instead, this global's counter will decrement by 1 each time a hunter is killed by a vehicle.
When it reaches 0, hunters will return to dodging vehicles.

Counter-Strike: Source Counter-Strike: Source,
Counter-Strike: Global Offensive Counter-Strike: Global Offensive

Internal Name Editor Name Description
is_pc Game is running on a PC Whether the game is running on a PC.
is_console Game is running on a console Whether the game is running on a console.[Clarify]

Portal 2 Portal 2

Internal Name Editor Name Description
!FGD portalgun_nospawn Spawn without Portalgun Disables the player recieving the Portal Gun on spawn.
Note.pngNote:Used in mp_coop_start, but doesn't seem to do anything. See here for how to prevent the player from spawning with a portal gun.
!FGD no_pinging_blue Prevent Pinging ATLAS In Co-op, prevents ATLAS (blue ballbot) from using their Ping Tool.
!FGD no_pinging_orange Prevent Pinging P-Body In Co-op, prevents P-Body (orange eggbot) from using their Ping Tool.
!FGD no_taunting_blue Prevent Taunting ATLAS In Co-op, prevents ATLAS (blue ballbot) from performing gestures.
!FGD no_taunting_orange Prevent Taunting P-Body In Co-op, prevents P-Body (orange eggbot) from performing gestures.
Note.pngNote:Portal 2: Community Edition Portal 2: Community Edition has support for both Portal 2 Portal 2 and Half-Life 2 Half-Life 2 global states.

Black Mesa Black Mesa

Internal Name Editor Name Description
predisaster Pre-Disaster Makes scientist and guard NPCs use pre-disaster speech (greetings, idles, busy responses).
Note.pngNote:Effects only follow and talk behavior.
Icon-Bug.pngBug:If player has 25 or less health - scientists will fully ignore player interaction, instead of speaking or healing.
friendly_encounter Friendly encounter sequence (lower weapons, etc.) Indicates a friendly encounter sequence.
(This appears to just keep the player's weapons lowered).
Icon-Bug.pngBug:Doesn't work.
gordon_invulnerable Gordon is invulnerable Makes the player invulnerable to damage.
(Retains knockback, view punches, etc. unlike god mode)
Icon-Bug.pngBug:Doesn't work.
Blank image.pngTodo: There may be more of these in other games.


Name (targetname) <string>
The targetname that other entities refer to this entity by.
Initial State (initialstate) <choices>
Used by Set Initial State to determine what the global state should be set to when the map starts.
  • 0: Off
  • 1: On
  • 2: Dead
Counter (counter) <integer> (in all games since Half-Life 2: Episode Two)
An integer counter value associated with this global.
Icon-Bug.pngBug:There is an aliasing problem for this keyvalue (keyvalue and output have the same name). To make it work, simply change its name in the source code DEFINE_OUTPUT declaration.

Inputs

TurnOn
Sets the global's state to ON.
TurnOff
Sets the global's state to OFF.
Toggle
Switches state of the global between ON and OFF.
Remove
Set state of global to DEAD.
AddToCounter <integer> (in all games since Half-Life 2: Episode Two)
Adds the specified amount to the counter.
SetCounter <integer> (in all games since Half-Life 2: Episode Two)
Sets the value of the counter.
GetCounter  (in all games since Half-Life 2: Episode Two)
Fires this entity's Counter output.

Outputs

Counter <integer> (in all games since Half-Life 2: Episode Two)
Outputs the integer value of this entity. May depend on global state.