L4D2 Level Design/Custom Finale: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
Line 10: Line 10:
=== Map ===
=== Map ===
At the very least, all that needs to be changed is trigger_finale Finale Type, from <code>Standard</code> to <code>Custom</code>. There are other options and details you should consider:
At the very least, all that needs to be changed is trigger_finale Finale Type, from <code>Standard</code> to <code>Custom</code>. There are other options and details you should consider:
* The onslaught stage type does end unless the [[info_director|director]] is given the input EndCustomScriptedStage via script or in-game I/O.
* The onslaught stage type does end unless the [[info_director|director]] is given the input EndCustomScriptedStage via script or direct in-game I/O.
* info_director: OnCustomPanicStageFinished, OnPanicEventFinished (maybe just for crescendo), and OnUserDefinedScriptEvent(1-4) outputs are available, linked to vscript stage states or methods such as .UserDefinedEvent1()-.UserDefinedEvent4().
* info_director: OnCustomPanicStageFinished, OnPanicEventFinished (maybe just for crescendo), and OnUserDefinedScriptEvent(1-4) outputs are available, linked to vscript stage states or methods such as .UserDefinedEvent1()-.UserDefinedEvent4().
* trigger_finale: AdvanceFinaleState input is available.
* trigger_finale: AdvanceFinaleState input is available.

Revision as of 08:13, 5 October 2011

A custom finale reads automatically off of a vscript containing a list of stages, <map name>_finale.nut. The system features the ability to increment finale stages with arbitrary conditions (mainly the onslaught stage type). Something elaborate as a custom boss is possible, for example, where a certain amount of damage advances the finale to the next stage. Once the stages listed are finished, trigger_finale fires a FinaleEscapeStarted output.

None of the official L4D2 maps use the Standard finale option. Custom finale maps include c2m5_concert, c3m4_plantation, c4m5_milltown_escape, c7m3_port, and it is assumed that L4D1 finales do the same (No Mercy is confirmed to use custom).

Components

VScript

As discussed in the L4D2 vscript article, there are four stage types, additional custom finale-specific director options, and special functions available.

Map

At the very least, all that needs to be changed is trigger_finale Finale Type, from Standard to Custom. There are other options and details you should consider:

  • The onslaught stage type does end unless the director is given the input EndCustomScriptedStage via script or direct in-game I/O.
  • info_director: OnCustomPanicStageFinished, OnPanicEventFinished (maybe just for crescendo), and OnUserDefinedScriptEvent(1-4) outputs are available, linked to vscript stage states or methods such as .UserDefinedEvent1()-.UserDefinedEvent4().
  • trigger_finale: AdvanceFinaleState input is available.

Sacrifice finale

The sacrifice finale is based off of custom finale with additional hard-coded modifications introduced in The Sacrifice update.

Todo: break it down, explain, tutorialize
L4D2 Level Design/Gauntlet Finale Return to L4D2 Level Design