Trigger finale: Difference between revisions
Jump to navigation
Jump to search
AltNames: This entity is also tied to
Risk of Confusion:Despite the name starting with word
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
(Improved the point_template warning) |
(→Outputs: of course a bullshit activator again) |
||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{ | {{LanguageBar}} | ||
{{CD|CFinaleTrigger|CBreakableProp}} | {{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> | {{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> | ||
| Line 5: | Line 5: | ||
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> | 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}} | {{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|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 Targetname}} | {{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.}} | ||
| Line 21: | Line 19: | ||
:* 2 : Custom | :* 2 : Custom | ||
:* 3 : Broken. Starts the finale but stucks on PANIC stage and never spawns any infected at all. {{Not in FGD}} | :* 3 : Broken. Starts the finale but stucks on PANIC stage and never spawns any infected at all. {{Not in FGD}} | ||
:* 4 : Scavenge| | :* 4 : Scavenge|only={{l4d2}}}} | ||
{{KV|Script File|intn=ScriptFile|string | {{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). | {{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.}}| | :{{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}} | ||
| Line 35: | Line 33: | ||
{{I|EnableEscapeSequence|Allow the escape sequence to happen at the proper phase of the finale.|only={{l4d}}}} | {{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|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.| | {{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.| | {{I|AdvanceFinaleState|Increments the finale stage.|only={{l4d2}}}} | ||
{{I|SacrificeEscapeFailed|Indicates the survivors failed the escape requirements.| | {{I|SacrificeEscapeFailed|Indicates the survivors failed the escape requirements.|only={{l4d2}}}} | ||
{{I|SacrificeEscapeSucceeded|Indicates the survivors met the escape requirements.| | {{I|SacrificeEscapeSucceeded|Indicates the survivors met the escape requirements.|only={{l4d2}}}} | ||
{{I|SacrificePlayerBeginsRun|A player has committed to the sacrifice run. {{activator|player}}| | {{I|SacrificePlayerBeginsRun|A player has committed to the sacrifice run. {{activator|player}}|only={{l4d2}}}} | ||
{{I|ForceTankSpawn|Possibly only for Gauntlet style finale in-play.| | {{I|ForceTankSpawn|Possibly only for Gauntlet style finale in-play.|only={{l4d2}}}} | ||
{{I EnableDisable}} | {{I EnableDisable}} | ||
== Outputs == | == Outputs == | ||
{{O|FinaleEscapeStarted|Fired when the survivors should start their escape.}} | {{O|FinaleEscapeStarted|ac-is-this=1|Fired when the survivors should start their escape.}} | ||
{{O|FinaleWon|Fired when the survivors win the finale.}} | {{O|FinaleWon|ac-is-this=1|Fired when the survivors win the finale.}} | ||
{{O|FinaleLost|Fired when the survivors lose the finale.}} | {{O|FinaleLost|ac-is-this=1|Fired when the survivors lose the finale.}} | ||
{{O|FirstUseStart|Fired when a player uses the trigger the first time.}} | {{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|Fired when a player uses the trigger to start the finale.}} | {{O|UseStart|activator=the player|Fired when a player uses the trigger to start the finale.}} | ||
{{O|FinaleStart|Fired when the finale starts.}} | {{O|FinaleStart|ac-is-this=1|Fired when the finale starts.}} | ||
{{O|FinalePause|Fired during the pause between each finale wave.}} | {{O|FinalePause|ac-is-this=1|Fired during the pause between each finale wave.}} | ||
{{O|EscapeVehicleLeaving|Fired when the escape vehicle starts to leave.}} | {{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
| 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.
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.
finale_trigger. trigger_ it's not a trigger brush entity but a button using a studio modelForcePanicEvent on the info_director will start survival finales.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.
- 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 the
Enableinput).
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 env_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 Useinput.
- 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.