DLE - Trigger Tool
(image not found)

The triggers tool allows to add and delete triggers, quickly find their related objects (walls, cubes and segment sides), and to see and change trigger properties. There is not much else to say here.

Trigger tool controls

  1. Add a wall of appropriate type when adding a trigger to a segment's side that doesn't have a wall.
  2. Delete all triggers from marked sides or from the entire mine if no side marked.
  3. Copy a trigger's target list, or paste a copied target list to the current trigger.
  4. Easily add certain standard trigger types.
  5. Add the current side to the target list or delete it from the target list


Like the wall tool, the trigger tool will remember the properties of the last trigger selected. If adding a new trigger, that previous wall's properties will be assigned to the new wall. Using this feature properly can save a lot of time when adding similar walls, as their properties will not have to be set manually. This function does not copy the previously selected trigger's target list; use the copy/paste commands for that.

Teleport Triggers

Teleport triggers immediately send the player to another segment when passed. The destination segment and the direction the player faces at the destination are determined by the trigger's target segment and side: The segment is the destination segment, where he will appear facing the target side. If a teleport trigger has several destinations, D2X-XL will chose a destination randomly every time the teleport is triggered.

Teleport triggers attached to a robot work differenty: They send the robot to one of the trigger's destination segments (randomly chosen) if the robot gets damaged and its shield drop below the specified damage threshold. You should only make this trigger permanent if you want the robot to start warping away every time it is hit once it has been damaged enough.

Speed Boost Triggers

Speed Boost Triggers speed up the player when passed and send him to a certain direction. The direction is determined by the vector from the trigger's 'parent' side's center (i.e. the segment side it sits on) to the target segment's target side's center. The target segment and side should be chosen so that there are no obstacles in the way of the player. The speed increase can be set with the speed boost slider in the range from 10% to 100%. When a player passes a speed boost trigger, he will be accelerated and travel into the direction enforced by the trigger until he passes another speed boost trigger. That speed boost trigger may change speed and direction of the player ship by specifying a new boost and destination side, or end the speed boost if it does not have a target segment and side. There can be an arbitrary number of cubes between the speed boost launch and speed boost end trigger - just make sure there are no obstacles in the player's way, as the regular flying controls are disabled when speed boosted.

To support construction of speed boost areas, DLE offers two new segment types "Speed Boost" and "Blocked". These segment types allow to create speed tunnels w/o closed walls surrounding it (so the player could theoretically manage to leave the speed boost tunnel - well, not just theoretically, this can actually be done). If a speed boost trigger is attached to the side of a speed boost segment, the player can leave that segment only through a side with another speed boost trigger or with an adjacent speed boost segment. Think of invisible walls between speed boost and other cubes.

If speed boost cubes are not desirable (e.g. because the speed boost tunnel is meant to have an additional function, like charging the players fuel cells), the speed boost tunnel can instead be surrounded by blocked cubes. These cubes are impassable and have the additional property of never being used as a spawn location for powerups.

See my level Glass House for an example how to build speed boost areas.

Camera Triggers

Camera triggers allow you to create displays of what's going on elsewhere in the level, or mirror effects. Think of sticking a camera on the wall you are placing a camera trigger at, recording everything it sees and sending it to all destination cubes and sides the trigger has. Be aware that cameras have a pretty hefty frame rate hit though. To make a camera display look neat, let it be square and chose 'stretch to fit' for the chosen segment side in the texture tool. You can also use cloaked or transparent walls for monitors: This allows you to place a regular textured and aligned wall behind them. If cameras are turned off, this will let the level still look neat. Alternatively to camera triggers stuck to walls you can also use the much neater camera objects, that will also allow you to produce moving views on a monitor.

D2X-XL currently supports two monitor formats: Full screen and wide screen. Actually the latter shows more at the expensive of producing stripes above and below the image. Full screen clips the monitor output at the vertical sides of the target texture to make the monitor fit the entire segment side.

This still depends on the target side's dimensions though: If you dimension the monitor sides with the same side ratio as your screen (4:3 for regular monitors), you can have a wide screen image filling exactly the target side.

You can create monitor bezels by putting a frame-like texture with transparent interior as overlay texture on the monitor side. In that case, D2X-XL will render the monitor output to the underlying base texture. D2X-XL does however not check for the dimensions of a gap in a partially transparent overlay texture forming a bezel, so if you use one, a part of the underlying monitor image will be hidden by it.

Disarm Robots

Disarm triggers will cause robots to stop firing at players. The robots' object numbers must be specified in the triggers target list. Use the robot number in the place of the segment id and zero as side number.

Reprogram Robots

Reprogram robot triggers will cause robots to ignore players and fire at other nearby robots. The robots' object numbers must be specified in the triggers target list. Use the robot number in the place of the segment id and zero as side number.

Shake Mine

Shake mine triggers cause the mine to shake similar to when an earth shaker missile explodes. The duration is given in the trigger's time input field in seconds and the strength of the effect is specified in the trigger's strength input field.

Object Triggers

Object triggers are attached to robots instead of walls. Each robot can have several triggers attached to it, all of which will be operated when the robot is destroyed. Apart from that, object triggers work exactly like wall triggers.

Countdown Triggers

Countdown triggers can be attached to reactors to have them start the mine destruction countdown even if there are other reactors or boss robots in the level. You can assign an individual countdown time to a reactor by entering the desired time in seconds in the trigger's time input field. The last reactor that is destroyed will however always use the level's default countdown time - that way you can be sure that the player will always have enough time to escape even if you chose to create a situation where a player has to destroy several reactors within a very short time span (to do that, just assign a countdown trigger with a low time to each reactor. Whenever the player destroys such a reactor, the countdown will be restarted, using that reactor's countdown time. Only for the last reactor the level's countdown time will be used. That way, the player would have to destroy each reactor very quickly, but could have more time to escape after destroying the last one).

Of course, you can attach countdown triggers to robots or even to regular walls where they get triggered when passed or shot at.

Robot Spawn Triggers

Robot spawn triggers are meant to be attached to robots and work in conjunction with a damage threshold. Once the damage threshold is reached, the robot will start to spawn robots everytime it is damaged, just like some boss robots already do.

You can control the type of robots that are spawned by assigning the segment and a side number of a segment containing a robot generator. In that case, one of the robot types specified for that robot generator is randomly chosen for the spawned robot. This will work regardless of the robot generator having been activated or being exhausted. You can even create a completely separate robot generator that is not connected to the rest of the level just for controlling a spawn trigger. If you do not specify a robot generator, a robot type will be randomly chosen from all available Descent 2 robot types.

Make sure to make the trigger permanent to have it work all the time and not just once. Regard that robot spawn triggers only work with boss robots.

Spawn Point Triggers

Spawn point triggers have the purpose to change the spawn locations for all players in the mine once a player passes a certain location. This comes handy in huge missions to save the player from having to fly a long way back to where his ship got destroyed after respawning, or if certain level areas get blocked once players pass some location in the level.

Each entry in the trigger's list of segments and sides specifies one spawn point. The first entry relates to the first (local) player, the second to the second player, etc. If there are more player positions than entries in the trigger list, D2X-XL will start over with the first entry from the list until new spawn points for all players in the mine have been set.

The side specifies where a player is facing when respawning at such a spawn point. Players will always spawn in the center of a spawn location set by a trigger, so it is a good idea to specify different spawn points for each player in the mine.

Message Triggers

Activating a message trigger makes D2X-XL display a message. Put the message id in the msg # field and the number of seconds the message should be displayed in the time field of the trigger. Specifying a negative number here will cause D2X-XL to display the message and halt the game until the player presses the Escape key or clicks on the message's 'close' button.

A level's messages have to be placed in a file named <level file name>.msg in the hog file. Each message has to be preceeded by the message id, followed by a colon. To create a multi-line message, insert '\n' sequences as linebreaks. Here is an example:

    1:Message 1
    2:Message 2
    4:Message 4

Sound Triggers

Sound triggers cause D2X-XL to play a sound from a wav file. Put the sound id in the sound field and the number of sound loops in the time field of the trigger. A negative value will cause the sound to be played forever.

A level's sound file names have to be placed in a file named <level file name>.snd in the hog file. Each sound file name has to be preceeded by the sound id, followed by a colon. Here is an example:


Master Triggers

Master triggers activate other triggers in the mine. Just add the segments and sides of the triggers to be activated to the master triggers segment&side list. If the master trigger is a fly through trigger and you want it to be disabled after it has been activated, check the trigger's "one shot" flag. If the master trigger is attached to a panel and you want it to remain permanently operable, check the trigger's "permanent" flag. Make sure to set the "permanent" and "alternating" flags properly for a permanent master trigger's slaves.

The value field of master triggers acts as a semaphore: The master trigger will only be activated when its value is zero or negative. That allows you to use the master trigger to trigger events that should only occur after several other events have happened. To do that, set the value to the number of events to happen. Each of these events should operate an enable trigger targetting the master trigger. The enable trigger will count the value down. Once all events have taken place, the value will reach zero and the master will be enabled and can now be operated. To operate it automatically once the value reaches zero, set the master trigger's autoplay flag.

A good way to set a master trigger's slaves up is to create a separate area in the level that is inaccessible for the player and put the slave triggers at that area's segments' sides.

Delayed Triggers

Except with message, countdown and sound triggers, each trigger can be delayed. A delayed trigger will only be operated after a certain amount of time since its activation has passed. The time can be entered in the "time" input field and is in milliseconds (1/1000s, 1 ms). Valid delays are between 100 ms and 15 minutes (900000 ms). A negative value (between -100 and -900000) denotes a random delay. Random delays can be anywhere between 1/10 of the specified time and the specified time and is determined in 10 percent steps (i.e. you get a delay of 1/10, 2/10, ... or 10/10 of the specified time).

Directed Exit Triggers

Direct exit triggers send the player passing them to the level specified in the "dest" field. This level can be any level in the mission. Level counting starts with one (1), so to send a player to the fifth level of a mission, use "5" as destination. This allows for arbitrary mission structures including branches and loops.

Trigger Flags

One shot is meant to be applied to fly through triggers which normally are permanently operable. If "one shot" is set for such a switch, it gets disabled after it has been operated.

Permanent is meant to be applied to switch panels that normally get destroyed when shot. If "permanent" is set for such a switch, it doesn't get destroyed.

Alternate means that if triggered, a switch is turned into its opposite (an unlock door switch is e.g. turned into a lock door switch). Making switches attached to control panels alternating only makes sense if also making them permanent, as otherwise the switch will be disabled when its control panel gets destroyed, turning it inoperable.

Set orient affects the operation of speed boost triggers. If such a trigger has 'set orient' checked, it smoothly turns a ship passing it so that it's direction is perpendicular to the plane of the segment side the trigger is attached too. That way you can make a ship pass through a long speed boost area with twists and turns and always face the movement direction. See my level 'Lunar Outpost Reloaded' for an example.

autoplay denotes a trigger that is automatically operated by D2X-XL. Autoplay triggers must either not be permanent or delayed. D2X-XL will start to operate autoplay triggers after loading a level. See my level "Styx (D3)" for an example.