Alpine Level Design: Difference between revisions
(18 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{BubbleNav|RF1Modding}} | {{BubbleNav|RF1Modding}} | ||
[[File:Alpinelogo1.png|center]] | |||
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction. | This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction. | ||
== | ==General== | ||
===Versioning=== | |||
'''Alpine Levels are playable only using Alpine Faction.''' | '''Alpine Levels are playable only using Alpine Faction.''' | ||
Due to features unavailable in those clients, Alpine Levels are '''not''' playable while using other client versions such as any version of Red Faction (official builds), Pure Faction, or Dash Faction. | Due to features unavailable in those clients, Alpine Levels are '''not''' playable while using other client versions such as any version of Red Faction (official builds), Pure Faction, or Dash Faction. | ||
===Testing=== | |||
* '''Multiplayer playtesting''' - In addition to the '''Play''' and '''Play from Camera''' features that have always been available, the Alpine level editor adds a feature to allow you to playtest multiplayer maps in multiplayer. If you click the '''Play (multi)''' button on the top toolbar, the game will launch you into a listen (local) server running your level. | |||
* '''Troubleshooting goals''' - You can use the <tt>[ dbg_goal GOALNAME ]</tt> console command at any time to query a goal by name and print its current and initial values. | |||
* '''Troubleshooting event and trigger links''' - You can use the <tt>[ debug trigger ]</tt> and <tt>[ debug event ]</tt> console commands at any time (SP only) to draw events and triggers and their links as arrows in the game world. Links from triggers are blue, links from events are purple. | |||
==Geometry== | ==Geometry== | ||
Line 56: | Line 62: | ||
==Items== | ==Items== | ||
In single player, unlike levels made for other versions of the game, Alpine Levels allow the player to pick up the ''Multi Super Health'' and ''Multi Super Armor'' items. | In single player, unlike levels made for other versions of the game, Alpine Levels allow the player to pick up the ''Multi Super Health'' and ''Multi Super Armor'' items. | ||
==HUD Messages== | |||
Magic words can be used in HUD message display (via the ''HUD_Message''' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message. | |||
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message | |||
* '''$FIRE$''' - Name of the key or mouse button assigned to the primary fire control | |||
* '''$ALT_FIRE$''' - Name of the key or mouse button assigned to the alternate fire control | |||
* '''$USE$''' - Name of the key or mouse button assigned to the use control | |||
* '''$JUMP$''' - Name of the key or mouse button assigned to the jump control | |||
* '''$CROUCH$''' - Name of the key or mouse button assigned to the crouch control | |||
* '''$HOLSTER$''' - Name of the key or mouse button assigned to the holster weapon control | |||
* '''$RELOAD$''' - Name of the key or mouse button assigned to the reload weapon control | |||
* '''$NEXT_WEAPON$''' - Name of the key or mouse button assigned to the next weapon control | |||
* '''$PREV_WEAPON$''' - Name of the key or mouse button assigned to the previous weapon control | |||
* '''$MESSAGE_LOG$''' - Name of the key or mouse button assigned to the message log control | |||
* '''$QUICK_SAVE$''' - Name of the key or mouse button assigned to the quick save control | |||
* '''$QUICK_LOAD$''' - Name of the key or mouse button assigned to the quick load control | |||
* '''$HEADLAMP$''' - Name of the key or mouse button assigned to the toggle headlamp control | |||
* '''$SKIP_CUTSCENE$''' - Name of the key or mouse button assigned to the skip cutscene control | |||
* '''$goal_GOALNAME$''' - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map | |||
==Events== | ==Events== | ||
Line 71: | Line 97: | ||
* '''Holster_Weapon''' - Could always be turned on to holster the weapon of linked entities. In Alpine Levels, can also be turned off to force those entities to unholster their weapons. | * '''Holster_Weapon''' - Could always be turned on to holster the weapon of linked entities. In Alpine Levels, can also be turned off to force those entities to unholster their weapons. | ||
* '''Holster_Player_Weapon''' - Could always be turned on to holster the player's weapon. In Alpine Levels, can also be turned off to unholster the player's weapon. | * '''Holster_Player_Weapon''' - Could always be turned on to holster the player's weapon. In Alpine Levels, can also be turned off to unholster the player's weapon. | ||
====Dash Faction==== | |||
The following events had functionality added in Dash Faction 1.5.0. This functionality is not specific to Alpine Levels - it is available on any levels when using Dash Faction 1.5.0+ or any version of Alpine Faction. On other client versions (including all official client versions), although levels that rely on this functionality can be loaded, the functionality of these events will be restricted to only their stock game behaviour, which could lead to undesirable behaviour. | |||
* '''Set_Liquid_Depth''' - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room. | |||
* '''Switch_Model''' - Used to swap the mesh used by linked clutter objects to a specified file. Could be used in stock game as long as the specified mesh file was a stock game file. Can now be used to specify custom meshes distributed with levels. | |||
===Directional Events=== | ===Directional Events=== | ||
Line 79: | Line 110: | ||
* '''Clone_Entity''' | * '''Clone_Entity''' | ||
* '''AF_Teleport_Player''' | * '''AF_Teleport_Player''' | ||
* '''Anchor_Marker_Orient''' | |||
* ''' | |||
===Alpine Events=== | ===Alpine Events=== | ||
Line 133: | Line 160: | ||
|params = * '''UID (trigger/room) to check:''' (int1) Region to be checked. Can be a trigger UID or a room UID (Room Effect). | |params = * '''UID (trigger/room) to check:''' (int1) Region to be checked. Can be a trigger UID or a room UID (Room Effect). | ||
* '''What to check for:''' (int2) Object to be checked. If not specified, defaults to the player who activated the event. | * '''What to check for:''' (int2) Object to be checked. If not specified, defaults to the player who activated the event. | ||
}} | }} | ||
</div><div class="column> | </div><div class="column> | ||
Line 152: | Line 172: | ||
|eventname = Route_Node | |eventname = Route_Node | ||
|category = AF_Flow | |category = AF_Flow | ||
|description = In-line multi-purpose flow control node. Has several options to control what the processed message looks | |description = In-line multi-purpose flow control node. Has several options to control what the processed message looks like. | ||
|params = * '''Node behavior:''' (int1) What should the Route_Node do to the message? | |params = * '''Node behavior:''' (int1) What should the Route_Node do to the message? | ||
* '''Non-retriggerable delay:''' (bool1) If true, ignore any received messages while a message is currently queued on this Route_Node. Has no effect unless a delay is specified. | * '''Non-retriggerable delay:''' (bool1) If true, ignore any received messages while a message is currently queued on this Route_Node. Has no effect unless a delay is specified. | ||
Line 167: | Line 187: | ||
}} | }} | ||
{{Infobox RF1Event | {{Infobox RF1Event | ||
|eventname = | |eventname = Scope_Gate | ||
|category = AF_Utility | |category = AF_Utility | ||
|description = Performs a test on | |description = Performs a test on various aspects of the game. Forwards message to links only if test passes. | ||
|on = Perform test and forward message if passed. | |on = Perform test and forward message if passed. | ||
|params = * ''' | |params = * '''Scope to test against:''' (int1) Test to run | ||
}} | |||
{{Infobox RF1Event | |||
|eventname = Gametype_Gate | |||
|category = AF_Utility | |||
|description = Performs a test on the gametype of the game. Forwards message to links only if test passes. Works only in multiplayer (test will always fail in single player). | |||
|on = Perform test and forward message if passed. | |||
|params = * '''Check for gametype:''' (int1) Gametype to test against. | |||
}} | }} | ||
</div><div style="clear: both;"></div> | </div><div style="clear: both;"></div> | ||
Line 181: | Line 208: | ||
|category = AF_General | |category = AF_General | ||
|description = Creates a clone of the linked entity with the same properties and settings as its source. | |description = Creates a clone of the linked entity with the same properties and settings as its source. | ||
|on = Create a clone at the event's position. | |on = Create a clone at the event's position, and with the event's orientation. | ||
|params = * '''Clone is hostile to player:''' (bool1) If true, clone is actively hostile to player and will engage if it spots the player. | |||
* '''Go to player:''' (bool2) If true, the clone will begin running to the player immediately when created. Assuming there is a valid route to the player's position, it will find them. | |||
* '''Link event UID to clone:''' (int1) If specified, when a clone is created, a link will be created between the specified event UID and the clone. | |||
}} | }} | ||
{{Infobox RF1Event | {{Infobox RF1Event | ||
Line 195: | Line 225: | ||
|description = Set the hardness for the loaded level (size of geo craters). | |description = Set the hardness for the loaded level (size of geo craters). | ||
|on = Set hardness to the specified value. | |on = Set hardness to the specified value. | ||
|params = * ''' | |params = * '''Hardness:''' (int1) The hardness value to set. | ||
}} | }} | ||
{{Infobox RF1Event | {{Infobox RF1Event | ||
Line 202: | Line 232: | ||
|description = Set the difficulty level of the game. | |description = Set the difficulty level of the game. | ||
|on = Set difficulty to the specified value. | |on = Set difficulty to the specified value. | ||
|params = * ''' | |params = * '''Difficulty:''' (int1) Set the game's difficulty. | ||
}} | }} | ||
{{Infobox RF1Event | {{Infobox RF1Event | ||
Line 213: | Line 243: | ||
* '''Use relative position:''' (bool1) If true, apply relative position mapping camera position in world space to eye position in the sky room. | * '''Use relative position:''' (bool1) If true, apply relative position mapping camera position in world space to eye position in the sky room. | ||
* '''Relative position scale:''' (float1) Scale/ratio to apply to relative position camera mapping. | * '''Relative position scale:''' (float1) Scale/ratio to apply to relative position camera mapping. | ||
}} | |||
{{Infobox RF1Event | |||
|eventname = Set_Item_Drop | |||
|category = AF_General | |||
|description = Changes the configured item drop for linked entities. | |||
|on = Set item drop. | |||
|params = * '''Item class to drop:''' (str1) Item name to drop. Event will have no effect unless this is a valid item name (from [[items.tbl]]) | |||
}} | |||
{{Infobox RF1Event | |||
|eventname = Set_Life | |||
|category = AF_General | |||
|description = Changes the base life value of linked clutter and/or entities. | |||
|on = Set the base life value. | |||
|params = *'''New life value:''' (int1) | |||
}} | |||
{{Infobox RF1Event | |||
|eventname = AF_Heal | |||
|category = AF_General | |||
|description = Heal or damage the player (or multiple players in multiplayer) by a specific amount. Can also apply to armour. | |||
|on = Apply the configured change. | |||
|params = * '''Amount:''' (int1) What numeric change should be applied | |||
* '''Apply change to:''' (int2) Who should it be applied to? | |||
* '''Apply to armor instead:''' (bool1) If true, apply the change to armour rather than health. | |||
* '''Allow super values:''' (bool2) If true, accomodate for super health/super armour. If false, the resulting health or armour after applying the change is clamped to 0-100. If true, it's clamped to 0-200. | |||
}} | |||
{{Infobox RF1Event | |||
|eventname = World_HUD_Sprite | |||
|category = AF_General | |||
|description = Display a sprite in the world, most often used for providing the player with directions (for example, to an objective). | |||
|on = Enable the sprite. | |||
|off = Disable the sprite. | |||
|params = * '''Start enabled:''' (bool1) Is the sprite initially enabled when the map loads? | |||
* '''Render mode:''' (int1) How is the sprite rendered? Overdraw means players can see the sprite through all level geometry. | |||
* '''Render scale:''' (float1) Adjust the scale of the sprite (1.0 for normal size). | |||
* '''Sprite filename:''' (str1) Specify the filename to use for the sprite when rendered. If ''Sprite filename blue'' is also specified, this field is the sprite rendered for the red team in multiplayer. | |||
* '''Sprite filename blue:''' (str2) Specify the filename to use for the sprite when rendered for the blue team only (in multiplayer). If this field isn't specified, the sprite filename specified for ''Sprite filename'' will be shown to all players regardless of team. | |||
}} | }} | ||
</div><div class="column> | </div><div class="column> | ||
Line 220: | Line 286: | ||
|description = Display a green HUD message in the bottom middle of the screen (like the helper text when you pick up items). | |description = Display a green HUD message in the bottom middle of the screen (like the helper text when you pick up items). | ||
|on = Display the HUD message for the configured duration. | |on = Display the HUD message for the configured duration. | ||
|params = * ''' | |params = * '''Message text:''' (str1) The message to display. | ||
* ''' | * '''Duration:''' (float1) Duration in seconds the message will be displayed. Note the message will go away quicker if another HUD message is displayed (such as from another HUD_Message event, or from the player picking up an item) | ||
}} | }} | ||
{{Infobox RF1Event | {{Infobox RF1Event | ||
Line 228: | Line 294: | ||
|description = Play a .bik format video. | |description = Play a .bik format video. | ||
|on = Play the video specified. | |on = Play the video specified. | ||
|params = * '''filename:''' ( | |params = * '''Video filename:''' (str1) The filename of the video to play. | ||
}} | }} | ||
{{Infobox RF1Event | {{Infobox RF1Event | ||
|eventname = Force_Unhide | |eventname = Force_Unhide | ||
|category = AF_General | |category = AF_General | ||
|description = Force unhide/hide an object with no conditions. Virtually identical to the stock "Unhide" event, except this one will do it regardless of player line of sight or any other factors. | |description = Force unhide/hide an object with no conditions. Virtually identical to the stock "Unhide" event, except this one will always do it, regardless of player line of sight or any other factors. | ||
|on = Unhide linked objects. | |on = Unhide linked objects. | ||
|off = Hide linked objects. | |off = Hide linked objects. | ||
Line 242: | Line 308: | ||
|description = Sets the far clip plane used for distance fog. | |description = Sets the far clip plane used for distance fog. | ||
|on = Set far clip plane to specified value (in metres). | |on = Set far clip plane to specified value (in metres). | ||
|params = * ''' | |params = * '''Far clip distance:''' (int1) Far clip plane distance. | ||
}} | |||
{{Infobox RF1Event | |||
|eventname = Set_Entity_Flag | |||
|category = AF_General | |||
|description = Turn on or off entity flags on linked entities. | |||
|on = Turn selected flag on. | |||
|off = Turn selected flag off. | |||
|params = * '''Flag to set:''' (int1) | |||
}} | |||
{{Infobox RF1Event | |||
|eventname = Set_Debris | |||
|category = AF_General | |||
|description = Set the debris and explosion parameters for linked clutter and/or entities. | |||
|on = Set values as specified. | |||
|params = * '''Debris filename:''' (str1) Filename of debris to set. | |||
* '''Explosion VClip index:''' (int1) Index of VClip to play when object dies (from [[vclip.tbl]]). | |||
* '''Explosion VClip radius:''' (float1) | |||
* '''Debris sound set:''' (str2) Sound set to use for debris collision (from [[foley.tbl]]). (Only supported on clutter) | |||
* '''Debris velocity:''' (float2) Velocity of debris. (Only supported on clutter) | |||
}} | |||
{{Infobox RF1Event | |||
|eventname = AF_Teleport_Player | |||
|category = AF_General | |||
|description = Teleport player to the event's position, with the event's orientation. | |||
|on = Teleport player. | |||
|params = * '''Reset player velocity:''' (bool1) If true, set player velocity to 0 m/s after teleporting. If false, player details velocity, but it is translated based on the orientation of the event. | |||
* '''Eject player from vehicle:''' (bool2) If true, if the player is in a vehicle, eject them from the vehicle and teleport them just as a player. If false, teleport their vehicle. Has no effect in multiplayer or if the player is not in a vehicle. | |||
* '''Entrance VClip:''' (str1) VClip name (from [[vclip.tbl]]) to play at the player's position just before they teleport. | |||
* '''Exit VClip:''' (str2) VClip name (from [[vclip.tbl]]) to play at the teleport destination when the player arrives. | |||
}} | |||
{{Infobox RF1Event | |||
|eventname = Set_Fog_Color | |||
|category = AF_General | |||
|description = Sets the distance fog colour. | |||
|on = Set configured fog colour. | |||
|params = * '''Fog color:''' (str1) Specify fog colour to set. Uses the same format as Level Properties - e.g. specifying "<255, 255, 255>" would result in pure white fog. | |||
}} | |||
{{Infobox RF1Event | |||
|eventname = Set_Light_Color | |||
|category = AF_General | |||
|description = Sets the colour of dynamic lights | |||
|on = Set light colour. | |||
|params = * '''Light color:''' (str1) Specify light colour to set. Uses the same format as Light properties - e.g. specifying "<255, 255, 255>" would result in pure white light. | |||
* '''Random color instead:''' (bool1) If true, generate a random color instead. | |||
}} | }} | ||
</div><div style="clear: both;"></div> | </div><div style="clear: both;"></div> | ||
Line 274: | Line 384: | ||
* '''Operation to perform:''' (int1) | * '''Operation to perform:''' (int1) | ||
* '''Value to use for operation:''' (int2) | * '''Value to use for operation:''' (int2) | ||
}} | |||
{{Infobox RF1Event | |||
|eventname = Anchor_Marker_Orient | |||
|category = AF_Utility | |||
|description = Same as the '''Anchor_Marker''' event, except this one respect the orientation (direction) of the event. Can be used to, among other things, rotate particle emitters or push regions using movers. | |||
}} | }} | ||
</div><div class="column> | </div><div class="column> | ||
Line 294: | Line 409: | ||
|category = AF_Utility | |category = AF_Utility | ||
|description = Used to "drag along" some object types that can't normally be added to moving groups. Simply add the Anchor Marker to the moving group, then link the Anchor_Marker to the objects you want to bring. That object/those objects will have their position locked to the position of the Anchor_Marker event as it travels with the mover. Supports Lights (Dynamic only), Particle Emitters, and Push Regions. Can also be used in conjunction with '''Set_Skybox''' to specify the "eye" location within the skybox. | |description = Used to "drag along" some object types that can't normally be added to moving groups. Simply add the Anchor Marker to the moving group, then link the Anchor_Marker to the objects you want to bring. That object/those objects will have their position locked to the position of the Anchor_Marker event as it travels with the mover. Supports Lights (Dynamic only), Particle Emitters, and Push Regions. Can also be used in conjunction with '''Set_Skybox''' to specify the "eye" location within the skybox. | ||
}} | |||
{{Infobox RF1Event | |||
|eventname = Light_State | |||
|category = AF_Utility | |||
|description = Used to toggle Lights (Dynamic only) on/off as desired. | |||
|on = Turn linked lights on. | |||
|off = Turn linked lights off. | |||
}} | }} | ||
</div><div style="clear: both;"></div> | </div><div style="clear: both;"></div> |
Latest revision as of 21:31, 19 April 2025
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.
General
Versioning
Alpine Levels are playable only using Alpine Faction.
Due to features unavailable in those clients, Alpine Levels are not playable while using other client versions such as any version of Red Faction (official builds), Pure Faction, or Dash Faction.
Testing
- Multiplayer playtesting - In addition to the Play and Play from Camera features that have always been available, the Alpine level editor adds a feature to allow you to playtest multiplayer maps in multiplayer. If you click the Play (multi) button on the top toolbar, the game will launch you into a listen (local) server running your level.
- Troubleshooting goals - You can use the [ dbg_goal GOALNAME ] console command at any time to query a goal by name and print its current and initial values.
- Troubleshooting event and trigger links - You can use the [ debug trigger ] and [ debug event ] console commands at any time (SP only) to draw events and triggers and their links as arrows in the game world. Links from triggers are blue, links from events are purple.
Geometry
When constructing non-Alpine levels, faces are added to "fix ps2 tiling" when building geometry, if the texture applied to a given surface tiles many times. This does not occur when constructing Alpine Levels - you can safely tile textures as much as you like without it resulting in additional unnecessary faces being added.
Similarly, when adding brushes to moving groups during construction of non-Alpine levels, if those brushes have surfaces with textures that tile many times, the brush will be split. This also does not occur when constructing Alpine Levels - you can safely tile textures as much as you like on brushes that either are, or will eventually be, members of moving groups, without it resulting in additional unnecessary faces being added.
Lighting
Lightmaps
In Alpine Levels, the game does not apply lightmap clamping. This means that the full range of available colors is available - including fully unlit (black) areas. Put another way, the way your lightmaps look when you calculate them in the level editor is how they will look in game.
Additionally, the stock editor applies similar lightmap clamping when opening saved levels. This has also been removed in Alpine RED - levels loaded in Alpine RED will look as they did when they were saved.
Dynamic Lights
Alpine Levels can utilize dynamic lights - configured via the "Dynamic" checkbox in light properties. Using the Anchor_Marker event (described below), you can also move dynamic lights using moving groups.
Note: Dynamic lights are far more taxing on game performance than normal (static) lights. You should keep this in mind when designing, and use dynamic lights only where necessary to achieve your desired effect.
Skyboxes
In Alpine Levels, while you can still make static skyboxes as you always could before if you wish, through the Set_Skybox event (described below) you can enhance your skyboxes. The key differences are listed below.
Note: When making an enhanced skybox, while you still do need to place a Room Effect in the room that is to be your sky room, you should not select the "Sky Room" type on the Room Effect - instead, leave "type" set to "None", or set it to "Liquid Room" if you wish to have a liquid surface in your sky room. The UID of the Room Effect is the skybox room UID you will specify in the properties of the Set_Skybox event.
Eye Anchor
When setting an enhanced skybox via the Set_Skybox event, you can specify an "eye anchor" UID. This must be the UID of an Anchor_Marker event that is inside the skybox room you are using. If you specify a valid "eye anchor" UID, this will be the position from which the sky room will be visible when projected as your skybox. You can also place the Anchor_Marker in a moving group and move it with keyframes if you wish.
Caution: Moving the "eye anchor" with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.
Relative Position
When setting an enhanced skybox via the Set_Skybox event, you can turn on "use relative position" and specify a "relative position scale". If you do, players can move around "inside the sky room" as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the "eye" position in the skybox, relative to the "eye anchor" position in the sky room. The position is scaled using the scale.
- A "relative position scale" of 1.0 maps camera position relative to world origin to eye position relative to eye anchor position at a ratio of 1:1 - every 1m moved in the world is 1m moved in the skybox.
- A "relative position scale" of 0.25 however, means every 1m moved in the world is 0.25m moved in the skybox. Using this, you can make your skybox much smaller than your actual level.
Note: Relative position requires you specify a scale and an eye anchor (and of course a skyboox room UID). If you do not specify each of these, ticking the "use relative position" option will have no effect.
Triggers
In multiplayer, unlike levels made for other versions of the game, triggers in Alpine Levels can activate events directly. This includes stock game events and Alpine Events (described below).
The following events are not supported in multiplayer and will not function if triggered:
- Load_Level
- Endgame
- Defuse_Nuke
- Drop_Point_Marker
- Go_Undercover
- Win_PS2_Demo
- Play_Video
- When_Picked_Up
Items
In single player, unlike levels made for other versions of the game, Alpine Levels allow the player to pick up the Multi Super Health and Multi Super Armor items.
HUD Messages
Magic words can be used in HUD message display (via the HUD_Message' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message.
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message
- $FIRE$ - Name of the key or mouse button assigned to the primary fire control
- $ALT_FIRE$ - Name of the key or mouse button assigned to the alternate fire control
- $USE$ - Name of the key or mouse button assigned to the use control
- $JUMP$ - Name of the key or mouse button assigned to the jump control
- $CROUCH$ - Name of the key or mouse button assigned to the crouch control
- $HOLSTER$ - Name of the key or mouse button assigned to the holster weapon control
- $RELOAD$ - Name of the key or mouse button assigned to the reload weapon control
- $NEXT_WEAPON$ - Name of the key or mouse button assigned to the next weapon control
- $PREV_WEAPON$ - Name of the key or mouse button assigned to the previous weapon control
- $MESSAGE_LOG$ - Name of the key or mouse button assigned to the message log control
- $QUICK_SAVE$ - Name of the key or mouse button assigned to the quick save control
- $QUICK_LOAD$ - Name of the key or mouse button assigned to the quick load control
- $HEADLAMP$ - Name of the key or mouse button assigned to the toggle headlamp control
- $SKIP_CUTSCENE$ - Name of the key or mouse button assigned to the skip cutscene control
- $goal_GOALNAME$ - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map
Events
Fixes
Outside of Alpine Levels, using the delay parameter with the following stock game events leads to that event breaking - the effect will never apply. In Alpine Levels, the delay parameter can be used on these events without issue - just like any other event.
- Play_Sound
- Cyclic_Timer
- Make_Invulnerable
- Alarm_Siren
- Unhide
Enhanced Functionality
In Alpine Levels, some stock game events have been improved in various ways:
- Headlamp_State - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.
- Holster_Weapon - Could always be turned on to holster the weapon of linked entities. In Alpine Levels, can also be turned off to force those entities to unholster their weapons.
- Holster_Player_Weapon - Could always be turned on to holster the player's weapon. In Alpine Levels, can also be turned off to unholster the player's weapon.
Dash Faction
The following events had functionality added in Dash Faction 1.5.0. This functionality is not specific to Alpine Levels - it is available on any levels when using Dash Faction 1.5.0+ or any version of Alpine Faction. On other client versions (including all official client versions), although levels that rely on this functionality can be loaded, the functionality of these events will be restricted to only their stock game behaviour, which could lead to undesirable behaviour.
- Set_Liquid_Depth - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.
- Switch_Model - Used to swap the mesh used by linked clutter objects to a specified file. Could be used in stock game as long as the specified mesh file was a stock game file. Can now be used to specify custom meshes distributed with levels.
Directional Events
3D arrows in the Alpine level editor are drawn from directional events - that is, events that save their orientation and use it for some purpose. (most events are not directional). The following events are directional:
- Play_VClip - (did not display a 3D arrow in stock level editor, does in Alpine level editor)
- Teleport - (did not display a 3D arrow in stock level editor, does in Alpine level editor)
- Teleport_Player
- Clone_Entity
- AF_Teleport_Player
- Anchor_Marker_Orient
Alpine Events
The following Alpine Events are completely new and are only available for use in Alpine Levels:
AF_Catalysts
AF_Flow
|
SequenceEach activation of this event routes the message to the next link in sequential order. After the last link, the cycle resets and the first link is called. Note the order of links is determined by the order in which you add them.On Response Send an on signal to the next link in the sequence.
Off Response None
Parameters
|
|
Difficulty_GateTests if the game is set to the specified difficulty and forwards messages only if true.On Response Forward on signal to all links, if the game is set to the specified difficulty.
Off Response None
Parameters
|
|
Valid_GateTests if the specified UID is a valid object and forwards messages only if true. In the case of objects that have life values (ie. clutter and entities), "valid" means alive.On Response Forward on signal to all links, if the specified object is valid.
Off Response None
Parameters
|
|
Inside_GateTests if an object (default: the player who activated the event) is in a specified area of the map. Forwards messages if true.On Response Forward on signal to all links if test passes.
Off Response None
Parameters
|
|
Switch_RandomRandomly select one of this event's links and send an on message to it.On Response Send an on message to a randomly selected link.
Off Response None
Parameters
|
|
Route_NodeIn-line multi-purpose flow control node. Has several options to control what the processed message looks like.On Response None
Off Response None
Parameters
|
|
Goal_GatePerforms a test on a specified goal (integer variable). Forwards message to links only if test passes.On Response Perform test and forward message if passed.
Off Response None
Parameters
|
|
Scope_GatePerforms a test on various aspects of the game. Forwards message to links only if test passes.On Response Perform test and forward message if passed.
Off Response None
Parameters
|
|
Gametype_GatePerforms a test on the gametype of the game. Forwards message to links only if test passes. Works only in multiplayer (test will always fail in single player).On Response Perform test and forward message if passed.
Off Response None
Parameters
|
AF_General
|
Clone_EntityCreates a clone of the linked entity with the same properties and settings as its source.On Response Create a clone at the event's position, and with the event's orientation.
Off Response None
Parameters
|
|
Set_Player_World_CollideControl whether the player collides with level geometry.On Response Collision = true (default)
Off Response Collision = false
Parameters
No additional parameters. |
|
Set_Level_HardnessSet the hardness for the loaded level (size of geo craters).On Response Set hardness to the specified value.
Off Response None
Parameters
|
|
Set_DifficultySet the difficulty level of the game.On Response Set difficulty to the specified value.
Off Response None
Parameters
|
|
Set_SkyboxSet the room to project as skybox.On Response Set skybox information as configured.
Off Response None
Parameters
|
|
Set_Item_DropChanges the configured item drop for linked entities.On Response Set item drop.
Off Response None
Parameters
|
|
Set_LifeChanges the base life value of linked clutter and/or entities.On Response Set the base life value.
Off Response None
Parameters
|
|
AF_HealHeal or damage the player (or multiple players in multiplayer) by a specific amount. Can also apply to armour.On Response Apply the configured change.
Off Response None
Parameters
|
|
World_HUD_SpriteDisplay a sprite in the world, most often used for providing the player with directions (for example, to an objective).On Response Enable the sprite.
Off Response Disable the sprite.
Parameters
|
|
HUD_MessageDisplay a green HUD message in the bottom middle of the screen (like the helper text when you pick up items).On Response Display the HUD message for the configured duration.
Off Response None
Parameters
|
|
Play_VideoPlay a .bik format video.On Response Play the video specified.
Off Response None
Parameters
|
|
Force_UnhideForce unhide/hide an object with no conditions. Virtually identical to the stock "Unhide" event, except this one will always do it, regardless of player line of sight or any other factors.On Response Unhide linked objects.
Off Response Hide linked objects.
Parameters
No additional parameters. |
|
Set_Fog_Far_ClipSets the far clip plane used for distance fog.On Response Set far clip plane to specified value (in metres).
Off Response None
Parameters
|
|
Set_Entity_FlagTurn on or off entity flags on linked entities.On Response Turn selected flag on.
Off Response Turn selected flag off.
Parameters
|
|
Set_DebrisSet the debris and explosion parameters for linked clutter and/or entities.On Response Set values as specified.
Off Response None
Parameters
|
|
AF_Teleport_PlayerTeleport player to the event's position, with the event's orientation.On Response Teleport player.
Off Response None
Parameters
|
|
Set_Fog_ColorSets the distance fog colour.On Response Set configured fog colour.
Off Response None
Parameters
|
|
Set_Light_ColorSets the colour of dynamic lightsOn Response Set light colour.
Off Response None
Parameters
|
AF_Utility
|
Set_VariableReconfigure a variable on linked Alpine Faction event(s).On Response Updates the variable of the linked event(s) based on the provided configuration.
Off Response None
Parameters
|
|
Remove_LinkUsed to remove links between objects. By default (with "Purge all links" turned off), removes links between objects this event is linked to.On Response Remove links.
Off Response None
Parameters
|
|
Goal_MathUsed to perform math operations on goals (integer variables). Applies the operation to level (non-persistent) goals, as well as persistent goals that are loaded.On Response Apply the operation.
Off Response None
Parameters
|
|
Clear_QueuedClears queued message (if any) on all linked events. Queued messages are messages that are queued per a configured delay value on that event.On Response Clear queued messages.
Off Response None
Parameters
No additional parameters. |
|
Add_LinkAdds links from the specified source event to each object this event is linked to.On Response Add links.
Off Response None
Parameters
|
|
Anchor_MarkerUsed to "drag along" some object types that can't normally be added to moving groups. Simply add the Anchor Marker to the moving group, then link the Anchor_Marker to the objects you want to bring. That object/those objects will have their position locked to the position of the Anchor_Marker event as it travels with the mover. Supports Lights (Dynamic only), Particle Emitters, and Push Regions. Can also be used in conjunction with Set_Skybox to specify the "eye" location within the skybox.On Response None
Off Response None
Parameters
No additional parameters. |