info_gamemode
Class hierarchy |
---|
CInfoGameMode |
info_gamemode
is a point entity available in Left 4 Dead series. When a map is loaded, this entity can fire outputs depending on the current game mode. This allows the all game modes to be available in a single map instead of having separate maps for each game mode.
Outputs
OnCoop
OnVersus
OnSurvival
OnScavenge
- Fired when the map spawns in specified mode.
- Note:OnCoop fires in realism
- Bug:Killing the info_gamemode itself in one of these outputs with 0 delay crashes the game (tested in: l4d2)
OnScavengePostIO
(in all games since )- Fired shortly after all scavenge items have been populated
- Note:This doesn't mean item populating causes the output to be fired, mentioning item being populated just as a frame of reference
- Tip:Useful when wanting to spawn templated weapon_* entities and not have it affected by info_map_parameters densities [confirm]
- Risk of Confusion:Description in FGD is not correct. This output does fire later than On<Mode> outputs but it doesn't wait until IO generated by it finishes. Doesn't even wait for the delays specified in On<Mode> outputs to expire.
Bug*:On<mode> and On<mode>PostIO outputs simply check base gamemode to determine whether to fire. So if a mode file specifies something else than coop, realism, versus, scavenge, survival as its base none of them will fire
OnScavengeMatchStart
(in all games since )- Fired on the first map load of a scavenge match. Doesn't fire on round restarts. Note:Fires shortly after OnGameplayStart of info_director is fired
OnNavAnalyze
(in all games since )- Fired when the map is loaded with -navanalyze on the command line.
Inputs
PostSpawnActivate
!FGD- Fired internally and causes On<Mode> output to fire.
PreRoundActivate
!FGD- Fired internally and causes On<Mode>PostIO output to fire.
FireScavengeMatchStart
!FGD- Fired internally and causes OnScavengeMapStart output to fire.
Idea:Vscripts Input[InputName] hook can be used on these.
Todo: What happens when preventing these to fire by returning false ?