RED Objects

Objects can make or break a level. The addition of objects to a level helps to provide a better reference for scale, as well as giving a level a more realistic feel. Objects are classed as any 3D thing in a level that is not made from level geometry, and there are several different categories of objects, ranging from characters to vehicles to light fixtures and weapons. Objects can be manipulated in Object Mode or Group Mode.

This page lists available object types in RED. For specifics on Object Mode in RED, see the Object Mode Overview.

Climbing Region
Climbing Regions are very simple - they allow players to climb when inside of them, either by directing their camera with the mouse and holding forward/backward, or by using jump/crouch to move up and down within the region. Note that the orientation of the Climbing Region is important - holding jump will always make the player move toward the top of the Climbing Region, whereas holding crouch will always make them move toward the bottom.
 * Script Name: Name for the region. Primarily used for organization by level designers.
 * Type: Control the type of Climb Region - either Ladder or Chain Link Fence. Affects "footstep" sounds played when moving in the region.
 * Box Width/Depth/Height: Climbing Regions are always box shaped - these values control the dimensions of the bounding box of the region.

Push Region
Push regions specify bounds within which the player is affected by a push force. Push regions are used for many purposes, such as simulating low gravity, creating conveyor belts, and creating jump pads. Orientation of the Push Region determines the direction of the effect (indicated by a green arrow when the region is selected).
 * Script Name: Name for the region. Primarily used for organization by level designers.
 * Shape: The shape of the region in 3D space. The following options are available:
 * Sphere: Sphere bounds, radius specified by Radius value below.
 * Axis-Aligned Bounding Box: Box bounds, dimensions specified by Width/Height/Depth values below. Dimensions are always aligned to the world axis' - rotating the box only affects the direction of the effect (the arrow), not the bounds of the region.
 * Oriented Bounding Box: Box bounds, dimensions specified by Width/Height/Depth values below. Normal expected "box" shape behaviour - rotating the box affects both the direction of the effect (the arrow) and the bounds of the region.
 * Radius: If Sphere is specified for Shape, this value controls the radius of that sphere.
 * Width/Height/Depth: If either "box" value is specified for Shape, these values control the dimensions of the box.
 * Strength: Strength of the effect within the boundary.
 * Mass Independent: If ticked, mass of the object is ignored when applying the effect.
 * Radial: If ticked, always apply the effect outward from the center of the region, rather than in the direction of the arrow.
 * Grounded: Apply the effect only when the player is walking on the ground inside the region. Most commonly used for conveyor belts.
 * Doesn't affect player: If ticked, region will have no effect on players.
 * Jump Pad: If ticked, region is a jump pad. The most notable effects of this flag are a scalar value applied to Strength (ie. Jump Pad Push Regions are much stronger than other Push Regions), and the jump pad sound played when the effect happens.
 * Intensity: Control how the effect is applied. The following options are available:
 * Is Constant Everywhere: Effect is applied evenly throughout the entire region.
 * Grows Towards Region Center: Effect scales down based on how far away from the center of the region the player/object being affected is.
 * Grows Towards Region Boundaries: Effect scales up based on how far away from the center of the region the player/object being affected is.
 * Turbulence: 0 (none) - 15 (max). Controls the amount of screen shake applied to the player camera while within the region.

Gas Region
Gas Regions have no known function. It's generally assumed that they were envisioned as creating some sort of region-specific volumetric fog effect.
 * Script Name: Name for the region.
 * Shape: The shape of the region in 3D space (Sphere or Box). Below this option you may specify the size you want as either a radius (Sphere) or as Width, Depth, Height (Box).
 * Gas Color: Presumed to specify the color of the non-functional volumetric effect.
 * Change Color: Set the gas color.
 * Gas Density: Presumed to control visibility within the region, but as Gas Functions are not functional, this is just speculation.

Geo Region
Geo Regions allow level designers to control the level hardness in a specific area and also configure some unique behaviors for GeoMod in specific areas. Within the range of the Geo Region, the Hardness value of that Geo Region takes precedence over the Level Properties Hardness value. Additionally, in instances where multiple Geo Regions overlap eachother, the Geo Region with the highest Hardness value is used.

Note that Geo Regions do not stop blast craters from extending beyond the bounds of the region - the determination for what happens when a GeoMod would occur as a result of an explosion is based on the origin/source of the explosion. This means that if a rocket impacts and explodes on the very edge of a geo region, the crater will spill over and affect geometry outside of the region boundary.
 * Script Name: Name for the region.
 * Shape: The shape of the region in 3D space (Sphere or Box). Below this option you may specify the size you want as either a radius (Sphere) or as Width, Depth, Height (Box).
 * Hardness: This sets how GeoMod affects geometry within the region, overriding the Level Properties Hardness value within the bounds of the region. Lower values will cause explosions to make bigger holes and higher values will cause explosions to make smaller holes.
 * Is Ice: When GeoMod occurs within this region, if this box is ticked, "ice_ice01.tga" is used to texture the faces inside the crater, rather than the Level Properties Default Texture.
 * Use Shallow Geomods: If ticked, GeoMod craters will be scaled vertically by the Shallow Geomod Depth value, and extend upwards from the origin/source of the explosion, rather than out in all directions. The primary use of Shallow Geomods is to reduce instances where players can blow holes in the floor that they can then get stuck in.
 * Shallow GeoMod Depth: Control the vertical scalar value for Shallow Geomods. This value is used only if Use Shallow Geomods is ticked.
 * Always Show Range: This will cause the Geo Region to always displays its range lines even if it's not selected.

Non-Geo Region
Identical to Geo Region except Script Name is set to "Non-Geo Region" and hardness is set to "100" by default.

Bolt Emitter
Bolt emitters draw long particles between the emitter and its target. The particles are anchored at those two points, but otherwise always face the camera. A number of settings can be used to control the behavior, appearance, and amount of particles at any given time. Emitter Flags
 * Script Name: Name for the emitter. Primarily used for level designers to help organize.
 * Target UID: UID of the destination anchor for bolts emitted by this object. This should usually be the UID of a Target object (found in the RED Console when selected). A single Target object can be referenced by any number of Bolt Emitters.
 * Source Control Distance:
 * Target Control Distance:
 * Thickness: Thickness of the bolt particles.
 * Jitter:
 * Spawn Delay: Delay (in seconds) between each bolt particle spawning.
 * +/-: Used to add a degree of randomness. Spawn Delay will have a randomly determined value time between -VALUE and +VALUE applied each time.
 * Decay: How long (in seconds) each bolt particle is rendered before despawning.
 * +/-: Used to add a degree of randomness. Decay will have a randomly determined time value between -VALUE and +VALUE applied each time.
 * Bolt Color: Displays current color of bolt particles.
 * Change Color: Displays standard Windows color selection dialog box.
 * Number of Segments: Number of subdivisions of the generated bolts. Higher values will exaggerate the effect of Jitter or smooth out the bolts, at the cost of performance. (allowed range: 0 - 200)
 * Bolt bitmap: Select the bitmap to be used for the bolt particles. For the best effect, normally, bolt.tga, fatbolt.tga, or fatbolt2.tga are used.
 * Fade:
 * Glow: If ticked, use combined RGB channels for the Bolt bitmap as alpha channel. In effect, black colors will be rendered as transparent.
 * Emitter is Initially On: If ticked, emitter is on when the map loads. If unticked, can be turned on by an "on" message being sent to a Bolt_State event linked to it by the Invert or Switch events.
 * Source Direction is Locked:
 * Target Direction is Locked:
 * Alpha: Control the opacity of the generated bolt particles. (allowed range: 0 - 255)

Triggers
A Trigger is used to set off any number of Events or Keyframes. It could be to start a sound effect playing using a sound event, or to start a complex scripted sequence.

Trigger Door
Additionally, the following multiplayer-only options are available in the Dash Faction and Pure Faction versions of RED.
 * Script Name: Name for event. Primarily used for level designers to help organize triggers.
 * Shape: The shape of the trigger in 3D space (Sphere or Box). Below this option you may specify the size you want as either a radius (Sphere) or as Width, Depth, Height (Box).
 * Trigger Resets X Times: Specify how many times the trigger will work, where "X" is a number you input. A setting of -1 means the trigger will always work. A setting of zero means the trigger will never work (bad idea). For example: If you want to trigger a one time event, use 1.
 * Trigger Resets after X Seconds: Specify a delay before the trigger becomes "active" again (usable), where "X" is a number you input. Using zero here will make the trigger work as fast as possible.
 * Activated By:
 * Players Only: Only the player can set off the trigger.
 * All Objects: Any object passing through the trigger will set it off.
 * Linked Objects: Only object linked to the trigger will set it off if they pass through it.
 * AI Only: Only AI-controlled entities will set it off.
 * Player Vehicle Only: Only the player can set off the trigger, and only if they're in a vehicle.
 * Geomods: Only geomod occurring in a trigger bounds can set it off.
 * Key Name:
 * Team: No known function in stock Red Faction. In Dash Faction and Pure Faction servers, this option can be used to only allow activation of a trigger by members of a specific team. Only useful in multiplayer team gamemodes (TDM & CTF). Team 1 = red, Team 2 = blue.
 * Air Lock Room UID:
 * Attached to UID:
 * Use Clutter UID:
 * Button Active Time:
 * Inside Time:
 * Tickboxes:
 * Is NPC Trigger: Allows any passing AI to activate the trigger.
 * Is Auto Trigger: This check box tells the trigger to activate when the level first loads.
 * Use Key is Required to Activate Trigger: Entering the trigger area is not enough- you must use the "Use" key to activate the trigger.
 * Player Weapon Activates Trigger: The trigger can be activated by a weapon projectile flying through it.
 * Player In Vehicle: Trigger can be activated by players in vehicles.
 * Disabled: Trigger is disabled. Can be turned on by an "on" message being sent to it by another trigger, or specifically by the Invert or Switch events.
 * Always Show Range: Shows the range of the trigger in the editor, even if the trigger is not selected.
 * Is Solo: Trigger is only activated clientside for the client that activated it.
 * Is Clientside: Trigger is activated clientside for the client that activated it at the same time the server is informed it was activated. This can reduce the appearance of lag for doors and elevators.
 * Is Teleport: Basically the same as Is Solo. Intended for use with teleporters.

Trigger Event
Identical to Trigger Door except Script Name is set to "Trigger Event" by default.

Trigger Auto
Identical to Trigger Door except Script Name is set to "Trigger Auto", Shape is set to "Sphere", and Is Auto Trigger is ticked on by default.

Player Start
Spawn location for players in single player games, also the location the editor cameras get set to when you hit the Home hotkey. You can only have 1 Player Start, and by default it's positioned at the world origin (0,0,0 X/Y/Z and 0,0,0 Pitch/Yaw/Roll). If you move it/rotate it, it can be tricky to get it back there. It's usually a good idea to avoid moving the Player Start at all and just build your level around it.

Multiplayer Respawn Point
Spawn location for players in multiplayer games.


 * Script Name: Name for the spawn. Not really important for multiplayer respawn points, but can be used for organization if you wish.
 * Team ID:
 * Tickboxes:
 * Red Team: Allow the red team to spawn at this point in team games.
 * Blue Team: Allow the blue team to spawn at this point in team games.
 * Bot: Unused on PC. On PS2, was used to allow bots to spawn at this point.


 * NOTE: The team flags are respected in the Capture the Flag game mode in all cases, and ignored in Deathmatch. In Team Deathmatch, they are respected if the server is running Dash Faction or Pure Faction. If the server is running an official version, team flags on respawn points are ignored in Team Deathmatch and each player's spawn point is determined randomly as in normal Deathmatch.

Light
Lights provide illumination of level geometry in your map. When calculated, lightmaps are built based on the position and configuration of Lights.


 * Script File Name: Default value is "light". Change name to allow light values to be propagated to every light with the same script file name.
 * Light Type: You can choose between three different light types: Omnidirectional, Circular Spotlight, and Tube Light.
 * OK: Click this to confirm any changes you have made and close the dialog box.
 * Cancel: Click this to close the dialog box and lose any changes you have made.
 * Propagate Properties: This will propagate the properties of the currently selected light to all lights with the same script name as the currently selected light. This does not work if the default script name (light) is used.
 * Current Color: Displays current color of light.
 * Change Color: Displays standard Windows color selection dialog box.
 * RGB Value: Numeric RGB values of current light
 * Range: Changes the diameter of an omnidirectional light or the length of a circular spotlight and a tube light.
 * Intensity: Default if 1.00. Maximum or minimum brightness of light. Values > 1.00 will cause Over Brightening.
 * Width: Adjusts diameter of tube light.
 * FOV: Adjusts initial light radius of circular spotlight.
 * FOV Dropoff: Adjusts radius of circular spotlight dropoff cone.
 * Intensity at Max Range: Adjusts the brightness at the end of circular spotlight initial light.
 * Dynamic: Editor side only. Real time light changes.
 * Shadow Casting: Turns shadow casting on or off.
 * Is Enabled: Turns light rendering on or off.
 * Always Show Range: This will cause the light to always displays its range lines even if it's not selected.
 * Editor Only: Lights do not affect objects or entities in game. This will cause the light to only generate lightmaps for geometry.

Ambient Sound
Ambient Sounds can be used to add a level of immersion to your levels. Generally, they're used to create atmosphere in specific areas - hissing in rooms with steam, generic mechanical noises in factories, echos in caverns, etc.


 * Script File Name: Name for the ambient sound object. Primarily used for organization by level designers.
 * Sound File Name: File name for the sound to play. Must be a .wav file, and no directory path should be specified. (e.g. "Amb_Drone_02.wav). Reference the expandable section below for a list of all built-in/stock ambient sound file names.
 * Browse: Find a sound filename without having to type it in manually. Unless you have the entire contents of audio.vpp extracted somewhere, this option probably has no use to you - just type the filename in yourself.
 * Preview: Start playing the specified sound. This option works in Dash Faction's version of RED without issue, but other versions of the editor must be run with the -sound command line parameter for this option to work.
 * Stop Preview: Stop playing the sound.
 * Min Dist: Minimum distance away from the object that the player will be able to hear the ambient sound at full volume.
 * Volume Scale: Scalar for the volume of ambient sounds. You'll probably need to test out your map in-game to find the right value for this as some sounds can be overbearing if you're not careful.
 * Rolloff: Distance away from the edge of the Min Dist radius that the player will still be able to hear the ambient sound at increasingly lower volume.
 * Start delay (ms):
 * Play In Editor:
 * Always Show Range: This will cause the ambient sound object to always displays its range lines even if it's not selected.

Stock Ambient Sounds

 * Amb_Arc_01.wav
 * Amb_Arc_02.wav
 * Amb_Bubbles_01.wav
 * Amb_Bubbles_02.wav
 * Amb_Burning_01.wav
 * Amb_Burning_02.wav
 * Amb_Burning_03.wav
 * Amb_Cave_01L.wav
 * Amb_Cave_01R.wav
 * Amb_Cave_02L.wav
 * Amb_Cave_02R.wav
 * Amb_Cave_03L.wav
 * Amb_Cave_03R.wav
 * Amb_Cave_04.wav
 * Amb_Cave_05.wav
 * Amb_Cave_06.wav
 * Amb_Cave_07.wav
 * Amb_Cave_08L.wav
 * Amb_Cave_08R.wav
 * Amb_Cave_09L.wav
 * Amb_Cave_09R.wav
 * Amb_Computer_01.wav
 * Amb_Computer_02.wav
 * Amb_Computer_03.wav
 * Amb_Computer_04.wav
 * Amb_DirtFall.wav
 * Amb_Drips_01.wav
 * Amb_Drips_02.wav
 * Amb_Drone_01.wav
 * Amb_Drone_02.wav
 * Amb_Drone_03.wav
 * Amb_Drone_04.wav
 * Amb_Drone_05.wav
 * Amb_Drone_06.wav
 * Amb_Drone_07.wav
 * Amb_Drone_08.wav
 * Amb_Electricity_01.wav
 * Amb_Energy.wav
 * Amb_Energy_01.wav
 * Amb_Energy_02.wav
 * Amb_Fan_01.wav
 * Amb_Fan_02.wav
 * Amb_Fan_03.wav
 * Amb_Generator_01.wav
 * Amb_Generator_02.wav
 * Amb_Generator_03.wav
 * Amb_Industrial_01.wav
 * Amb_Industrial_02.wav
 * Amb_Industrial_03.wav
 * Amb_Industrial_04.wav
 * Amb_Industrial_05.wav
 * Amb_Industrial_06.wav
 * Amb_LavaBurn_01.wav
 * Amb_Lava_01.wav
 * Amb_Lava_02.wav
 * Amb_Quake_01.wav
 * Amb_Quake_02.wav
 * Amb_Quake_03.wav
 * Amb_Radio_01.wav
 * Amb_Radio_02.wav
 * Amb_Radio_03.wav
 * Amb_Radio_04.wav
 * Amb_Radio_05.wav
 * Amb_Radio_06.wav
 * Amb_Radio_07.wav
 * Amb_Radio_08.wav
 * Amb_Radio_09.wav
 * Amb_Radio_10.wav
 * Amb_RocketBurn_L.wav
 * Amb_RocketBurn_R.wav
 * Amb_Room_01.wav
 * Amb_Room_02.wav
 * Amb_Room_03.wav
 * Amb_Room_04.wav
 * Amb_Room_05.wav
 * Amb_Room_06.wav
 * Amb_Room_07.wav
 * Amb_Room_08.wav
 * Amb_Room_09.wav
 * Amb_Room_10.wav
 * Amb_Room_11.wav
 * Amb_Rumble.wav
 * Amb_Shield.wav
 * Amb_Steam_01.wav
 * Amb_Steam_02.wav
 * Amb_Steam_03.wav
 * Amb_Steam_04.wav
 * Amb_Steam_05.wav
 * Amb_Vent_01.wav
 * Amb_Vent_02.wav
 * Amb_Vent_03.wav
 * Amb_WaterFall_01.wav
 * Amb_WaterFall_02.wav
 * Amb_WaterFall_03.wav
 * Amb_WaterFall_04.wav
 * Amb_Water_01.wav
 * Amb_Water_02.wav
 * Amb_Water_03.wav
 * Amb_Water_04.wav
 * Amb_Water_Fall_01.wav
 * Amb_Water_Fall_02.wav
 * Amb_Wind_01.wav
 * Amb_Wind_02.wav
 * Amb_Wind_03.wav

Room Effect
Room Effects apply to the room they're placed in, and allow the level designer to set specific properties for that room. When you create a room effect, the type is set to "None". RED has 3 usable types available for Room Effects, and each has a unique purpose.

Some room types have their own specific properties, but these properties apply to all Room Effects:
 * Effect Type: Specify the type of room.
 * Room Is Cold: If ticked, players see their breath in this room.
 * Room Is Outside: If ticked, entities without envirosuit (armor) take damage over time (suffocation).
 * Room Is Air Lock: If ticked, room is treated as Outside whenever the door to the outside is open.

Sky Room
Sky boxes are a way of creating the illusion of a sky in your level. What it does is replace any faces that should be a sky with a view from inside the center of a "sky" room with cloud textures and such- usually shaped like a box in it’s simplest form. This view never moves in this sky box and there for gives the illusion of a sky being there because the rest of the level moves like it should when you walk/look around, but because the sky does not appear to move, it looks like it is very far away. A Sky box can become very complicated with many textures, layers of clouds, moon/sun objects, and other sky type things. The shape of the actual room that represents the sky may also be complicated to get different effect. The best way to make nice sky boxes is to just fool around with them and discover what works for you. The sky box room needs to be it’s own separate room. It can be made up of many brushes though.

Liquid Room
Creating liquid (like water or lava) is done using the "Room Effect" object and setting the "Effect Type" pulldown to "Liquid Room". You in essence "Fill" a room with liquid to a certain height.

The Room Effect object has several properties used specifically for liquid rooms:
 * Surface Bitmap: This is where you can select the texture you wish to use for the surface of the liquid.
 * Liquid Type: Sets the type of liquid you want to have. Lava and acid will cause the player various types of damage for instance. It also sets the type of sounds that should be associated with that liquid type.
 * Waveform: This sets the type of motion (if any) you want the liquid to have.
 * Surface Texture Pixels Per Meter: Controls tiling of the liquid surface bitmap.
 * Texture Angle: Controls the angle the liquid surface bitmap is drawn at.
 * Surface Texture Scroll Rate: Controls scrolling of the liquid surface bitmap.
 * Depth: This will say how deep the liquid is. It starts from the lowest point in the room and is measured in meters.
 * Liquid Color: This lets you specify the color of the liquid under the surface. It in effect changes the color of the volume fog.
 * Visibility: This value says how far you can see under water by changing the density of the volume fog. The value is in meters.
 * Alpha:
 * Contains Plankton: Should the liquid have floating plankton in it?

Basic Liquids Tutorial

Ambient Light
Similar to the Ambient Light property in Level Properties, Ambient Light Room Effects can be used to control the base light color applied to all surfaces in a specific room. When present, Ambient Light Room Effect settings take precedence over the Level Properties Ambient Light value.


 * Ambient Light
 * Light Color: Ambient light color and brightness for this room. Default is 40, 40, 40.
 * Change Color: Clicking on this button will bring up the standard Windows palette dialog box to use to select your ambient light value.

EAX Effect
EAX Effects apply to the room they're placed in, and allow the level designer to control the EAX sound effect used in that room.


 * Effect Type: Choose the effect preset from generic, paddedcell, room, bathroom, livingroom, stoneroom, auditorium, concerthall, cave, arena, hangar, carpetedhallway, hallway, stonecorridor, alley, forest, city, mountains, quarry, plain, parkinglot, sewerpipe, underwater, drugged, dizzy, or psychotic.

Decal
Decals project a bitmap on normal and detail geometry.
 * Script Name: Name for the decal. Primarily used for level designers to help organize.
 * Decal bitmap: Select the bitmap to be used for the decal.
 * NOTE: To avoid pixel bleeding, any textures used for decals should have at minimum a 1px fully transparent border around the entire image.


 * Alpha: No known function. (allowed range 0 - 255)
 * Box Size: Control the boundary of the decal.
 * Self-Illuminated: No known function.
 * Tiling: No known function. (options: none, U, V)
 * Scale: No known function.
 * Auto Reorient: Automatically orient the decal to the average direction of geometry surface normals the decal is projecting on.

Cutscene Camera
Cutscene Cameras are used to specify the perspective(s) and frame(s) from which a cutscene should be played. No cutscene settings are configured directly on this object, instead those settings are configured in the Cutscene event properties. Additionally, Cutscene Camera objects are used to position the camera in multiplayer while the scoreboard is visible following a new map load, or while awaiting a new map after a game has completed.
 * NOTE: Cutscene Cameras are the only object type drawn in the editor as a 3d mesh rather than a sprite (except those also rendered in-game as meshes, like clutter, items, and entities. Additionally, Cutscene Cameras and Cutscene path nodes are the only objects with no configurable properties.

Cutscene Path Node
Used exclusively for defining the path of a cutscene camera while a cutscene is playing. No cutscene settings are configured directly on this object, instead those settings are configured in the Cutscene event properties.
 * NOTE: Cutscene Path Nodes and Cutscene cameras are the only objects with no configurable properties.

Nav Point
Nav points are used by entity to determine where they go (or pathfind) a level. If you don't lay down a network of nav points in your level, entities will just stand there and not be able to move around. The key to connect two nav points is the "J" key.

If you have Show Path Node Connections turned on (from the View Menu), you will see a box around the connections between the nodes. This box will be as wide as the smallest radius of the two connected nav points. The radius of a path node will soon be used for some important functions. Namely, if a nav point is too small, than an entity with a larger radius than the nav point WILL NOT USE THAT NAV POINT in finding paths. This will allow you to have humans following paths, but APCs will not try to follow. Furthermore, when you place a nav point, you are guaranteeing that the area within the nav point radius is clear of obstructions. And even more, you are guaranteeing that the box connecting the two nav points is ALSO clear of obstructions. This means that entities can walk anywhere within the nav points and anywhere within the boxes connecting the nav points, and they can't do something stupid (like walk off a ledge or get stuck on a corner) if they stay within those bounds. Adding width to our connections between nav points will keep the AI from piling on top of each other.

If you select two nav points and keep pressing "J", you will notice that you are toggling before 4 types of connections. Let's call the two nav points "A" and "B". If you have just plopped down these two nav points, then by default, they will not be connected. In other words, no entity can walk directly from point "A" to point "B". If you press the "J" key once, then it will connect them. In other words, you are guaranteeing the AI code that an entity can walk from point "A" to point "B" and ALSO is able to walk from point "B" to point "A". However, there may be cases where you can only walk in one direction. For instance, you may have your entities walking off of a ledge to go from point "A" to point "B". But the drop is too far for them to go directly from point "B" back to point "A". In such cases, you can keep pressing the "J" key, to toggle through both "directional" connections (i.e. point "A" to point "B" OR point "B" to point "A"). This type of connection is indicated by an arrow line which connects the two nodes in addition to the box. If you keep pressing the "J" key, you will get back to the unconnected state.

Recap:
 * Initial state: no connection between point A and point B
 * Press J once : entity can go from point A to point B AND from point B to point A
 * Press J twice: entity can only go from point A to point B
 * Press J thrice: entity can go only from point B to point A
 * Press J four+ times: go back to "no connection" and loop back through the possibilities

Here's an important restraint. Do not cross the streams. Why, you ask? Because that...would look bad. Entities will wind up following non-optimal paths if connections between nav points were to cross. When I say "cross", I mean, do not form an "X" on the ground without having a new nav point at the center of the "X".

Waypoints
The all important key for setting up waypoints is "CTRL + W". It only works in object mode. The new method for creating a waypoint list is the following. You place all of your nav points. Then you select the nav points you want to make into a waypoint list IN ORDER of how you want the entity to follow that path. Then you press CTRL + W. This will create a waypoint path with no name. A window will pop up which allows you to change the name of the waypoint list and to add and remove nav points from the waypoint list.

If the waypoint had a pause time associated with it, then the new nav point will ALSO have a pause time associated with it. Pause times associated with nav points ONLY apply to entities that are at that are using that nav point AS A WAYPOINT. In other words, you cannot assign a pause time to a nav point and expect an entity to pause at that nav point as it is doing its regular pathfinding. The pause time only affects entities using the nav point as a waypoint.

If you want to modify an existing waypoint list, then make sure that you have no objects selected. THEN press "CTRL + W". You will see a list of existing waypoint lists. Select the waypoint list that you want to modify and press OK. You will now get the same window that popped up when you created the waypoint list in the first place. Again, you will be able to modify which waypoints are in the list and which are not.

Note that a given nav point can be used by several waypoint lists. However, if you have a pause time associated with the nav point, it will affect all waypoint lists that use it.

Events
The event/scripting system for Red is very powerful, yet easy to use. The basic philosophy behind it is that you LINK a TRIGGER to an EVENT(s). This system is very versatile and will let you create an almost unlimited number of special scripted sequences.

An "Event" is a basic game action that occurs when it receives either an On and/or Off message. On messages can be sent from triggers, objects, or they can be received from other Events. Off messages are sent from the off state of events like the Switch Event, or are sent through an Invert Event. Most Events only respond to On messages (since most Events do a single thing which doesn’t need to be stopped with an Off message). Events must be linked to the trigger source so they know when to trigger. You link a trigger and event together by using the objects unique id number, or by just selecting the first object, then the second object, and hitting the "K" hot-key.

Events can also be linked to other Events to set up a "Chain reaction" of event all triggered from one source. For example, you might have a trigger which links to a Play_Sound Event (which plays a scream), and the Play_Sound Event could link to a Play_Animation Event (which plays an animation of an AI holding his head in agony).

All Events have an optional delay associated with them, which you can specify in the Event properties (CTRL-P or by right clicking over the selected event and selecting "Properties" from the pop-up menu). This will delay the action of the event by the specified amount of time, after an On or Off message is received.

Events can link to other objects, which is used to tell the Event which objects to affect. Each Event affects their linked objects in different ways, so refer to the Event list below for a detailed description of each event. The link HAS to go from the event to the object for it to work- even if the object is being used at the "trigger"!

Event Types

 * See RED Event List for a comprehensive list of event types and their functions.

Properties
Most event types have additional available options, but these are available for all event types:
 * Event Type: Event type, will always be one of the available event types.
 * Script Name: Name for event. Primarily used for level designers to help organize their events.
 * Delay (seconds): Delay in seconds this event will fire after its triggered. For example, specifying a delay of 0.5 in this field will mean that the event's action will happen 500ms after it was triggered.
 * Change Color: Open color selection dialog. Event colors have no functional purpose and are used only for helping level designers organize their events.
 * Links: Open the Object Links dialog, where you can add and delete link entries. This window controls other objects to which this event links (Event->Other Object).

Entity
Entities include all characters, vehicles, turrets, and cameras in the game.

Entity Types

 * Creatures
 * baby_reaper
 * bat
 * Big Snake
 * fish
 * mutant1
 * mutant2
 * reeper
 * Rock Snake
 * Sea_Creature
 * Miners
 * eos
 * miner1
 * miner2
 * miner3
 * miner4
 * parker_sci
 * parker_suit
 * Robots
 * admin_bot
 * Auto Turret
 * Auto Turret Head
 * camera2
 * Cutter
 * Drone
 * Grabber
 * Meca Turret
 * multi_grabber
 * Spike
 * Stationary Turret
 * Stationary Turret_Plain
 * Tankbot
 * Ultor
 * admin_fem
 * admin_male
 * admin_male2
 * Capek
 * comp_tech
 * elite
 * env_guard
 * env_scientist
 * guard1
 * guard2
 * masako
 * medic
 * merc_com
 * merc_grunt
 * merc_heavy
 * multi_civilian
 * multi_female
 * multi_guard2
 * multi_merc
 * nurse1
 * riot_guard
 * tech1
 * ult_scientist
 * Vehicles
 * APC
 * Driller01
 * Fighter01
 * Jeep01
 * masako_fighter
 * sub
 * Transport
 * Transport_rockets

Entity Options

 * Class Name: What entity class this entity is (from entity.tbl). The list of entity classes is accessible in the editor via the "Entity" tree in the Object list.
 * Script Name: Name for entity. This is used primarily for the designer to help organize entities.
 * AI Mode: Default AI behavior for the entity:
 * Catatonic: Entity will not react to anything in the world.
 * Waiting: Entity will react to enemies that are seen, and will react to sounds (if not flagged as Deaf)
 * Waypoints: Entity is following waypoints (waypoint list is specified via Waypoint List field described below, or through a Follow_Waypoints Event)
 * Collecting: Entity is picking up and collecting clutter (usually rocks) and dropping them off at a specific location. This is currently used for grabber robots that collect rocks and deposit them in rock crushers.
 * Motion Detection: Entity will attack any moving objects that it has line of sight to. This is currently used for unmanned turrets.
 * AI Attack Style:
 * Default: Entity will use attack style specified in entities.tbl
 * Evasive: Entity will move evasively while attacking target.
 * Direct: Entity will move directly towards target when attacking.
 * Stand Ground: Entity will stay rooted to it's current position while attacking, and will not pursue targets.
 * Min Attack Dist: The distance that an entity must be to a target to open fire (in meters). For example, if you only wanted an enemy to open fire if within 10 meters of a target, then specify 10 for the min attack dist.
 * FOV: Field-of-view for the entity. The default FOV for the entity is specified in entity.tbl ($FOV), but you can adjust it here to simulate an entity being having reduced peripheral vision.
 * Life: The hit points for the entity. The default value is their max life.  You can reduce the life of an entity to simulate the entity being injured, or to make certain scripted sequences work better (e.g., you want an entity to die after being hit once).
 * Armor: Specify the amount of armor an entity has. Default is shown in the "Max" field. Cannot exceed the max points
 * Cooperation: Currently not used.
 * Friendliness: Alignment for this entity.
 * Unfriendly: Entity will attack the player or any other friendly entity on site
 * Neutral: Entity will not attack the player or any entity unless provoked.
 * Friendly: Entity will not attack any entity flagged as unfriendly.
 * Outcast: Entity will attack any entity and be attacked by any entity regardless of its friendliness.
 * Default Primary: Weapon class (from weapons.tbl) that the entity is using for a primary weapon.
 * Default Secondary: Weapon class (from weapons.tbl) that the entity is using for a secondary weapon. Currently only vehicles and some robots utilize secondary weapons.
 * Use Custom Attack Range: Set this flag to give an entity an minimum attack distance different from what is specified in entities.tbl. The new minimum distance (in meters) is specified in the field to the right of this flag.
 * Item Drop: Item class name (from items.tbl) that the entity will drop when killed.
 * State Anim: Animation state that entity is forced to be in. State animations are looping, so the entity will remain in this animation state until attacked or given scripted instructions.
 * Show State Anim: Set this flag to show the state anim in the editor.
 * Corpse Pose: If specified, entity will be created as a corpse in this position. This is how corpses are placed by the designer.
 * Death Anim: Death animation that is forced to play when entity dies.
 * Skin: Texture set to use for the entity. When you place an entity, a random skin is selected.  Alternate skins are specified in entity.tbl ($Skin).
 * Team ID: Currently not used.
 * Waypont List: If you have set an entity's AI Mode to be "waypoint", you must specify the name of the Waypoint List here.
 * Run: Set this flag to have an entity run through its Waypoint List.
 * Waypoint Method: How the entity should follow waypoints
 * One Way: Entity will go through its waypoint list once then stop at the last waypoint.
 * Loop: Entity will go from the beginning of waypoint list to end and back to the beginning and will repeat this behavior until triggered to do something else.
 * Ping Pong: Entity will go from the beginning of its waypoint list to the end the it will go back to the beginning of its waypoint following the waypoints in reverse order. It will continue this behavior until triggered to do something else.
 * Path Follow Style: Currently not used.
 * Sweep Min/Max Angle: This is used by entities that sweep back and forth as part of their default behavior (security cameras, motion detecting turrets). The angle is specified in degrees, and is relative to zero degrees.  The min angle must always be less than the max angle.
 * Turret UID: If specified, this is the UID for a turret that the entity should be attached to (i.e., is using).
 * Alert Camera UID: If specified, this entity will be alerted to the player when the specified camera sights the player. This is used to simulate guards being alerted to the player via security monitors.
 * Alarm Event UID: Specify the UID of an alarm event for an AI to run to so it can set off the alarm.
 * Left Hand Holding: Select a clutter object for an entity to hold in its left hand from this pull-down list
 * Right Hand Holding: Select a clutter object for an entity to hold in its right hand from this pull-down list

Entity Flags

 * Only Attack Player: Entity will only attack the player. It will never attack other AI, even if attacked.
 * Weapon Is Holstered: Entity has weapon holstered by default. The weapon is still available for the entity to use, but it must be unholstered first.
 * Ready To Fire State: Entity is posed in a ready to fire animation state.
 * Ignore Terrain When Firing: Entity doesn't do collision detection with terrain when deciding to fire on targets, once target is sighted initally through line of sight. This is useful for large turrets or other weapons which you want to keep firing even if the player is hidden by cover.
 * Perfect Aim: Set this flag if you never want an entity to miss.
 * Never Collide with Player: Set this flag to turn off player collision with an entity.
 * Start Hidden: Entity is hidden. This means the entity isn't visible.  No AI or physics of any kind is applied to the entity.
 * Cower From Weapon: Entity will flee and cower if it sees an entity of different friendliness with an unholstered weapon.
 * Question Unarmed Player: Entity will question the presence of the player if he is unarmed.
 * No Persona Message: Set this flag on an entity so it will not give a response if the player walks up to that entity and presses "Use".
 * No Hum: Set this flag if you do not want an idle entity to literally "hum" a little tune.
 * Never Flee: Set this flag so an entity will never run away from a fight.
 * Never Leave: Set this flag on a vehicle entity so the player cannot exit a vehicle.
 * Always Simulate: Set this flag on an entity so it will be simulated even when it is not being rendered.
 * Permanent Corpse: Set this flag on a entity so its corpse will never disappear.
 * Fade Corpse Immediately: Set this flag on entity if you want its corpse to fade quickly after dying.
 * No Shadow: Set this flag on entity and it will not cast a shadow.
 * Deaf: Entity does not hear, so it will not investigate or react to sounds.
 * Boarded (vehicles only): Entity is boarded. This is used to indicate that vehicles are manned by AI.
 * Wear Helmet: Entity wears a helmet if one is defined for that entity class in entity.tbl ($Helmet V3D Filename).
 * End Game If Killed: Game ends if this entity is killed. When the entity is killed, the game cuts to a black screen with scrolling text.  The scriptname of the entity determines what text is displayed.  The text for various scriptnames is defined in endgame.tbl.  This means that you must have a unique scriptname for an entity that has this flag set.
 * Start Crouched: Entity begins crouched.

Item
Items include all weapons, ammo, health, armor, powerups, and CTF flags.


 * Class Type: Item class name from items.tbl
 * Script Name: Name for item. Primarily used for level designers to help organize.
 * Count: How many of the item should the player be given? Defaults specified in items.tbl.
 * Respawn Time: Delay in seconds between when the item is picked up and when it respawns. Defaults specified in items.tbl.
 * Team ID: No known function.

Item Types

 * Weapons
 * Assault Rifle
 * flamethrower
 * grenades
 * Handgun
 * heavy machine gun
 * Machine Pistol (Submachine Gun)
 * rail gun
 * Remote Charges
 * Remote Charge
 * riot shield
 * Riot Stick (Control Baton)
 * rocket launcher
 * scope assault rifle (Precision Rifle)
 * Shotgun
 * shoulder cannon (Fusion Rocket Launcher)
 * Silenced 12mm Handgun
 * Sniper Rifle
 * Ammo
 * .50cal_ammo (Sniper Rifle)
 * 10gauge_ammo (Shotgun)
 * 12mm_ammo (12mm Pistol or Submachine Gun)
 * 5.56mm_ammo (Assault Rifle)
 * 7.62mm_ammo (Heavy Machine Gun)
 * explosive 5.56mm rounds (Precision Rifle)
 * Napalm (Flame Thrower)
 * railgun_bolts (Rail Driver)
 * riot_stick_battery (Control Baton)
 * rocket_launcher_ammo (Rocket Launcher)
 * Health
 * First Aid Kit
 * Medical Kit
 * Multi Super Health
 * Armor
 * Suit Repair
 * Miner Envirosuit
 * Multi Super Armor
 * Powerups
 * Multi Damage Amplifier
 * Multi Invulnerability
 * Misc
 * base_blue
 * base_red
 * flag_blue
 * flag_red
 * Brainstem
 * CTF Banner Blue
 * CTF Banner Red
 * Demo_K000
 * Doctor Uniform
 * keycard

Target

 * Script Name: Name for the target. Primarily used for organization by level designers.

Keyframe
The editor uses keyframes as the method for animating how moving groups move. They are a way to tell the game engine where the mover should go and in what order. You also use the keyframes to tell the mover how fast to go to the next keyframe, if the mover should reverse or start the process over when it finishes, and other such information.

Properties

 * Is Door: Set this flag for a Translating or Rotating Mover that's used as a door so it will block visibility when it's closed. A door is considered "closed" then the mover is at the the gold keyframe.
 * Start Moving Backwards: This flag causes a translating mover to start at its last keyframe and go backwards through the keyframe list. On a rotating mover, it will start at its final position.
 * Rotate In Place: Set this flag for creating a Rotating Mover.
 * Use Travel Time as Velocity: This flag uses the values in "Departing Travel Time" and "Return Travel Time" to set a mover's speed (meters per second).
 * Force Orient: Not Supported.
 * No Player Collide: This flag causes the mover to not do collision detection.
 * Propagate Sounds: This will make all keyframes that have the same script name as the currently selected keyframe have the same sounds. This will not affect keyframes with the script name of "keyframe".
 * Propagate Properties: This will make all keyframes that have the same script name as the currently selected keyframe have the same properties. This will not affect keyframes with the script name of "keyframe".
 * Stop Sounds: This will cause all looping sounds that have been activated by a "Preview" button to stop playing.
 * Movement Type: Defines the movement behavior for the keyframe list. The movement types are explained below:


 * Starting Keyframe: This will determine the keyframe a mover will start at. This does not affect rotation movers. Also used conjunction with the "Preview" button to show a mover at a specific keyframe in the editor.
 * Preview: This will show the mover (in the editor) at the keyframe specified in "Starting Keyframe".
 * Start Sound: This is the sound that is played when a mover starts moving.
 * Looping Sound: This is the sound that is played when a mover is moving between any keyframes in it's keyframe list.
 * Stop Sound: This is the sound that is played when a mover either stops or pause at a keyframe.
 * Close Sound: This is the sound that is played when a mover that is flagged as a door reverses direction.
 * Volume: Each value will set the volume for the respective sounds. Default is 1.00
 * Preview: Click this button to preview the respective sound in the editor. This only works if you have extracted the sounds from the audio.vpp file.
 * Script Name: Enter a custom script name to allow sounds and properties to be propagated to other keyframes with same custom script name.
 * Pause Time: This sets the time a mover will pause at the currently select keyframe. This only works on silver keyframes.
 * Departing Travel Time: This is the time it will take a mover to go from the currently selected keyframe to the next keyframe.
 * Return Travel Time: This is the time it will take the mover to go from the previous keyframe to the currently selected keyframe.
 * Acceleration Time: This is the time it takes the mover to reach maximum velocity.
 * Deceleration Time: This is the time it will take the mover to reach zero velocity.
 * Trigger Event with UID: You can specify an event's UID so that when the mover reaches this keyframe, it will send a turn-on message to the event.
 * Contains Item UID(s): If you create a container (like a locker or crate), you have to specify the UID(s) of the object(s) here so the item(s) cannot be picked up until the container is opened.
 * Degrees About Axis: This is where you specify the amount a rotating mover rotates.
 * OK: Click this to confirm any changes you have made and close the dialog box.
 * Cancel: Click this to close the dialog box and lose any changes you have made.