QdQ Triggers
An explanation of how to examine the trigger machinery of Quake using the QdQstats mod.



There are two parts to the trigger mod: visible triggers, and trigger info. Use impulse 211 to toggle visible triggers. The triggers it makes visible are: trigger_once, trigger_multiple, trigger_secret (as long as these aren't NO_TOUCH), trigger_teleport, and trigger_onlyregistered. Most triggers have the trigger texture on them, like these in the first hall of e1m1 on easy or normal skill.

There are a few triggers that don't have the trigger texture on them though, one example is the trigger_teleport in start that takes you back to the first room.  It has the sky texture instead.  Also, some of the triggers will appear completely black, unless you shoot near them.  This is because the lights that light the surrounding area are inside the trigger and don't light it.

Use impulse 212 to toggle trigger info, which tells you what happens when you touch triggers.  That's a misleading name, since it also tells you what happens when you push/shoot buttons, pick up items and kill monsters.  Here's some examples to understand the trigger info:

When you push the first button in e1m1, this is what it says:

Button [Reset in 1]: door

The first thing that is printed is the name of the entity that is targeting other entities, in this case a button. This could be things like "Trigger", "silver key", or "Grunt". If this is a Button or a Trigger that can be activated more than once, it prints how long until you can use it again, in this case one second. Whatever follows was used by the first thing, in this case a door. Most events just use their targets, but some kill their targets (or both), entities that are killed are always inbetween braces. The top trigger in the graphic above says this when you touch it:

Trigger: Kill {Trigger}
The Trigger that it killed is the one right below it which centerprints "you can jump up here" but has no targets. When you touch the bottom trigger, you won't get any info. Note that Triggers that don't have a "[Reset in x]" remove themself when you activate them.

These have been very simple examples. A more complex example is when you shoot the second switch at the start of e2m2 on easy skill. It says this:

Button: Counter [Activated: door, Kill {Trigger}], Fiend, door
Whenever an event targets a Counter, it prints info about it in brackets so you separate what it does from the rest. If the counter has to be used more than once to be activated, it says how many more times it needs in the brackets. In this case, the counter targets a door and kills a Trigger.

There are also delayed events. As you fall down near the start of e1m6, you touch a trigger that says this:

Trigger: delay of 3
Three seconds after you touched it, the trigger activates and this is printed:
Delayed event: 8 doors
So, this trigger waits three seconds and then targets eight different doors.

There are other kinds of delayed events too. When you touch the trigger that's in the final area of e2m6, this is printed:

Trigger: delayed events in [3, 6], door, Shambler
[3 seconds later...]
Delayed event: Shambler
[3 more seconds later...]
Delayed event: door
So, as soon as you touch the trigger, a door closes you in, and a shambler teleports in. Three seconds later, another shambler comes in, and three more seconds later (which would be six seconds after you touched it) the "slowest platform in the world", as dubbed by the QdQ team, starts moving down.

In case you never knew where those triggers were (you probably didn't...) now you can find out, and know just what's going on in those Quake levels. You should be able to use this to look at the triggers in any user level that doesn't have custom qc, but I only tested it in the id levels. If you find a strange problem in a user level, let me know. The code for this is a real mess, so I doubt it's perfect.

- Nolan