Env global

From Valve Developer Community
Revision as of 02:17, 18 September 2018 by Pinsplash (talk | contribs) (updates)
Jump to navigation Jump to search
English (en)Translate (Translate)
Env global.png

Template:Base point It controls game-specific global states, such as whether the gravity gun should become the super gravity gun in HL2.

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 its state to "Dead" using the Remove input. The related entity will 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.

C++ In code, it is represented by theCEnvGlobalclass, defined in thelogicentities.cppfile.

ConVars/Commands

Cvar/Command Parameters or default value Descriptor Effect
dump_globals Dumps data for all set global states.
global_set globalname state Set 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) ([todo internal name (i)]) <choices>
Game-specific global state that this entity sets. In practice all of Valve's FGDs include the HL2 states regardless of whether the game understands them. Global states are not exclusive to these choices, and may be any text.
gordon_precriminal Gordon pre-criminal (Point Insertion)
antlion_allied Antlions are player allies
suit_no_sprint Suit sprint function not yet enabled
(not required if suit not equipped)
super_phys_gun Super phys gun is enabled
Note.pngNote:Doesn't work in HL2:DM.
friendly_encounter Friendly encounter sequence (lower weapons, etc.)
citizens_passive !FGD Citizens cannot be commanded by the player
(also done by gordon_precriminal)
gordon_invulnerable Gordon is invulnerable
no_seagulls_on_jeep Don't spawn seagulls on the jeep
ep2_alyx_injured Episode 2: Alyx injured
ep_alyx_darknessmode Episodic: Alyx darkness mode
(also affects citizens, headcrabs, and zombies in some ways)
hunters_to_run_over Ep2 Counter: Hunters to run over before they dodge
(after a certain number of npc_hunters are run over by a vehicle they will start dodging it)
Initial State (initialstate) ([todo internal name (i)]) <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) ([todo internal name (i)]) <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.  [todo tested in ?]


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 <integerRedirectInput/integer> (in all games since Half-Life 2: Episode Two)
Adds the specified amount to the counter.
SetCounter <integerRedirectInput/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 <integerRedirectInput/integer> (in all games since Half-Life 2: Episode Two)
Outputs the integer value of this entity. May depend on global state.