Trigger finale: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
 AltNames: This entity is also tied to
AltNames: This entity is also tied to 
 Risk of Confusion:Despite the name starting with word
Risk of Confusion:Despite the name starting with word 
 Note:This entity is not required for survival gamemodes. Anything that fires the
Note:This entity is not required for survival gamemodes. Anything that fires the 
 Note:Spawning trigger_finale with a point_template as seen in map
Note:Spawning trigger_finale with a point_template as seen in map 
		
	
| mNo edit summary |  (→Outputs:  of course a bullshit activator again) | ||
| (23 intermediate revisions by 8 users not shown) | |||
| Line 1: | Line 1: | ||
| {{ | {{LanguageBar}} | ||
| {{ | {{CD|CFinaleTrigger|CBreakableProp}} | ||
| {{this is a|model entity|name=trigger_finale|series=Left 4 Dead}} It acts as trigger for the finale of a campaign and is capable of firing outputs for different stages of the finale.<br> | |||
| In most cases, if this entity is represented as a model in the world (like the ham-radio), it would start disabled, because first the players would interact with a {{ent|func_button}} tied to a {{ent|prop_dynamic}} to play a voice line and then enable the actual trigger_finale.<br> | |||
| If trigger_finale is not above the finale arena's nav mesh, the end of the escape route will be determined by the center of the all the nav areas marked with <code>FINALE</code>.<br> | |||
| {{altnames|name1=finale_trigger}} | |||
| {{Confusion|Despite the name starting with word <code>trigger_</code> it's not a trigger brush entity but a button using a studio model}} | |||
| {{note|This entity is not required for survival gamemodes. Anything that fires the <code>ForcePanicEvent</code> on the {{ent|info_director}} will start survival finales.}} | |||
| {{note|Spawning {{ent|trigger_finale}} with a {{ent|point_template}} as seen in map <code>c5m5_bridge</code> leads to poor VScript compatibility, especially for finale type detection by mutations. Using {{code|StartDisabled}} keyvalue and using the Enable input when needed is a better practice.}} | |||
| == Keyvalues == | == Keyvalues == | ||
| {{KV | {{KV Targetname}} | ||
| {{KV | {{KV Model}} | ||
| {{KV|First Use Delay|intn=FirstUseDelay|float|For two-part finale starts, delays this many seconds before allowing another +use.}} | {{KV|First Use Delay|intn=FirstUseDelay|float|For two-part finale starts, delays this many seconds before allowing another +use.}} | ||
| {{KV|Use Delay|intn=UseDelay|float|Starts the finale this many seconds after a +use.}} | {{KV|Use Delay|intn=UseDelay|float|Starts the finale this many seconds after a +use.}} | ||
| {{KV|Finale Type|intn=type|choices|Specifies which style of finale to trigger | {{KV|Finale Type|intn=type|choices|Specifies which style of finale to trigger: | ||
| :* 0 : Standard | :* 0 : Standard | ||
| :* 1 : Gauntlet | :* 1 : Gauntlet | ||
| :* 2 : Custom | :* 2 : Custom | ||
| :* 4 : Scavenge | :* 3 : Broken. Starts the finale but stucks on PANIC stage and never spawns any infected at all. {{Not in FGD}} | ||
| {{KV|Script File|intn=ScriptFile|string| | :* 4 : Scavenge|only={{l4d2}}}} | ||
| {{KV|Versus Travel|intn=VersusTravelCompletion|float|How much of the versus score is attained through travel to the finale ( not valid in gauntlet finale ) | {{KV|Script File|intn=ScriptFile|string|Takes precedence over the standard ''<nowiki>[mapname]_finale.nut</nowiki>'' script by running in the <code>LocalScript</code> scope.|only={{l4d2}}}} | ||
| :{{ | {{KV|Versus Travel|intn=VersusTravelCompletion|float|How much of the versus score is attained through travel to the finale (not valid in gauntlet finale). | ||
| :{{warning|Doesn't work with standard finale type.}}|only={{l4d2}}}} | |||
| {{KV|Is Sacrifice Finale|intn=IsSacrificeFinale|boolean|If true, one survivor has to be available to perform some action outside the escape vehicle.| | {{KV|Is Sacrifice Finale|intn=IsSacrificeFinale|boolean|If true, one survivor has to be available to perform some action outside the escape vehicle.|only={{l4d2}}}} | ||
| {{KV EnableDisable}} | {{KV EnableDisable}} | ||
| == Inputs == | == Inputs == | ||
| {{ | {{I|FinaleEscapeFinished|Gives the survivors a victory, starts playing the credits music and consolidates the campaign stats.{{Important|Must be fired before firing RollStatsCrawl into <code>env_outtro_stats</code> for the stats to work properly}}}} | ||
| {{ | {{I|FinaleEscapeForceSurvivorPositions|Teleports the survivors to a set of [[info_survivor_position]] entities. Used to make the survivors stand still on the escape vehicle or hide them. Required for the credits/stats to correctly count who escaped and who died in the finale.}} | ||
| {{ | {{I|FinaleEscapeVehicleReadyForSurvivors|Unlocks the escape vehicle navigation mesh areas, and makes survivors speak out that the vehicle has arrived.}} | ||
| {{ | {{I|ForceFinaleStart|Start the finale now. Only works when all survivors have entered the finale area marked in the navigation mesh.{{Tip|If you want to allow a finale to start with incapped players outside the finale area, use the <code>Use</code> input.}}}} | ||
| {{ | {{I|EnableEscapeSequence|Allow the escape sequence to happen at the proper phase of the finale.|only={{l4d}}}} | ||
| {{ | {{I|DisableEscapeSequence|Block the escape sequence from happening (until re-enabled). Infected will still spawn.|only={{l4d}}}} | ||
| {{ | {{I|GauntletStopPanic|Move the gauntlet finale state out of continuous panic mode. Advances to the tank stage the first time it is called, and the escape sequence the second time.|only={{l4d2}}}} | ||
| {{ | {{I|AdvanceFinaleState|Increments the finale stage.|only={{l4d2}}}} | ||
| {{ | {{I|SacrificeEscapeFailed|Indicates the survivors failed the escape requirements.|only={{l4d2}}}} | ||
| {{ | {{I|SacrificeEscapeSucceeded|Indicates the survivors met the escape requirements.|only={{l4d2}}}} | ||
| {{ | {{I|SacrificePlayerBeginsRun|A player has committed to the sacrifice run. {{activator|player}}|only={{l4d2}}}} | ||
| {{ | {{I|ForceTankSpawn|Possibly only for Gauntlet style finale in-play.|only={{l4d2}}}} | ||
| {{I EnableDisable}} | {{I EnableDisable}} | ||
| == Outputs == | == Outputs == | ||
| {{ | {{O|FinaleEscapeStarted|ac-is-this=1|Fired when the survivors should start their escape.}} | ||
| {{ | {{O|FinaleWon|ac-is-this=1|Fired when the survivors win the finale.}} | ||
| {{ | {{O|FinaleLost|ac-is-this=1|Fired when the survivors lose the finale.}} | ||
| {{ | {{O|FirstUseStart|ac-is-this=1|Fired when a player uses the trigger the first time and <code>FirstUseDelay</code> keyvalue is not 0.}} | ||
| {{ | {{O|UseStart|activator=the player|Fired when a player uses the trigger to start the finale.}} | ||
| {{ | {{O|FinaleStart|ac-is-this=1|Fired when the finale starts.}} | ||
| {{ | {{O|FinalePause|ac-is-this=1|Fired during the pause between each finale wave.}} | ||
| {{ | {{O|EscapeVehicleLeaving|ac-is-this=1|Fired when the escape vehicle starts to leave.}} | ||
| == See also == | == See also == | ||
| *  | * {{ent|info_director}} | ||
| * [[ | * [[L4D Level Design/Finale Events Part 1]] | ||
| * [[ | * [[L4D Level Design/Nav Flow]] | ||
| * [[L4D2 Vscripts|L4D2 vscripts]] | * [[L4D2 Vscripts|L4D2 vscripts]] | ||
Latest revision as of 12:46, 1 June 2025
|  Class hierarchy | 
|---|
| CFinaleTrigger | 
trigger_finale  is a   model entity  available in 
 Left 4 Dead series. It acts as trigger for the finale of a campaign and is capable of firing outputs for different stages of the finale.
 Left 4 Dead series. It acts as trigger for the finale of a campaign and is capable of firing outputs for different stages of the finale.
In most cases, if this entity is represented as a model in the world (like the ham-radio), it would start disabled, because first the players would interact with a func_button tied to a prop_dynamic to play a voice line and then enable the actual trigger_finale.
If trigger_finale is not above the finale arena's nav mesh, the end of the escape route will be determined by the center of the all the nav areas marked with FINALE.
 AltNames: This entity is also tied to
AltNames: This entity is also tied to finale_trigger.   Risk of Confusion:Despite the name starting with word
Risk of Confusion:Despite the name starting with word trigger_ it's not a trigger brush entity but a button using a studio model Note:This entity is not required for survival gamemodes. Anything that fires the
Note:This entity is not required for survival gamemodes. Anything that fires the ForcePanicEvent on the info_director will start survival finales. Note:Spawning trigger_finale with a point_template as seen in map
Note:Spawning trigger_finale with a point_template as seen in map c5m5_bridge leads to poor VScript compatibility, especially for finale type detection by mutations. Using StartDisabled keyvalue and using the Enable input when needed is a better practice.Keyvalues
- Name (targetname) <string>[ Edit ]
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentnameortarget).
 Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
- World Model (model) <model path>[ Edit ]
- In-game 3D representation of the entity to display. This is the path to a MDL relative to the game's root directory. (128 character limit)
- First Use Delay (FirstUseDelay) <float>
- For two-part finale starts, delays this many seconds before allowing another +use.
- Use Delay (UseDelay) <float>
- Starts the finale this many seconds after a +use.
- Finale Type (type)  <choices> (only in  ) )
- Specifies which style of finale to trigger:
- 0 : Standard
- 1 : Gauntlet
- 2 : Custom
- 3 : Broken. Starts the finale but stucks on PANIC stage and never spawns any infected at all. !FGD
- 4 : Scavenge
 
- Script File (ScriptFile)  <string> (only in  ) )
- Takes precedence over the standard [mapname]_finale.nut script by running in the LocalScriptscope.
- Versus Travel (VersusTravelCompletion)  <float> (only in  ) )
- How much of the versus score is attained through travel to the finale (not valid in gauntlet finale).
 Warning:Doesn't work with standard finale type. Warning:Doesn't work with standard finale type.
- Is Sacrifice Finale (IsSacrificeFinale)  <boolean> (only in  ) )
- If true, one survivor has to be available to perform some action outside the escape vehicle.
- Start Disabled (StartDisabled) <boolean>
- Stay dormant until activated (with theEnableinput).
Inputs
- FinaleEscapeFinished
- Gives the survivors a victory, starts playing the credits music and consolidates the campaign stats. Important:Must be fired before firing RollStatsCrawl into Important:Must be fired before firing RollStatsCrawl intoenv_outtro_statsfor the stats to work properly
- FinaleEscapeForceSurvivorPositions
- Teleports the survivors to a set of info_survivor_position entities. Used to make the survivors stand still on the escape vehicle or hide them. Required for the credits/stats to correctly count who escaped and who died in the finale.
- FinaleEscapeVehicleReadyForSurvivors
- Unlocks the escape vehicle navigation mesh areas, and makes survivors speak out that the vehicle has arrived.
- ForceFinaleStart
- Start the finale now. Only works when all survivors have entered the finale area marked in the navigation mesh. Tip:If you want to allow a finale to start with incapped players outside the finale area, use the Tip:If you want to allow a finale to start with incapped players outside the finale area, use theUseinput.
- EnableEscapeSequence   (only in  ) )
- Allow the escape sequence to happen at the proper phase of the finale.
- DisableEscapeSequence   (only in  ) )
- Block the escape sequence from happening (until re-enabled). Infected will still spawn.
- GauntletStopPanic   (only in  ) )
- Move the gauntlet finale state out of continuous panic mode. Advances to the tank stage the first time it is called, and the escape sequence the second time.
- SacrificePlayerBeginsRun   (only in  ) )
- A player has committed to the sacrifice run. (!activator is the player)
EnableDisable:
- Enable / Disable
- Enable/disable this entity from performing its task. It might also disappear from view.
Outputs
- FinaleEscapeStarted
- !activator = !caller = this entity
 Fired when the survivors should start their escape.
- FinaleWon
- !activator = !caller = this entity
 Fired when the survivors win the finale.
- FinaleLost
- !activator = !caller = this entity
 Fired when the survivors lose the finale.
- FirstUseStart
- !activator = !caller = this entity
 Fired when a player uses the trigger the first time andFirstUseDelaykeyvalue is not 0.
- UseStart
- !activator = the player
 !caller = this entity
 Fired when a player uses the trigger to start the finale.
- FinaleStart
- !activator = !caller = this entity
 Fired when the finale starts.
- FinalePause
- !activator = !caller = this entity
 Fired during the pause between each finale wave.
- EscapeVehicleLeaving
- !activator = !caller = this entity
 Fired when the escape vehicle starts to leave.

























