]> de.git.xonotic.org Git - xonotic/xonotic-maps.pk3dir.git/blob - scripts/entities.def
Merge branch 'master' of git://git.xonotic.org/xonotic/xonotic-maps.pk3dir
[xonotic/xonotic-maps.pk3dir.git] / scripts / entities.def
1 /*QUAKED _skybox (0.77 0.88 1.0) (-4 -4 -4) (4 4 4) 
2 Compiler-only entity that specifies a the origin of a sky box (a wholly contained, separate area of the map), similar to some games' portal skies. When compiled with Q3Map2, the sky box surfaces will be visible from any place where sky is normally visible. It will cast shadows on the normal parts of the map, and can be used with cloud layers and other effects. As it is compiler-only, it can't "scale up" entities in its box.
3 To use this, carve a small box in some larger structure on your map, place this entity inside that box hole, and make a small version on what should be seen in the sky there.
4 -------- KEYS --------
5 angle: rotation angle of the sky surfaces.
6 angles: Individual control of PITCH, YAW, and ROLL (default 0 0 0).
7 _scale: scaling factor (default 64), good values are between 50 and 300, depending on the map.
8 */
9
10 /*QUAKED _decal (1.0 0.77 0.88) ?
11 Compiler-only entity that projects a surface (which must be a patch mesh) in a direction (which is given by the vector from the center of this entity to the "target" entity)
12 -------- KEYS --------
13 target: the entity to be targeted by the projection
14 -------- NOTES --------
15 This entity MUST contain one or more patch meshes.
16 The shaders of these patches SHOULD have the "polygonoffset" shader keyword (or you will get insane z-fighting).
17 The targeted entity is preferably an info_null.
18 The projection is a linear projection, and originates from the center of this entity (the start of the arrow line in Radiant) to the origin of the targeted entity (the end of the arrow line in Radiant).
19 */
20
21 /*QUAKED dom_controlpoint (.3 .3 1) (-16 -16 -16) (16 16 16) 
22 Domination  control point
23 In order to get Domination working well in your map, you need to place dom_team and dom_controlpoint entities.  You *must* have at least 3 dom_team entities - 2 minimum teams and one blank one (empty netname and no team).  You can have up to 4 teams (5 dom_team entities).
24 -------- KEYS --------
25 message: message to be displayed to all players when this point is captured, preceded by the team's name.  This defaults to " has captured a control point".  You can specify different names for each point, for example " has captured the Lava Room".
26 wait: How often this point gives its controlling team frags.
27 frags: How many frags this point gives each wait cycle.
28 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
29 zbqry="zbqryf/qbzvangvba/qbz_hapynvzrq.zq3"
30
31 */
32
33 /*QUAKED dom_team (.3 .3 1) (-16 -16 -16) (16 16 16) 
34 Domination team.
35 In order to get Domination working well in your map, you need to place dom_team and dom_controlpoint entities.  You *must* have at least 3 dom_team entities - 2 minimum teams and one blank one (empty netname and no team).  You can have up to 4 teams (5 dom_team entities).
36
37 dom_team entites declare the teams (and the models the team uses) that are available in the domination game. Their position does not matter.
38
39 model should be set to models/domination/dom_<team>.md3, where <team> is either "red", "blue", "yellow", or "pink".
40 -------- KEYS --------
41 netname: name of team (Red Team).  Set to "" or don't define for the required blank team.
42 cnt: color of the team.  See the "Helpful Extras" section in Docs/mapping.txt for info.
43 model: When this team captures control points, the points turn to this model.  If this is the neutral team, points start out as this model.
44 noise: Sound to be played on the control point when it's captured.  Only players nearby will hear it.
45 noise1: Sound to be played to all players when the control point is captured.  Also good for an announcer voice ("Red Team has captured a control point")
46 */
47
48 /*QUAKED func_assault_destructible (.5 0 .5) ? - - - - - - - - NOSPLASH
49 This is a brush model which can be damaged. Once triggered it's active and will happily receive damage players inflict upon it. Once all health is consumed it'll disappear and trigger the targeted entity/entities. As damage is received the brush model will be tinted in an increasingly visible flavor of red to give visible feedback.
50 -------- KEYS --------
51 health: The damage this trigger can take
52 target: The entity/entities to be triggered once this entity gets invisible
53 targetname: The name other entities can use to target this entity
54 mdl: particle effect name to show when destroyed
55 count: particle effect multiplier
56 mdl_dead: optional replacement model to show when destroyed
57 debris: names of debris models to show when destroyed, separated by spaces
58 noise: sound to play when destroyed
59 dmg: damage to deal to the environment when destroyed
60 dmg_edge: edge damage to deal to the environment when destroyed
61 dmg_radius: damage radius
62 dmg_force: damage force
63 message: death message when a player gets hit by the explosion
64 message2: death message when someone gets pushed into this (default: "was pushed into an explosion by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
65 debrismovetype: way in which the debris moves: one of 1 = ANGLENOCLIP, 2 = ANGLECLIP, 3 = WALK, 4 = STEP, 5 = FLY, 6 = TOSS, 7 = PUSH, 8 = NOCLIP, 9 = FLYMISSILE, 10 = BOUNCE, 11 = BOUNCEMISSILE
66 debrissolid: solidity of the debris: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE
67 debrisvelocity: initial velocity vector of the debris (static part)
68 debrisvelocityjitter: initial velocity vector of the debris (random part)
69 debrisavelocityjitter: initial angular velocity vector of the debris (random part)
70 debristime: time till the debris fades (average)
71 debristimejitter: time till the debris fades (random part)
72 debrisfadetime: how long debris takes to fade
73 debrisdamageforcescale: how much debris is affected by damage force (e.g. explosions)
74 debrisskin: skin number of debris
75 -------- SPAWNFLAGS --------
76 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
77 */
78
79 /*QUAKED func_assault_wall (.5 0 .5) ?
80 Brush model that will disappear once the targeted target_objective is fulfilled. This can be used to restrict access to parts of the map until a certain objective has been conquered.
81 -------- KEYS --------
82 target: targetname of a target_objective
83 */
84
85 /*QUAKED func_bobbing (0 .5 .8) ? X_AXIS Y_AXIS
86 Solid entity that oscillates back and forth in a linear motion. By default, it will have an amount of displacement in either direction equal to the dimension of the brush in the axis in which it's bobbing. Entity bobs on the Z axis (up-down) by default. It can also emit sound if the "noise" key is set. Will crush the player when blocked.
87 -------- KEYS --------
88 speed: amount of time in seconds for one complete oscillation cycle (default 4).
89 height: sets the amount of travel of the oscillation movement (default 32). 
90 phase: sets the start offset of the oscillation cycle. Values must be 0 < phase < 1. Any integer phase value is the same as no offset (default 0).
91 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).
92 dmg: damage a player who gets crushed by it receives
93 dmgtime: interval to apply dmg to a player who is s in the way
94 message: death message when a player gets crushed
95 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
96 -------- SPAWNFLAGS --------
97 X_AXIS: entity will bob along the X axis.
98 Y_AXIS: entity will bob along the Y axis.
99 */
100
101 /*QUAKED func_pendulum (0 .5 .8) ?
102 Solid entity that swings back and forth in an angular motion. Entity swings on the north-south direction by default (can be changed by using a different yaw angle).
103 -------- KEYS --------
104 speed: angle amount of the swinging
105 freq: frequency (cycles per second) of the swinging (if unspecified, a physically "somewhat correct" value is calculated that matches Quake 3)
106 phase: sets the start offset of the oscillation cycle. Values must be 0 < phase < 1. Any integer phase value is the same as no offset (default 0).
107 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).
108 dmg: damage a player who gets crushed by it receives
109 dmgtime: interval to apply dmg to a player who is s in the way
110 message: death message when a player gets crushed
111 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
112 */
113
114 /*QUAKED func_button (0 .5 .8) ? - - - - - - - - NOSPLASH
115 When a button is touched by a player, it moves in the direction set by the "angle" key, triggers all its targets, stays pressed by an amount of time set by the "wait" key, then returns to it's original position where it can be operated again.
116 -------- KEYS --------
117 angle: determines the direction in which the button will move (up = -1, down = -2).
118 target: all entities with a matching targetname will be triggered.
119 target2: all entities with a matching targetname will be triggered.
120 target3: all entities with a matching targetname will be triggered.
121 target4: all entities with a matching targetname will be triggered.
122 speed: speed of button's displacement (default 40).
123 platmovetype: movement type (1 = linear, 2 = cosine [default])
124 wait: number of seconds button stays pressed (default 1, -1 = return immediately).
125 lip: lip remaining at end of move (default 4 units).
126 health: (default 0) if set to any non-zero value, the button must take damage (any amount) to activate.
127 -------- SPAWNFLAGS --------
128 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
129 */
130
131 /*QUAKED func_door (0 .5 .8) ? START_OPEN - DOOR_DONT_LINK - - TOGGLE - - NOSPLASH
132 Normal sliding door entity. By default, the door will activate when player walks close to it or when damage is inflicted to it.
133 If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches. Note however that for linked doors to work properly, it is necessary that ALL linked doors have SOME volume of common area (that is, there must be a point that is part of ALL doors).
134 -------- KEYS --------
135 message: is printed when the door is touched if it is a trigger door and it hasn't been fired yet, or death message if dmg is set
136 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
137 angle: determines the opening direction
138 targetname: if set, no touch field will be spawned and a remote button or trigger field activates the door.
139 health: if set, door must be shot open
140 speed: movement speed (100 default)
141 platmovetype: movement type (1 = linear, 2 = cosine [default])
142 wait: wait before returning (3 default, -1 = never return)
143 lip: lip remaining at end of move (8 default)
144 dmg: damage to inflict when blocked (when triggered and someone is in the way)
145 sounds: when 1, use default door sounds
146 noise1: sound when the door opens
147 noise2: sound when the door closes
148 -------- SPAWNFLAGS --------
149 START_OPEN: causes the door to move to its destination when spawned, and operate in reverse.  It is used to temporarily or permanently close off an area when triggered (not useful for touch or damage triggered doors).
150 DOOR_DONT_LINK: the door won't link with another door it touches
151 TOGGLE: causes the door to wait in both the start and end states for a trigger event.
152 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
153 */
154
155 /*QUAKED func_door_rotating (0 .5 .8) ? START_OPEN BIDIR DOOR_DONT_LINK BIDIR_IN_DOWN - TOGGLE X_AXIS Y_AXIS NOSPLASH
156 Normal rotating door entity that opens by rotating around an axis (default: Z). Use an origin brush to specify the rotation axis.
157 By default, the door will activate when player walks close to it or when damage is inflicted to it.
158 If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches.
159 BIDIR makes the door work bidirectional, so that the opening direction is always away from the requestor.
160 The usage of bidirectional doors requires two manually instantiated triggers (trigger_multiple), the one to open it in the other direction
161 must have set trigger_reverse to 1.
162 BIDIR_IN_DOWN will the door prevent from reopening while closing if it is triggered from the other side.
163 -------- KEYS --------
164 message: is printed when the door is touched if it is a trigger door and it hasn't been fired yet, or death message if dmg is set
165 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
166 angle: determines the destination angle for opening. negative values reverse the direction (90 default)
167 targetname: if set, no touch field will be spawned and a remote button or trigger field activates the door.
168 health: if set, door must be shot open
169 speed: speed to rotate (in degrees per second)
170 wait: wait before returning (3 default, -1 = never return)
171 dmg: damage to inflict when blocked (when triggered and someone is in the way)
172 sounds: when 1, use default door sounds
173 noise1: sound when the door opens
174 noise2: sound when the door closes
175 -------- SPAWNFLAGS --------
176 START_OPEN: causes the door to move to its destination when spawned, and operate in reverse.  It is used to temporarily or permanently close off an area when triggered (not useful for touch or damage triggered doors).
177 DOOR_DONT_LINK: the door won't link with another door it touches
178 TOGGLE: causes the door to wait in both the start and end states for a trigger event.
179 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
180 */
181
182 /*QUAKED func_door_secret (0 .5 .8) ? OPEN_ONCE 1ST_LEFT 1ST_DOWN NO_SHOOT ALWAYS_SHOOT
183 Basic secret door. Slides back, then to the side. Angle determines direction. Opens when targeted or when shot; does not create its own trigger field like func_door does.
184 -------- KEYS --------
185 platmovetype: movement type (1 = linear, 2 = cosine [default])
186 wait: # of seconds before coming back
187 key1: first entity key with one-line description
188 key2: second entity key with one-line description
189 t_width: override WIDTH to move back (or height if going down)
190 t_length: override LENGTH to move sideways
191 dmg: damage to inflict when blocked (2 default)
192 message: text to display when activating the door, or death message if dmg is set
193 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
194 noise1: sound when opening backwards or closing
195 noise2: sound when opening sideways
196 noise3: sound when stopping
197 -------- SPAWNFLAGS --------
198 OPEN_ONCE: only work once, then stay open
199 1ST_LEFT: 1st move is left of arrow
200 1ST_DOWN: 1st move is down from arrow
201 NO_SHOOT: never respond to shots
202 ALWAYS_SHOOT: even if targetname is set, respond to shots
203 */
204
205 /*QUAKED func_group (0 .5 .8) ? 
206 This is not an entity as such. It is strictly an editor utility to group world brushes and patches together for convenience (selecting, moving, copying, etc). You cannot group entities with this.
207 -------- Q3MAP2 KEYS --------
208 _lightmapscale: light map resolution factor
209 _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.
210 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
211 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
212 -------- KEYS --------
213 _indexmap: Path/name for the TGA file used to guide the mapping of textures on the terrain surface.
214 _layers: number of unique root shaders that will be use on the terrain.
215 _shader: Path to the metashader used to assign textures to the terrain entity. Note: Omit the "textures/" prefix.
216 _offsets: space separated list of height offsets for the index map
217 */
218
219 /*QUAKED func_ladder (0 .5 .8) ? 
220 a ladder, need i say no more
221 grab a trigger brush and put it in front of the part that you want the player to climb
222 */
223
224 /*QUAKED func_plat (0 .5 .8) ? - - CRUSH
225 Rising platform the player can ride to reach higher places. Plats must always be drawn in the raised position, so they will operate and be lighted correctly but they spawn in the lowered position. The plat will stay in the raised position until the player steps off.
226 -------- KEYS --------
227 speed: determines how fast the plat moves (default 150).
228 platmovetype: movement type (1 = linear, 2 = cosine [default])
229 lip: lip remaining at end of move (default 16). Has no effect if "height" is set.
230 height: if set, this will determine the total amount of vertical travel of the plat.
231 dmg: damage to inflict on player when he blocks operation of plat. Plat will reverse direction when blocked.
232 targetname: if set, the trigger that points to this will lower the plat each time it fires. The plat lowers and lifts someone up later.
233 sounds: 2 for alternate sound set, -1 for silence, or use the fields below
234 sound1: platform starts moving sound
235 sound2: platform stop sound
236 message: kill message, when someone gets killed by this plat
237 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
238 -------- SPAWNFLAGS --------
239 CRUSH: crush players hit by the platform instantly
240 -------- NOTES --------
241 By default, the total amount of vertical travel of a platform is implicitly determined by the overall vertical size of the brushes of which it's made minus the lip value. But if the "height" key is used, then the total amount of vertical travel of the plat will be exactly that value regardless of the shape and size of the plat and regardless of the value of the "lip" key. Using the "height" key is the best method for any kind of platforms and the only possible one for thin plats which need to travel vertical distances many times their own thickness. Setting the origin key is simply an alternate method to using an origin brush. When using the model2 key, the origin point of the model will correspond to the origin point defined by either the origin brush or the origin coordinate value.
242 */
243
244 /*QUAKED func_rain (0 .5 .8) ? 
245 This is an invisible area like a trigger, which rain falls inside of.
246 -------- KEYS --------
247 velocity: falling direction (should be something like '0 0 -700', use the X and Y velocity for wind)
248 cnt: sets color of rain in the Quake palette (default 12 - white)
249 count: adjusts density, this many particles fall every second for a 1024x1024 area, default is 2000
250 */
251
252 /*QUAKED func_rotating (0 .5 .8) ? - - X_AXIS Y_AXIS
253 Brush entity that spins in place on one axis (default Z). Use an origin brush to specify the rotation axis.
254 To rotate around another axis, make a func_wall with an explicit avelocity given.
255 -------- KEYS --------
256 speed: speed to rotate (in degrees per second)
257 noise: path/name of looping .wav file to play.
258 dmg: Do this much dmg every .dmgtime interval when blocked
259 dmgtime: See above. (0.25s default)
260 message: kill message when crushed by this
261 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
262 -------- SPAWNFLAGS --------
263 X_AXIS: rotate around the X axis
264 Y_AXIS: rotate around the Y axis
265 */
266
267 /*QUAKED func_snow (0 .5 .8) ? 
268 This is an invisible area like a trigger, which snow falls inside of.
269 -------- KEYS --------
270 velocity: falling direction (should be something like '0 0 -300', use the X and Y velocity for wind)
271 cnt: sets color of snow in the Quake palette (default 12 - white)
272 count: adjusts density, this many particles fall every second for a 1024x1024 area, default is 2000
273 */
274
275 /*QUAKED func_stardust (.5 .5 .5) (-8 -8 -8) (8 8 8) 
276 Point entity with EF_STARDUST applied. This will spawn a particle cloud with mostly golden particles. Used as eye-candy.
277 */
278
279 /*QUAKED func_train (0 .5 .8) ? 
280 Trains are moving solids that follow a cycle of path_corner entities. Origin brushes are NOT supported; they use the "mins" corner as reference (that is, lowest x, y, and z coordinates).
281 At each node, the train's mins corner hits exactly the path_corner.
282 Trains always start on in the game.
283 Trains do not damage the played when blocked.
284 Trains cannot emit sound.
285 Trains are not trigger-able or toggle-able.
286 Trains cannot be block-stopped just by getting in their way, the player must be wedged between the train and another obstacle to block it.
287 -------- KEYS --------
288 speed: default/initial speed of train (default 100 or overridden by speed value of targeted path_corner)
289 platmovetype: movement type (1 = linear, 2 = cosine [default])
290 target: targetname of first path_corner to move to at the default speed; ideally, this path_corner shall be exactly where the train starts
291 noise: path/name of .wav or .ogg file to play while moving. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).
292 dmg: damage a player who gets crushed by it receives
293 dmgtime: interval to apply dmg to a player who is s in the way
294 message: death message when a player gets crushed
295 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
296 */
297
298 /*QUAKED info_location (1 1 0) (-8 -8 -8) (8 8 8) 
299 Location for use by the %l escape in "say" messages.
300 The closest "visible" info_location entity is chosen to find the right location name for a point.
301 -------- KEYS --------
302 netname: name of location, possibly with color codes
303 */
304
305 /*QUAKED info_notnull (0 .5 0) (-8 -8 -8) (8 8 8) 
306 Entity that does nothing, but may be targeted (e.g. to use its position)
307 -------- KEYS --------
308 targetname: must match the target key of entity that uses this for pointing.
309 */
310
311 /*QUAKED info_null (0 .5 0) (-8 -8 -8) (8 8 8) 
312 Aiming target for q3map2-internal entities like _decal or light. Removes itself when loaded, so it can NOT be used for in-game stuff!
313 -------- KEYS --------
314 targetname: the entity that requires an aiming direction points to this.
315 */
316
317 /*QUAKED info_player_attacker (1 0.5 0) (-16 -16 -24) (16 16 45) 
318 Attacking team's player spawning location in Assault. Should touch the floor, but not the walls, and should point where the player should look when he spawns there.
319 -------- KEYS --------
320 target: this should point to a target_objective to decide when this spawning point is active.
321 target2: trigger all entities with this targetname when someone spawns
322 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
323 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
324 */
325
326 /*QUAKED info_player_deathmatch (0 1 0) (-16 -16 -24) (16 16 45) 
327 Normal player spawning location in game types without team spawns. Should touch the floor, but not the walls, and should point where the player should look when he spawns there.
328 -------- KEYS --------
329 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
330 target: trigger all entities with this targetname when someone spawns
331 targetname: when targeted by a func_button, pressing the button will assign the spawn point to the team of the activator as an additional spawn point, or reassign it if it was already assigned. Also used to assign spawn points to Onslaught control points.
332 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
333 */
334
335 /*QUAKED info_player_defender (.5 .5 .5) (-16 -16 -24) (16 16 45) 
336 Defending team's player spawning location in Assault. Should touch the floor, but not the walls, and should point where the player should look when he spawns there.
337 -------- KEYS --------
338 target: this should point to a target_objective to decide when this spawning point is active.
339 target2: trigger all entities with this targetname when someone spawns
340 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
341 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
342 */
343
344 /*QUAKED info_player_team1 (1 0 0) (-16 -16 -24) (16 16 45) 
345 Red team's player spawning location in e.g. CTF and Onslaught. Should touch the floor, but not the walls, and should point where the player should look when he spawns there.
346 -------- KEYS --------
347 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
348 target: trigger all entities with this targetname when someone spawns
349 targetname: when targeted by a func_button, pressing the button will reassign the spawn point to the team of the activator. If a team has no more spawn point left, it immediately loses.
350 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
351 */
352
353 /*QUAKED info_player_team2 (0 0 1) (-16 -16 -24) (16 16 45) 
354 Blue team's player spawning location in e.g. CTF and Onslaught. Should touch the floor, but not the walls, and should point where the player should look when he spawns there.
355 -------- KEYS --------
356 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
357 target: trigger all entities with this targetname when someone spawns
358 targetname: when targeted by a func_button, pressing the button will reassign the spawn point to the team of the activator. If a team has no more spawn point left, it immediately loses.
359 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
360 */
361
362 /*QUAKED info_player_team3 (1 1 0) (-16 -16 -24) (16 16 45) 
363 Yellow team's player spawning location, but there is no game mode to use this yet. Anyway, should touch the floor, but not the walls, and should point where the player should look when he spawns there.
364 -------- KEYS --------
365 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
366 target: trigger all entities with this targetname when someone spawns
367 targetname: when targeted by a func_button, pressing the button will reassign the spawn point to the team of the activator. If a team has no more spawn point left, it immediately loses.
368 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
369 */
370
371 /*QUAKED info_player_team4 (1 0 1) (-16 -16 -24) (16 16 45) 
372 Pink team's player spawning location, but there is no game mode to use this yet. Anyway, should touch the floor, but not the walls, and should point where the player should look when he spawns there.
373 -------- KEYS --------
374 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
375 target: trigger all entities with this targetname when someone spawns
376 targetname: when targeted by a func_button, pressing the button will reassign the spawn point to the team of the activator. If a team has no more spawn point left, it immediately loses.
377 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
378 */
379
380 /*QUAKED item_armor_large (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING
381 Large Armor (default 100 armor points)
382 -------- KEYS --------
383 respawntime: time till it respawns (default: 30)
384 respawntimejitter: respawn time randomization +/- seconds (default: 0)
385 armorvalue: amount of armor it gives (default: 100 (g_pickup_armorlarge))
386 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armorlarge_max))
387 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
388 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
389 -------- SPAWNFLAGS --------
390 FLOATING: the item will float in air, instead of aligning to the floor by falling
391 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
392 modeldisabled="models/items/g_a25.md3"
393 */
394
395 /*QUAKED item_armor_big (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING
396 Big Armor (default 50 armor points)
397 -------- KEYS --------
398 respawntime: time till it respawns (default: 20)
399 respawntimejitter: respawn time randomization +/- seconds (default: 0)
400 armorvalue: amount of armor it gives (default: 50 (g_pickup_armorlarge))
401 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armorlarge_max))
402 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
403 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
404 -------- SPAWNFLAGS --------
405 FLOATING: the item will float in air, instead of aligning to the floor by falling
406 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
407 modeldisabled="models/items/g_a50.md3"
408 */
409
410 /*QUAKED item_armor_medium (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING
411 Medium Armor (default 25 armor points)
412 -------- KEYS --------
413 respawntime: time till it respawns (default: 20)
414 respawntimejitter: respawn time randomization +/- seconds (default: 0)
415 armorvalue: amount of armor it gives (default: 25 (g_pickup_armormedium))
416 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armormedium_max))
417 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
418 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
419 -------- SPAWNFLAGS --------
420 FLOATING: the item will float in air, instead of aligning to the floor by falling
421 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
422 modeldisabled="models/items/g_armormedium.md3"
423 */
424
425 /*QUAKED item_armor_small (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING
426 Small Armor (default 5 armor points)
427 -------- KEYS --------
428 respawntime: time till it respawns (default: 15)
429 respawntimejitter: respawn time randomization +/- seconds (default: 0)
430 armorvalue: amount of armor it gives (default: 5 (g_pickup_armorsmall))
431 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armorsmall_max))
432 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
433 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
434 -------- SPAWNFLAGS --------
435 FLOATING: the item will float in air, instead of aligning to the floor by falling
436 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
437 modeldisabled="models/items/g_a1.md3"
438 */
439
440 /*QUAKED item_bullets (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
441 Machine Gun ammo
442 -------- KEYS --------
443 ammo_nails: bullets gained by this item (if unset, g_pickup_nails is used)
444 respawntime: time till it respawns (default: 15)
445 respawntimejitter: respawn time randomization +/- seconds (default: 0)
446 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
447 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
448 -------- SPAWNFLAGS --------
449 FLOATING: the item will float in air, instead of aligning to the floor by falling
450 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
451 modeldisabled="models/items/a_bullets.md3"
452 */
453
454 /*QUAKED item_cells (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
455 Nex, Electro and Crylink ammo
456 -------- KEYS --------
457 ammo_cells: cells gained by this item (if unset, g_pickup_cells is used)
458 respawntime: time till it respawns (default: 15)
459 respawntimejitter: respawn time randomization +/- seconds (default: 0)
460 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
461 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
462 -------- SPAWNFLAGS --------
463 FLOATING: the item will float in air, instead of aligning to the floor by falling
464 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
465 modeldisabled="models/items/a_cells.md3"
466 */
467
468 /*QUAKED item_flag_team1 (1 0 0) (-32 -32 0) (32 32 74) 
469 CTF flag for team one (Red). Use more than one if you really insist.
470 -------- KEYS --------
471 model: model to use
472 scale: scaling factor (DO set this when using your own model!)
473 noise: sound played when flag is picked up
474 noise1: sound played when flag is returned
475 noise2: sound played when flag is captured
476 noise3: sound played when flag is lost in the field and respawns itself
477 -------- ZBQRY SBE ENQVNAG BAYL - QB ABG FRG GUVF NF N XRL --------
478 zbqry="zbqryf/pgs/enqvnag/synt_erq_enqvnag.zq3"
479 */
480
481 /*QUAKED item_flag_team2 (0 0 1) (-32 -32 0) (32 32 74) 
482 CTF flag for team two (Blue). Use more than one if you really insist.
483 -------- KEYS --------
484 model: model to use
485 scale: scaling factor (DO set this when using your own model!)
486 noise: sound played when flag is picked up
487 noise1: sound played when flag is returned
488 noise2: sound played when flag is captured
489 noise3: sound played when flag is lost in the field and respawns itself
490 -------- ZBQRY SBE ENQVNAG BAYL - QB ABG FRG GUVF NF N XRL --------
491 zbqry="zbqryf/pgs/enqvnag/synt_oyhr_enqvnag.zq3"
492 */
493
494 /*QUAKED item_health_large (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING
495 Large Health (default 50 health points)
496 -------- KEYS --------
497 respawntime: time till it respawns (default: 20)
498 respawntimejitter: respawn time randomization +/- seconds (default: 0)
499 health: amount of health it gives (default: 50 (g_pickup_healthlarge))
500 max_health: max of health it increases to (default: 999 (g_pickup_healthlarge_max))
501 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
502 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
503 -------- SPAWNFLAGS --------
504 FLOATING: the item will float in air, instead of aligning to the floor by falling
505 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
506 modeldisabled="models/items/g_h50.md3"
507 */
508
509 /*QUAKED item_health_medium (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING
510 Medium Health (default 25 health points)
511 -------- KEYS --------
512 respawntime: time till it respawns (default: 15)
513 respawntimejitter: respawn time randomization +/- seconds (default: 0)
514 health: amount of health it gives (default: 25 (g_pickup_healthmedium))
515 max_health: max of health it increases to (default: 999 (g_pickup_healthmedium_max))
516 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
517 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
518 -------- SPAWNFLAGS --------
519 FLOATING: the item will float in air, instead of aligning to the floor by falling
520 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
521 modeldisabled="models/items/g_h25.md3"
522 */
523
524 /*QUAKED item_health_mega (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING
525 Mega Health (default 100 health points)
526 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
527 -------- KEYS --------
528 respawntime: time till it respawns (default: 30)
529 respawntimejitter: respawn time randomization +/- seconds (default: 0)
530 health: amount of health it gives (default: 100 (g_pickup_healthmega))
531 max_health: max of health it increases to (default: 999 (g_pickup_healthmega_max))
532 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
533 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
534 -------- SPAWNFLAGS --------
535 FLOATING: the item will float in air, instead of aligning to the floor by falling
536 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
537 modeldisabled="models/items/g_h100.md3"
538 */
539
540 /*QUAKED item_health_small (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING
541 Small Health (default 5 health points)
542 -------- KEYS --------
543 respawntime: time till it respawns (default: 15)
544 respawntimejitter: respawn time randomization +/- seconds (default: 0)
545 health: amount of health it gives (default: 5 (g_pickup_healthsmall))
546 max_health: max of health it increases to (default: 5 (g_pickup_healthsmall_max))
547 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
548 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
549 -------- SPAWNFLAGS --------
550 FLOATING: the item will float in air, instead of aligning to the floor by falling
551 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
552 modeldisabled="models/items/g_h1.md3"
553 */
554
555 /*QUAKED item_invincible (.3 .3 1) (-30 -30 0) (30 30 48) FLOATING
556 Strong Shield
557 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
558 -------- KEYS --------
559 respawntime: time till it respawns (default: 120)
560 respawntimejitter: respawn time randomization +/- seconds (default: 0)
561 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
562 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
563 -------- SPAWNFLAGS --------
564 FLOATING: the item will float in air, instead of aligning to the floor by falling
565 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
566 modeldisabled="models/items/g_invincible.md3"
567 */
568
569 /*QUAKED item_minst_cells (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
570 Minstagib ammo.
571 Always contains 5 (g_minstagib_ammo_drop) shots.
572 It only appears when playing Minstagib and prevents auto-replacement of weapon_nex & weapon_rocketlauncher when used.
573 -------- KEYS --------
574 respawntime: time till it respawns (default: 45)
575 respawntimejitter: respawn time randomization +/- seconds (default: 0)
576 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
577 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
578 -------- SPAWNFLAGS --------
579 FLOATING: the item will float in air, instead of aligning to the floor by falling
580 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
581 modeldisabled="models/items/a_cells.md3"
582 */
583
584 /*QUAKED item_rockets (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
585 Rocket Launcher, Hagar and Mortar ammo
586 -------- KEYS --------
587 ammo_rockets: rockets gained by this item (if unset, g_pickup_rockets is used)
588 respawntime: time till it respawns (default: 15)
589 respawntimejitter: respawn time randomization +/- seconds (default: 0)
590 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
591 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
592 -------- SPAWNFLAGS --------
593 FLOATING: the item will float in air, instead of aligning to the floor by falling
594 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
595 modeldisabled="models/items/a_rockets.md3"
596 */
597
598 /*QUAKED item_shells (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
599 Shotgun ammo
600 -------- KEYS --------
601 ammo_shells: shells gained by this item (if unset, g_pickup_shells is used)
602 respawntime: time till it respawns (default: 15)
603 respawntimejitter: respawn time randomization +/- seconds (default: 0)
604 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
605 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
606 -------- SPAWNFLAGS --------
607 FLOATING: the item will float in air, instead of aligning to the floor by falling
608 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
609 modeldisabled="models/items/a_shells.md3"
610 */
611
612 /*QUAKED item_strength (.3 .3 1) (-30 -30 0) (30 30 48) FLOATING
613 Strength aka Quad damage
614 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
615 -------- KEYS --------
616 respawntime: time till it respawns (default: 120)
617 respawntimejitter: respawn time randomization +/- seconds (default: 0)
618 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
619 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
620 -------- SPAWNFLAGS --------
621 FLOATING: the item will float in air, instead of aligning to the floor by falling
622 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
623 modeldisabled="models/items/g_strength.md3"
624 */
625
626 /*QUAKED light (.65 .65 1) (-8 -8 -8) (8 8 8) LINEAR NOANGLE - - NOGRIDLIGHT
627 Non-displayed point light source. The -pointscale and -scale arguments to Q3Map2 affect the brightness of these lights. The -skyscale argument affects brightness of entity sun lights.
628 Maximum intensity (in a radius 16 sphere around the light): regular lights have light/256, linear lights have light/8000-16*fade.
629 Falloff radius to a negligible light amount: regular lights have light have 16*sqrt(light), linear lights have light/(fade*8000).
630 By this you see that you HAVE to specify fade for a linear light... use values below 0.01 there.
631 -------- KEYS --------
632 light: intensity factor (default: 300). A linear
633 _color: weighted RGB value of light color (default white - 1.0 1.0 1.0).
634 target: Lights pointed at a target will be spotlights.
635 radius: radius of a spotlight at the target point (default: 64)
636 _anglescale: scales angle attenuation
637 fade: Fade factor of light attenuation of linear lights. Linear lights completely vanish at distance light/(fade*8000), so if you want the light to vanish at distance X, specify light/(8000*X) here.
638 _filterradius: filter radius for this light, similar to -light -filter
639 _sun: if 1, this light is an infinite sun light
640 _samples: number of samples to use to get soft shadows from a light
641 _deviance: position deviance of the samples of a regular light (distributes the light samples in a cube of side length 2*_deviance around the origin), or angle deviance of the sun light samples in radians
642 -------- SPAWNFLAGS --------
643 LINEAR: Use a linear falloff. Default is inverse distance squared (more realistic).
644 NOANGLE: Ignore angle attenuation.
645 NOGRIDLIGHT: Do not affect the light grid (dynamic entity lighting).
646 */
647
648 /*QUAKED lightJunior (.65 .65 1) (-8 -8 -8) (8 8 8) LINEAR NOANGLE
649 Non-displayed point light source that JUST APPLIES TO THE LIGHT GRID. No idea what this is good for. The -pointscale and -scale arguments to Q3Map2 affect the brightness of these lights. The -skyscale argument affects brightness of entity sun lights.
650 Maximum intensity (in a radius 16 sphere around the light): regular lights have light/256, linear lights have light/8000-16*fade.
651 Falloff radius to a negligible light amount: regular lights have light have 16*sqrt(light), linear lights have light/(fade*8000).
652 By this you see that you HAVE to specify fade for a linear light... use values below 0.01 there.
653 -------- KEYS --------
654 light: intensity factor (default: 300). A linear
655 _color: weighted RGB value of light color (default white - 1.0 1.0 1.0).
656 target: Lights pointed at a target will be spotlights.
657 radius: radius of a spotlight at the target point (default: 64)
658 _anglescale: scales angle attenuation
659 fade: Fade factor of light attenuation of linear lights. Linear lights completely vanish at distance light/(fade*8000), so if you want the light to vanish at distance X, specify light/(8000*X) here.
660 _filterradius: filter radius for this light, similar to -light -filter
661 _sun: if 1, this light is an infinite sun light
662 _samples: number of samples to use to get soft shadows from a light
663 _deviance: position deviance of the samples of a regular light (distributes the light samples in a cube of side length 2*_deviance around the origin), or angle deviance of the sun light samples in radians
664 -------- SPAWNFLAGS --------
665 LINEAR: Use a linear falloff. Default is inverse distance squared (more realistic).
666 NOANGLE: Ignore angle attenuation.
667 */
668
669 /*QUAKED misc_laser (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON FINITE NOTRACE INVERT_TEAM
670 Laser beam emitter. Note that for the laser to be deadly, it has to start OUTSIDE the player's collision box. To ensure this, you may want to put this entity inside the walls (or directly on their surface), or cover it with a playerclip brush.
671 -------- KEYS --------
672 target: target_position the laser targets (may be another entity, preferably target_position, possibly controlled by misc_follow)
673 mdl: name of particle effect for the beam end point (see effectinfo.txt; default is laser_deadly if dmg is set, and none if not)
674 colormod: color of the laser beam (default: red, that is, 1 0 0)
675 dmg: damage inflicted by the beam per second, or -1 for an instant-death ray
676 targetname: name to target this (then its state is toggled)
677 alpha: when set, makes a dark laser of the given strength; may be combined with colormod
678 scale: scales the beam thickness (default 1)
679 modelscale: scales the dynamic light radius at the endpoint (default 1, -1 to turn off)
680 team: team that gets hurt (5 = red, 14 = blue, etc) (when set, only this team can get hurt)
681 -------- SPAWNFLAGS --------
682 START_ON: when targeted, the laser will start switched on
683 FINITE: the laser does not extend over its target like light would do, but stops there (takes more bandwidth)
684 NOTRACE: the laser passes through solid (faster rendering on clientside); non-FINITE lasers then never display their impact effect "mdl"!
685 INVERT_TEAM: the team that owns this will NOT get hurt
686 -------- NOTES --------
687 Use trigger_monoflop if you want the laser to turn off for a while, then turn back on.
688 When the laser's target has itself target set, its targets are triggered when someone enters or leaves the laser.
689 */
690
691 /*QUAKED misc_model (1 .5 .25) (-16 -16 -16) (16 16 16) - SOLID FORCE_META EXTRUDE_NORMALS EXTRUDE_TERRAIN COLOR_TO_ALPHA DONT_FIX_NORMALS
692 Generic placeholder for inserting MD3 models in game. Requires compilation of map geometry to be added to level. If the map is compiled with Q3Map2, then ASE, 3DS, OBJ and other model formats are supported.
693 -------- Q3MAP2 KEYS --------
694 model: file name of model to include
695 _frame: frame of model to include
696 _remap: string of the form from;to specifying which texture name of the model to replace by which shader; * is allowed. Any key starting with this prefix will work, so if you need more remappings, create _remap2, etc.
697 angle: view direction of the model
698 angles: view direction of the model in PITCH YAW ROLL
699 modelscale: scaling factor
700 modelscale_vec: scaling vector for non-uniform scaling
701 _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.
702 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
703 _lightmapscale: light map resolution factor
704 _celshader: the cel shader for this
705 -------- SPAWNFLAGS --------
706 SOLID: make the model solid
707 FORCE_META: force the model to go through the -meta pipeline and enable lightmapping
708 EXTRUDE_NORMALS: for converting triangles to clip brushes, extrude along the model normals (by default, extrusion happens in a coordinate axis direction that is decided per triangle)
709 EXTRUDE_TERRAIN: always extrude downwards (for terrain)
710 COLOR_TO_ALPHA: use the color value as alpha (for terrain blending)
711 DONT_FIX_NORMALS: do not regenerate normals
712 */
713
714 /*QUAKED misc_gamemodel (0 .5 .8) (-8 -8 -8) (8 8 8) ALIGN_ORIGIN ALIGN_BOTTOM
715 A way to load models from a map by the engine (e.g. self-animated zym models).
716 Is non-solid by default.
717 The keys below actually apply to most engine-loaded model entities as they are engine features; however, they are described here as they aren't overridden by game code in misc_gamemodel. Its q3map2 keys below will work on any brush entity!
718 -------- KEYS --------
719 model: when used as a point entity, file name of model to load; when used as a brush entity, do not specify that
720 frame: animation frame to play (for self-animated zym models)
721 skin: number of skin to load (when model is used)
722 movetype: way in which it moves: one of 0 = NONE, 1 = ANGLENOCLIP, 2 = ANGLECLIP, 3 = WALK, 4 = STEP, 5 = FLY, 6 = TOSS, 7 = PUSH, 8 = NOCLIP, 9 = FLYMISSILE, 10 = BOUNCE, 11 = BOUNCEMISSILE
723 solid: solidity: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE
724 avelocity: vector giving its angular velocity (useful for spinning models)
725 scale: scale factor of the model (range: 0.0625 to 15.9375)
726 colormap: 1024 + 16 * pantscolor + shirtcolor
727 velocity: when movetype isn't 0, initial velocity vector
728 angles: initial looking direction
729 modelscale: scaling factor
730 effects: sum of 1 = BRIGHTFIELD, 4 = BRIGHTLIGHT, 8 = DIMLIGHT, 32 = ADDITIVE, 64 = BLUE, 128 = RED, 512 = FULLBRIGHT, 1024 = FLAME, 2048 = STARDUST, 4096 = NOSHADOW, 8192 = NODEPTHTEST, 32768 = DOUBLESIDED, 8388608 = NOMODELFLAGS (ignores the following coming from a model file), 16777216 = ROCKET, 33554432 = GRENADE, 67108864 = GIB, 134217728 = ROTATE, 268435456 = TRACER, 536870912 = ZOMGIB, 1073741824 = TRACER2, -2147483648 = TRACER3
731 loddistance1: distance after which to show the first LOD model replacement (default: 1000)
732 loddistance2: distance after which to show the second LOD model replacement (default: 2000)
733 lodmodel1: file name of the first LOD model replacement
734 lodmodel2: file name of the second LOD model replacement
735 targetname: when invoking it by a button etc., it changes the color to the initiator of the action (e.g. the one pressing a button). In Onslaught, this can be used to color control points for team who owns them. In other game types, this can be used as a fun feature.
736 originjitter: a vector describing a random offset this entity will be moved on initial spawn. This corresponds to the "origin" field. Works on any non-q3map2-only entity.
737 anglesjitter: a vector in the order "pitch yaw roll" describing a random angles change on this entity on initial spawn. The value 180 180 180 makes the angles entirely random and uniformly distributed (among euler angles). This corresponds to the "angles" field. Works on any non-q3map2-only entity.
738 anglejitter: a float describing a random yaw angle change on this entity on initial spawn. The value 180 makes the yaw angle entirely random (maybe good for items). This corresponds to the "angle" field. Works on any non-q3map2-only entity.
739 gametypefilter: either a + sign and a comma separated list of game types or the aliases "teams" and "noteams" to ONLY show the entity in the listed game types, or a - sign and a comma separated list of game types or the aliases "teams" and "noteams" to NOT show the entity in the listed game types. The syntax is the same as in sbar_columns_set strings. Works on any non-q3map2-only entity.
740 cvarfilter: either a + sign and a space separated list of conditions, or a - sign and the same for an inverted filter. The conditions are ALWAYS combined with AND! Possible conditions are: "cvar==value", "cvar!=value", "cvar<value", "cvar>value", "cvar<=value", "cvar>=value", "cvar===string", "cvar!==string", "cvar", "!cvar". Ridiculous example filter: "-g_balance_health_start<150 g_balance_armor_start==0" spawns an item only if start health is at least 150 or start armor is not 0. Other ideas: "+g_campaign" and "-g_campaign" for enabling/disabling items when the map is played as part of the campaign.
741 -------- SPAWNFLAGS --------
742 ALIGN_ORIGIN: align the origin to the surface below the model
743 ALIGN_BOTTOM: align the bottom of the model to the surface below it
744 */
745
746 /*QUAKED func_illusionary (0 .5 .8) ? 
747 NOTE - THIS ENTITY IS BROKEN REGARDING CLIENT AND PROJECTILE PREDICTION. DO NOT USE IT. USE NONSOLID SHADERS OR FUNC_CLIENTILLUSIONARY INSTEAD.
748 A non-solid brush entity. Use func_wall if you want it solid.
749 The keys below actually apply to most brush entities as they are engine features; however, they are described here as they aren't overridden by game code in misc_models. Its q3map2 keys below will work on any brush entity!
750 -------- KEYS --------
751 movetype: way in which it moves: one of 0 = NONE, 1 = ANGLENOCLIP, 2 = ANGLECLIP, 3 = WALK, 4 = STEP, 5 = FLY, 6 = TOSS, 7 = PUSH, 8 = NOCLIP, 9 = FLYMISSILE, 10 = BOUNCE, 11 = BOUNCEMISSILE
752 avelocity: vector giving its angular velocity (useful for spinning models)
753 scale: scale factor of the model (range: 0.0625 to 15.9375)
754 colormap: 1024 + 16 * pantscolor + shirtcolor
755 velocity: when movetype isn't 0, initial velocity vector
756 angles: initial looking direction
757 effects: sum of 1 = BRIGHTFIELD, 4 = BRIGHTLIGHT, 8 = DIMLIGHT, 32 = ADDITIVE, 64 = BLUE, 128 = RED, 512 = FULLBRIGHT, 1024 = FLAME, 2048 = STARDUST, 4096 = NOSHADOW, 8192 = NODEPTHTEST, 32768 = DOUBLESIDED, 8388608 = NOMODELFLAGS (ignores the following coming from a model file), 16777216 = ROCKET, 33554432 = GRENADE, 67108864 = GIB, 134217728 = ROTATE, 268435456 = TRACER, 536870912 = ZOMGIB, 1073741824 = TRACER2, -2147483648 = TRACER3
758 loddistance1: distance after which to show the first LOD model replacement (default: 1000)
759 loddistance2: distance after which to show the second LOD model replacement (default: 2000)
760 lodtarget1: targetname of the first LOD model entity (can be used instead of lodmodel1 to use a brush model instead)
761 lodtarget2: targetname of the second LOD model entity (can be used instead of lodmodel2 to use a brush model instead)
762 targetname: when invoking it by a button etc., it changes the color to the initiator of the action (e.g. the one pressing a button). In Onslaught, this can be used to color control points for team who owns them. In other game types, this can be used as a fun feature. Works only with _shirt and _pants textures.
763 originjitter: a vector describing a random offset this entity will be moved on initial spawn. This corresponds to the "origin" field. Works on any non-q3map2-only entity.
764 anglesjitter: a vector in the order "pitch yaw roll" describing a random angles change on this entity on initial spawn. The value 180 180 180 makes the angles entirely random and uniformly distributed (among euler angles). This corresponds to the "angles" field. Works on any non-q3map2-only entity.
765 anglejitter: a float describing a random yaw angle change on this entity on initial spawn. The value 180 makes the yaw angle entirely random (maybe good for items). This corresponds to the "angle" field. Works on any non-q3map2-only entity.
766 gametypefilter: either a + sign and a comma separated list of game types or the aliases "teams" and "noteams" to ONLY show the entity in the listed game types, or a - sign and a comma separated list of game types or the aliases "teams" and "noteams" to NOT show the entity in the listed game types. The syntax is the same as in sbar_columns_set strings. Works on any non-q3map2-only entity.
767 -------- Q3MAP2 KEYS --------
768 _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.
769 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
770 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
771 _clonename: template name so one can clone from it
772 min: override automatically found minimum coordinate bounds
773 max: override automatically found maximum coordinate bounds
774 targetname: if targeted by a misc_model, its brushes get inserted into this
775 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
776 */
777
778 /*QUAKED func_wall (0 .5 .8) ? 
779 A solid brush entity. Use func_clientillusionary if you want it non-solid.
780 The keys below actually apply to most brush entities as they are engine features; however, they are described here as they aren't overridden by game code in misc_models. Its q3map2 keys below will work on any brush entity!
781 -------- KEYS --------
782 movetype: way in which it moves: one of 0 = NONE, 1 = ANGLENOCLIP, 2 = ANGLECLIP, 3 = WALK, 4 = STEP, 5 = FLY, 6 = TOSS, 7 = PUSH, 8 = NOCLIP, 9 = FLYMISSILE, 10 = BOUNCE, 11 = BOUNCEMISSILE
783 solid: solidity: one of 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE (default: 4, any other value causes prediction problems and should not be used until further notice)
784 avelocity: vector giving its angular velocity (useful for spinning models)
785 scale: scale factor of the model (range: 0.0625 to 15.9375)
786 colormap: 1024 + 16 * pantscolor + shirtcolor
787 velocity: when movetype isn't 0, initial velocity vector
788 angles: initial looking direction
789 effects: sum of 1 = BRIGHTFIELD, 4 = BRIGHTLIGHT, 8 = DIMLIGHT, 32 = ADDITIVE, 64 = BLUE, 128 = RED, 512 = FULLBRIGHT, 1024 = FLAME, 2048 = STARDUST, 4096 = NOSHADOW, 8192 = NODEPTHTEST, 32768 = DOUBLESIDED, 8388608 = NOMODELFLAGS (ignores the following coming from a model file), 16777216 = ROCKET, 33554432 = GRENADE, 67108864 = GIB, 134217728 = ROTATE, 268435456 = TRACER, 536870912 = ZOMGIB, 1073741824 = TRACER2, -2147483648 = TRACER3
790 loddistance1: distance after which to show the first LOD model replacement (default: 1000)
791 loddistance2: distance after which to show the second LOD model replacement (default: 2000)
792 lodtarget1: targetname of the first LOD model entity (can be used instead of lodmodel1 to use a brush model instead)
793 lodtarget2: targetname of the second LOD model entity (can be used instead of lodmodel2 to use a brush model instead)
794 targetname: when invoking it by a button etc., it changes the color to the initiator of the action (e.g. the one pressing a button). In Onslaught, this can be used to color control points for team who owns them. In other game types, this can be used as a fun feature. Works only with _shirt and _pants textures.
795 originjitter: a vector describing a random offset this entity will be moved on initial spawn. This corresponds to the "origin" field. Works on any non-q3map2-only entity.
796 anglesjitter: a vector in the order "pitch yaw roll" describing a random angles change on this entity on initial spawn. The value 180 180 180 makes the angles entirely random and uniformly distributed (among euler angles). This corresponds to the "angles" field. Works on any non-q3map2-only entity.
797 anglejitter: a float describing a random yaw angle change on this entity on initial spawn. The value 180 makes the yaw angle entirely random (maybe good for items). This corresponds to the "angle" field. Works on any non-q3map2-only entity.
798 gametypefilter: either a + sign and a comma separated list of game types or the aliases "teams" and "noteams" to ONLY show the entity in the listed game types, or a - sign and a comma separated list of game types or the aliases "teams" and "noteams" to NOT show the entity in the listed game types. The syntax is the same as in sbar_columns_set strings. Works on any non-q3map2-only entity.
799 -------- Q3MAP2 KEYS --------
800 _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.
801 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
802 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
803 _clonename: template name so one can clone from it
804 min: override automatically found minimum coordinate bounds
805 max: override automatically found maximum coordinate bounds
806 targetname: if targeted by a misc_model, its brushes get inserted into this
807 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
808 */
809
810 /*QUAKED misc_clientmodel (0 .5 .8) (-8 -8 -8) (8 8 8) ALIGN_ORIGIN ALIGN_BOTTOM
811 A way to load models from a map by the engine (e.g. self-animated zym models) on client side.
812 Is non-solid by default.
813 -------- KEYS --------
814 scale: scale factor of the model (range: 0.0625 to 15.9375)
815 colormap: 1024 + 16 * pantscolor + shirtcolor
816 angles: initial looking direction
817 targetname: when invoking it by a button etc., it changes the color to the initiator of the action (e.g. the one pressing a button). In Onslaught, this can be used to color control points for team who owns them. In other game types, this can be used as a fun feature. Works only with _shirt and _pants textures.
818 bgmscript: emitter class from the BGM script (if prefixed with <, movedir is treated as an angle value)
819 bgmscriptattack: attack time of the effect strength (0 to 3.9)
820 bgmscriptdecay: decay time of the effect strength (0 to 3.9)
821 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)
822 bgmscriptrelease: release time of the effect strength (0 to 3.9)
823 movedir: vector by which the entity moves when "pressed" by the bgmscript
824 lip: alpha change when "pressed" by the bgmscript (if > 0, it fades in when pressed, if < 0, it fades out when pressed)
825 originjitter: a vector describing a random offset this entity will be moved on initial spawn. This corresponds to the "origin" field. Works on any non-q3map2-only entity.
826 anglesjitter: a vector in the order "pitch yaw roll" describing a random angles change on this entity on initial spawn. The value 180 180 180 makes the angles entirely random and uniformly distributed (among euler angles). This corresponds to the "angles" field. Works on any non-q3map2-only entity.
827 anglejitter: a float describing a random yaw angle change on this entity on initial spawn. The value 180 makes the yaw angle entirely random (maybe good for items). This corresponds to the "angle" field. Works on any non-q3map2-only entity.
828 gametypefilter: either a + sign and a comma separated list of game types or the aliases "teams" and "noteams" to ONLY show the entity in the listed game types, or a - sign and a comma separated list of game types or the aliases "teams" and "noteams" to NOT show the entity in the listed game types. The syntax is the same as in sbar_columns_set strings. Works on any non-q3map2-only entity.
829 -------- SPAWNFLAGS --------
830 ALIGN_ORIGIN: align the origin to the surface below the model
831 ALIGN_BOTTOM: align the bottom of the model to the surface below it
832 */
833
834 /*QUAKED func_clientillusionary (0 .5 .8) ? 
835 A client-side non-solid brush entity. Use func_wall if you want it solid.
836 -------- KEYS --------
837 scale: scale factor of the model (range: 0.0625 to 15.9375)
838 colormap: 1024 + 16 * pantscolor + shirtcolor
839 angles: initial looking direction
840 targetname: when invoking it by a button etc., it changes the color to the initiator of the action (e.g. the one pressing a button). In Onslaught, this can be used to color control points for team who owns them. In other game types, this can be used as a fun feature. Works only with _shirt and _pants textures.
841 bgmscript: emitter class from the BGM script
842 bgmscriptattack: attack time of the effect strength (0 to 3.9)
843 bgmscriptdecay: decay time of the effect strength (0 to 3.9)
844 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)
845 bgmscriptrelease: release time of the effect strength (0 to 3.9)
846 movedir: vector by which the entity moves when "pressed" by the bgmscript
847 lip: alpha change when "pressed" by the bgmscript (if > 0, it fades in when pressed, if < 0, it fades out when pressed)
848 originjitter: a vector describing a random offset this entity will be moved on initial spawn. This corresponds to the "origin" field. Works on any non-q3map2-only entity.
849 anglesjitter: a vector in the order "pitch yaw roll" describing a random angles change on this entity on initial spawn. The value 180 180 180 makes the angles entirely random and uniformly distributed (among euler angles). This corresponds to the "angles" field. Works on any non-q3map2-only entity.
850 anglejitter: a float describing a random yaw angle change on this entity on initial spawn. The value 180 makes the yaw angle entirely random (maybe good for items). This corresponds to the "angle" field. Works on any non-q3map2-only entity.
851 gametypefilter: either a + sign and a comma separated list of game types or the aliases "teams" and "noteams" to ONLY show the entity in the listed game types, or a - sign and a comma separated list of game types or the aliases "teams" and "noteams" to NOT show the entity in the listed game types. The syntax is the same as in sbar_columns_set strings. Works on any non-q3map2-only entity.
852 -------- Q3MAP2 KEYS --------
853 _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.
854 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
855 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
856 _clonename: template name so one can clone from it
857 min: override automatically found minimum coordinate bounds
858 max: override automatically found maximum coordinate bounds
859 targetname: if targeted by a misc_model, its brushes get inserted into this
860 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
861 */
862
863 /*QUAKED func_clientwall (0 .5 .8) ? 
864 NOTE - THIS ENTITY IS IN MOST USE CASES BROKEN REGARDING CLIENT AND PROJECTILE PREDICTION. DO NOT USE IT. USE FUNC_WALL INSTEAD.
865 A client-side solid brush entity. Use func_clientillusionary if you want it non-solid.
866 -------- KEYS --------
867 solid: solidity: one of 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE (default: 4, any other value causes prediction problems and should not be used until further notice)
868 scale: scale factor of the model (range: 0.0625 to 15.9375)
869 colormap: 1024 + 16 * pantscolor + shirtcolor
870 angles: initial looking direction
871 targetname: when invoking it by a button etc., it changes the color to the initiator of the action (e.g. the one pressing a button). In Onslaught, this can be used to color control points for team who owns them. In other game types, this can be used as a fun feature. Works only with _shirt and _pants textures.
872 bgmscript: emitter class from the BGM script
873 bgmscriptattack: attack time of the effect strength (0 to 3.9)
874 bgmscriptdecay: decay time of the effect strength (0 to 3.9)
875 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)
876 bgmscriptrelease: release time of the effect strength (0 to 3.9)
877 movedir: vector by which the entity moves when "pressed" by the bgmscript
878 lip: alpha change when "pressed" by the bgmscript (if > 0, it fades in when pressed, if < 0, it fades out when pressed)
879 originjitter: a vector describing a random offset this entity will be moved on initial spawn. This corresponds to the "origin" field. Works on any non-q3map2-only entity.
880 anglesjitter: a vector in the order "pitch yaw roll" describing a random angles change on this entity on initial spawn. The value 180 180 180 makes the angles entirely random and uniformly distributed (among euler angles). This corresponds to the "angles" field. Works on any non-q3map2-only entity.
881 anglejitter: a float describing a random yaw angle change on this entity on initial spawn. The value 180 makes the yaw angle entirely random (maybe good for items). This corresponds to the "angle" field. Works on any non-q3map2-only entity.
882 gametypefilter: either a + sign and a comma separated list of game types or the aliases "teams" and "noteams" to ONLY show the entity in the listed game types, or a - sign and a comma separated list of game types or the aliases "teams" and "noteams" to NOT show the entity in the listed game types. The syntax is the same as in sbar_columns_set strings. Works on any non-q3map2-only entity.
883 -------- Q3MAP2 KEYS --------
884 _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.
885 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
886 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
887 _clonename: template name so one can clone from it
888 min: override automatically found minimum coordinate bounds
889 max: override automatically found maximum coordinate bounds
890 targetname: if targeted by a misc_model, its brushes get inserted into this
891 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
892 */
893
894 /*QUAKED misc_teleporter_dest (1 .5 .25) (-16 -16 -24) (16 16 45) 
895 Teleport destination location point for trigger_teleport entities. Do not let it touch the floor, but place it slightly higher (like, 16 units above) for better flow when jumping through it.
896 -------- KEYS --------
897 targetname: make the trigger_teleporter point to this.
898 target: target to activate when a teleporter targeting this is used
899 target2: target to activate when a teleporter targeting this is used
900 target3: target to activate when a teleporter targeting this is used
901 target4: target to activate when a teleporter targeting this is used
902 angle: direction in which player will look when teleported, OR use
903 angles: pitch and yaw when coming out of the teleporter (also specifies the direction the player will aim when coming out)
904 cnt: weight for random selection, in case a teleporter points at multiple misc_teleporter_dest
905 speed: maximum speed cap for the teleported player (if -1, teleported players will have no speed)
906 */
907
908 /*QUAKED onslaught_controlpoint (0 .5 .8) (-32 -32 0) (32 32 128) 
909 Control point.  Be sure to give this enough clearance so that the shootable part has room to exist
910 This should link to an onslaught_controlpoint entity or onslaught_generator entity.
911 -------- KEYS --------
912 targetname: name that onslaught_link entities will use to target this.
913 target: target any entities that are tied to this control point, such as vehicles and buildable structure entities.
914 message: name of this control point (should reflect the location in the map, such as "center bridge", "north tower", etc)
915 */
916
917 /*QUAKED onslaught_generator (0 .5 .8) (-32 -32 -24) (32 32 64) 
918 Base generator.
919
920 onslaught_link entities can target this.
921 -------- KEYS --------
922 team: team that owns this generator (5 = red, 14 = blue, etc), MUST BE SET.
923 targetname: name that onslaught_link entities will use to target this.
924 */
925
926 /*QUAKED onslaught_link (0 .5 .8) (-16 -16 -16) (16 16 16) 
927 Link between control points.
928
929 This entity targets two different onslaught_controlpoint or onslaught_generator entities, and suppresses shielding on both if they are owned by different teams.
930 -------- KEYS --------
931 target: first control point.
932 target2: second control point.
933 */
934
935 /*QUAKED path_corner (.5 .3 0) (-8 -8 -8) (8 8 8) 
936 Path corner entity that func_train will follow.
937 All path_corner entities of a train have to connect in a circular manner, while the func_train shall point to one of the path_corners (ideally the one at the train's starting point)
938 -------- KEYS --------
939 target: point to next path_corner in the path.
940 target2: triggered when a func_train stops at this target
941 target3: triggered when a func_train stops at this target
942 target4: triggered when a func_train stops at this target
943 targetname: the train following the path or the previous path_corner in the path points to this.
944 speed: speed of func_train while moving to this path corner. If unset, the value from the func_train will be used.
945 wait: number of seconds func_train will pause on this path corner before moving to next path corner (default: 0.1; to not wait, set this to -1
946 */
947
948 /*QUAKED runematch_spawn_point (.3 .3 1) (-16 -16 -16) (16 16 16) 
949 Spawn point for runes in a runematch.
950 Runematch can work without runes also, it then spawn runes at random safe locations.
951 */
952
953 /*QUAKED target_assault_roundend (1 0 0) (-8 -8 -8) (8 8 8) 
954 This entity ends the current assault round if triggered or if the timelimit is reached.
955 Ending a round means swapping attacker/defender teams, resetting objectives and rewarding the winning team.
956 Every assault map needs this entity. There should only be one per map.
957 -------- KEYS --------
958 targetname: Name to target this entity
959 */
960
961 /*QUAKED target_assault_roundstart (.5 0 .5) (-8 -8 -8) (8 8 8) 
962 This entity triggers its targets whenever a new assault round is started. This can be used to e.g. activate the first objective.
963 -------- KEYS --------
964 target: targetname of entities to be enabled/triggered on round start (e.g. the first target_objective)
965 target2: targetname of entities to be enabled/triggered on round start (e.g. the func_assault_destructibles targeting the target_objective)
966 target3: targetname of entities to be enabled/triggered on round start
967 target4: targetname of entities to be enabled/triggered on round start
968 */
969
970 /*QUAKED target_objective (.5 0 .5) (-8 -8 -8) (8 8 8) 
971 target_objective controls an objective. Once triggered the objective is active and has 100 "health" points. If this "health" falls below zero it is assumed this objective has been fulfilled and entities targeted will be triggered (e.g. to activate the next objective or to end this round). Use target_objective_decrease to decrease the objective health.
972 -------- KEYS --------
973 target: targetname of entities to be enabled/triggered on objective fulfilling (e.g. the next target_objective, or target_assault_roundend)
974 target2: targetname of entities to be enabled/triggered on objective fulfilling (e.g. the func_assault_destructibles targeting the target_objective)
975 target3: targetname of entities to be enabled/triggered on objective fulfilling
976 target4: targetname of entities to be enabled/triggered on objective fulfilling
977 targetname: targetname for this entity so it can be triggered by other entities.
978 */
979
980 /*QUAKED target_objective_decrease (0 1 0) (-8 -8 -8) (8 8 8) 
981 When triggered decreases health of the targeted target_objective by the amount specified in dmg. Remember, target_objective has 100 health points and is considered conquered if health falls below zero.
982 If you want e.g. two events to happen to conquer an objective you'd need two target_objective_decrease, each with a value for cnt of e.g. 51. To show attackers and defenders where to go, target_objective_decrease will show a fitting sprite ("Defend" to defenders, "Destroy"/"Push" to attackers) which can be seen through walls.
983 -------- KEYS --------
984 target: The targetname of the target_objective you want to manipulate.
985 targetname: Name for other entities to target this entity.
986 dmg: The amount of "health"-points you want to subtract from the objective health. Defaults to 101. Also used as score for triggering this objective.
987 */
988
989 /*QUAKED target_position (0 .5 0) (-8 -8 -8) (8 8 8) 
990 Aiming target for entities like light and trigger_push.
991 -------- KEYS --------
992 targetname: the entity that requires an aiming direction points to this.
993 target: target to activate when a jumppad targeting this is used
994 */
995
996 /*QUAKED target_speaker (0 .7 .7) (-8 -8 -8) (8 8 8) LOOPED_ON LOOPED_OFF GLOBAL ACTIVATOR
997 Sound generating entity that plays sound files.
998 If targeted, it plays the sound file every time when triggered.
999 If not targeted, it loops the sound file as an ambient noise.
1000 The sound name may also be of the form *soundname, and in that case the respective player sound is played
1001 -------- KEYS --------
1002 noise: path/name of .wav/.ogg file to play
1003 targetname: the activating button or trigger points to this.
1004 atten: distance attenuation of the sound (a value from 0.1 to 3.9), default is 0.5 if targeted, 3 otherwise; set to -1 for no attenuation (global sound)
1005 volume: volume of the sound
1006 -------- SPAWNFLAGS --------
1007 LOOPED_ON: the sound is looped and initially plays (the sound file MUST have the LOOP_START vorbis comment then!). It can be toggled by a trigger.
1008 LOOPED_OFF: the sound is looped and initially does not play (the sound file MUST have the LOOP_START vorbis comment then!). It can be toggled by a trigger.
1009 GLOBAL: the sound plays with no attenuation (same as setting atten to -1)
1010 ACTIVATOR: the sound is played to the activator only when triggered (cannot be combined with LOOPED_ON and LOOPED_OFF)
1011 */
1012
1013 /*QUAKED trigger_counter (.5 .5 .5) ? NOMESSAGE
1014 Acts as an intermediary for an action that takes multiple inputs.
1015 After the counter has been triggered "count" times, it will fire all of its targets and remove itself.
1016 -------- KEYS --------
1017 count: how many times this needs to be triggered to activate its targets
1018 target: trigger all entities with this targetname when triggered
1019 targetname: name that identifies this entity so it can be triggered
1020 delay: delay the triggering by the given time
1021 message: print this message to the player who activated the trigger
1022 killtarget: remove all entities with this targetname when triggered
1023 -------- SPAWNFLAGS --------
1024 NOMESSAGE: don't print a "2 more to go..."-like message when triggered
1025 */
1026
1027 /*QUAKED trigger_delay (.5 .5 .5) (-8 -8 -8) (8 8 8) 
1028 Trigger that delays triggering by a given amount of time. Only one action can be waited for; if triggered again before the "wait" time expires, the timer will restart (as opposed to trigger_relay).
1029 -------- KEYS --------
1030 wait: delay the triggering by the given time
1031 target: trigger all entities with this targetname when triggered
1032 targetname: name that identifies this entity so it can be triggered
1033 message: print this message to the player who activated the trigger
1034 killtarget: remove all entities with this targetname when triggered
1035 */
1036
1037 /*QUAKED trigger_hurt (.5 .5 .5) ? - - INVERT_TEAM
1038 Any object touching this will be hurt.
1039 Has the useful effect of automatically returning flags, keys and runes when they touch it.
1040 -------- KEYS --------
1041 dmg: amount of damage to deal (default: 1000)
1042 message: kill message when someone gets killed by this (default: "was in the wrong place")
1043 message2: kill message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
1044 team: team that gets hurt (5 = red, 14 = blue, etc) (when set, only this team can get hurt)
1045 targetname: if triggered using this target name, the activator will be the one who gets the frag awarded for hurting someone using this trigger (hint: The Frag Pipe)
1046 -------- SPAWNFLAGS --------
1047 INVERT_TEAM: the team that owns this will NOT jump when touching this
1048 */
1049
1050 /*QUAKED trigger_impulse (.5 .5 .5) ? 
1051 An accelerator/dampener/wind field.
1052 Can be used in two ways:
1053 "dampener field": just set strength to a value from 0 to 1. Entering the field will slow down to this factor.
1054 "accelerator field": just set strength to a value from 1 to infinity. Entering the field will accelerate by this factor.
1055 "wind field": set strength to the amount of velocity to add per second, and target a target_position. The field will apply force in the direction from its own origin to the target (use an origin brush to specify its own origin, or this will fail) when touched.
1056 "gravity field": set strength to the amount of velocity to add per second at the center, and set radius to the radius of the field. Set falloff to the desired falloff characteristics.
1057 -------- KEYS --------
1058 target: "wind field": points to the target_position to which the player will get pushed.
1059 strength: "wind field", "gravity field": amount of force per second to apply. "dampener/accelerator field": slowdown/speedup factor.
1060 falloff: "gravity field": 0 means no falloff, 1 means linear falloff (zero at the outside), 2 means inverted linear falloff (zero at the inside)
1061 */
1062
1063 /*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH ALLENTS INVERT_TEAM - - - - - NOSPLASH
1064 Variable sized repeatable trigger.  Must be targeted at one or more entities.  If "health" is set, the trigger must be killed to activate each time.
1065 -------- KEYS --------
1066 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)
1067 wait: prevent triggering again for this amount of time (default: 0.2, set to -1 to wait indefinitely, or -2 to not wait at all)
1068 sounds: 1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav
1069 noise: path to sound file, if you want to play something else
1070 target: trigger all entities with this targetname when triggered
1071 target2: trigger all entities with this targetname when triggered
1072 target3: trigger all entities with this targetname when triggered
1073 target4: trigger all entities with this targetname when triggered
1074 targetname: name that identifies this entity so it can be triggered
1075 delay: delay the triggering by the given time
1076 message: print this message to the player who activated the trigger
1077 killtarget: remove all entities with this targetname when triggered
1078 team: team that owns this trigger (5 = red, 14 = blue, etc) (when set, only this team can trigger)
1079 -------- SPAWNFLAGS --------
1080 NOTOUCH: the trigger can only be triggered by other entities, not by touching or firing (you should probably use trigger_relay or trigger_delay instead)
1081 ALLENTS: the trigger responds to all entities, not just players (useful for targetting trigger_items)
1082 INVERT_TEAM: the team that owns the trigger will NOT trigger when touching this
1083 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
1084 */
1085
1086 /*QUAKED trigger_once (.5 .5 .5) ? NOTOUCH - - - - - - - NOSPLASH
1087 Variable sized repeatable trigger.  Must be targeted at one or more entities.  If "health" is set, the trigger must be killed to activate each time.
1088 Basically, it's a use-once trigger_multiple.
1089 -------- KEYS --------
1090 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)
1091 sounds: 1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav
1092 noise: path to sound file, if you want to play something else
1093 target: trigger all entities with this targetname when triggered
1094 targetname: name that identifies this entity so it can be triggered
1095 delay: delay the triggering by the given time
1096 message: print this message to the player who activated the trigger
1097 killtarget: remove all entities with this targetname when triggered
1098 -------- SPAWNFLAGS --------
1099 NOTOUCH: the trigger can only be triggered by other entities, not by touching or firing (you should probably use trigger_relay or trigger_delay instead)
1100 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
1101 */
1102
1103 /*QUAKED trigger_push (1 .5 0) ? - - INVERT_TEAM
1104 Jump pad. What else?
1105 Can be used in three ways:
1106 Xonotic "target/height" way: put the target_position where the player should land, and tune height to get a nice jump path. A good starting value for height is 100.
1107 Q3A "target" way: put the target_position at the apex of the jump, and hope the player will land at the right spot. Good luck.
1108 Quake "movedir/speed" way: player will get velocity movedir * speed * 10 when using the jump pad
1109 -------- KEYS --------
1110 target: point the player will fly to when using the jump pad (use a target_position here)
1111 height: if height is 0, the (player's origin at the) apex of the jump will be at the target; otherwise, the apex will be abs(height) above the higher point of player's origin and the target; if positive, the apex will be reached in the jump from initial origin to target
1112 movedir: when target is not set, direction vector to push to
1113 speed: speed of jump pad (default: 1000)
1114 noise: sound to play when jump pad is used; default is misc/jumppad.wav; you can set it to "" to make the pad silent
1115 team: team that owns this jump pad (5 = red, 14 = blue, etc) (when set, only this team can teleport)
1116 targetname: when targeted by a func_button, pressing the button will reassign the teleporter to the team of the activator.
1117 -------- SPAWNFLAGS --------
1118 INVERT_TEAM: the team that owns the teleporter will NOT jump when touching this
1119 */
1120
1121 /*QUAKED trigger_relay (.5 .5 .5) (-8 -8 -8) (8 8 8) 
1122 This fixed size trigger cannot be touched, it can only be fired by other events. It can, like any other trigger, contain killtargets, targets, delays, and messages.
1123 One possible use is to trigger entities with more than one targetname on an action, e.g. a button. For this, set target of your button to foobar. Create two trigger_relay with targetname=foobar. Give one of the trigger_relay entities target=ent1, and give the other target=ent2.
1124 More than one "trigger event" can be delayed at once, as opposed to trigger_delay.
1125 -------- KEYS --------
1126 target: trigger all entities with this targetname when triggered
1127 target2: trigger all entities with this targetname when triggered
1128 target3: trigger all entities with this targetname when triggered
1129 target4: trigger all entities with this targetname when triggered
1130 targetname: name that identifies this entity so it can be triggered
1131 delay: delay the triggering by the given time
1132 message: print this message to the player who activated the trigger
1133 killtarget: remove all entities with this targetname when triggered
1134 */
1135
1136 /*QUAKED trigger_swamp (.5 .5 .5) ? 
1137 Players getting into the swamp will get slowed down and damaged
1138 -------- KEYS --------
1139 dmg: damage per interval to deal (default is 5)
1140 swamp_interval: interval of damage when in swamp (default is 1)
1141 swamp_slowdown: amount of slowdown caused by the swamp (default is 0.5)
1142 */
1143
1144 /*QUAKED trigger_teleport (.5 .5 .5) ? - - INVERT_TEAM
1145 Touching this will teleport players to the location of the targeted misc_teleporter_dest entity.
1146 Note that in Xonotic, teleporters preserve momentum of the player using them.
1147 -------- KEYS --------
1148 target: this must point to a misc_teleporter_dest entity. If it points to more than one, a destination is randomly selected on teleport.
1149 target2: target to activate when the teleporter is used
1150 target3: target to activate when the teleporter is used
1151 target4: target to activate when the teleporter is used
1152 team: team that owns this teleporter (5 = red, 14 = blue, etc) (when set, only this team can teleport)
1153 targetname: when targeted by a func_button, pressing the button will reassign the teleporter to the team of the activator.
1154 -------- SPAWNFLAGS --------
1155 INVERT_TEAM: the team that owns the teleporter will NOT teleport when touching this
1156 */
1157
1158 /*QUAKED weapon_crylink (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1159 the Crylink
1160 -------- KEYS --------
1161 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1162 respawntime: time till it respawns (default: 15)
1163 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1164 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1165 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1166 -------- SPAWNFLAGS --------
1167 FLOATING: the item will float in air, instead of aligning to the floor by falling
1168 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1169 modeldisabled="models/weapons/g_crylink.md3"
1170 */
1171
1172 /*QUAKED weapon_electro (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1173 the Electro
1174 -------- KEYS --------
1175 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1176 respawntime: time till it respawns (default: 15)
1177 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1178 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1179 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1180 -------- SPAWNFLAGS --------
1181 FLOATING: the item will float in air, instead of aligning to the floor by falling
1182 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1183 modeldisabled="models/weapons/g_electro.md3"
1184 */
1185
1186 /*QUAKED weapon_grenadelauncher (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1187 the Mortar
1188 -------- KEYS --------
1189 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1190 respawntime: time till it respawns (default: 15)
1191 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1192 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1193 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1194 -------- SPAWNFLAGS --------
1195 FLOATING: the item will float in air, instead of aligning to the floor by falling
1196 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1197 modeldisabled="models/weapons/g_gl.md3"
1198 */
1199
1200 /*QUAKED weapon_hagar (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1201 the Hagar
1202 -------- KEYS --------
1203 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1204 respawntime: time till it respawns (default: 15)
1205 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1206 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1207 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1208 -------- SPAWNFLAGS --------
1209 FLOATING: the item will float in air, instead of aligning to the floor by falling
1210 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1211 modeldisabled="models/weapons/g_hagar.md3"
1212 */
1213
1214 /*QUAKED weapon_laser (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1215 the Laser. Note that unless you use
1216   settemp_for_type all g_start_weapon_laser 0
1217 in your mapinfo file, everyone will already spawn with one, making this pickup useless.
1218 -------- KEYS --------
1219 respawntime: time till it respawns (default: 15)
1220 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1221 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1222 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1223 -------- SPAWNFLAGS --------
1224 FLOATING: the item will float in air, instead of aligning to the floor by falling
1225 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1226 modeldisabled="models/weapons/g_laser.md3"
1227 */
1228
1229 /*QUAKED weapon_nex (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1230 the Nex
1231 In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.
1232 -------- KEYS --------
1233 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1234 respawntime: time till it respawns (default: 15 * g_balance_nex_respawntime_modifier)
1235 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1236 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1237 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1238 -------- SPAWNFLAGS --------
1239 FLOATING: the item will float in air, instead of aligning to the floor by falling
1240 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1241 modeldisabled="models/weapons/g_nex.md3"
1242 */
1243
1244 /*QUAKED weapon_rocketlauncher (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1245 the Rocket Launcher
1246 In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.
1247 -------- KEYS --------
1248 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1249 respawntime: time till it respawns (default: 15)
1250 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1251 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1252 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1253 -------- SPAWNFLAGS --------
1254 FLOATING: the item will float in air, instead of aligning to the floor by falling
1255 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1256 modeldisabled="models/weapons/g_rl.md3"
1257 */
1258
1259 /*QUAKED weapon_shotgun (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1260 the Shotgun. Note that unless you use
1261   settemp_for_type all g_start_weapon_shotgun 0
1262 in your mapinfo file, everyone will already spawn with one, making this pickup useless.
1263 -------- KEYS --------
1264 ammo_shells: initial shells of the weapon (if unset, g_pickup_shells is used)
1265 respawntime: time till it respawns (default: 15)
1266 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1267 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1268 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1269 -------- SPAWNFLAGS --------
1270 FLOATING: the item will float in air, instead of aligning to the floor by falling
1271 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1272 modeldisabled="models/weapons/g_shotgun.md3"
1273 */
1274
1275 /*QUAKED weapon_uzi (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1276 the Machine Gun
1277 -------- KEYS --------
1278 ammo_nails: initial bullets of the weapon (if unset, g_pickup_nails is used)
1279 respawntime: time till it respawns (default: 15)
1280 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1281 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1282 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1283 -------- SPAWNFLAGS --------
1284 FLOATING: the item will float in air, instead of aligning to the floor by falling
1285 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1286 modeldisabled="models/weapons/g_uzi.md3"
1287 */
1288
1289 /*QUAKED worldspawn (0 0 0) ? 
1290 The world.
1291 If you see this, the currently selected brush is not of an entity.
1292 -------- KEYS --------          
1293 fog: fog parameters of the map (density red green blue alpha mindist maxdist maxheight fade-height); works just like the "fog" console command
1294 author: name of the author of the map, if not specified in "message". Will get copied to the "author" entry of the mapinfo file when none is present.
1295 message: text to print at user logon. Used for name of level. Ideally: "NAMEOFLEVEL by AUTHOR". Will get copied to the "title" and "author" entries of the mapinfo file when none is present.
1296 _description: one-line description of the map. Will get copied to the "description" entry of the mapinfo file when none is present.
1297 -------- Q3MAP2 KEYS --------
1298 _blocksize: vector specifying the automatic vis subdivision block size (default: 1024 1024 1024)
1299 gridsize: lightgrid granularity vector (default: 64 64 128)
1300 _color: color of the global light parameters
1301 _ambient: light added to all surfaces
1302 _mingridlight: minimum grid light
1303 _minlight: minimum light value on both surfaces and lightgrid
1304 _keepLights: do not remove light entities from the map (useful e.g. for realtime lighting)
1305 _floodlight: flood light parameters (red green blue distance intensity), start with 240 240 255 1024 128
1306 _farplanedist: range after which everything is completely invisible by fog (when fog is being used)
1307 _noshadersun: turn off sun defined by shaders (useful if you defined your own light entity to be a sun)
1308 _ignoreleaks: ignore leaks when compiling
1309 _lightmapscale: light map resolution factor
1310 _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting.1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.
1311 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
1312 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
1313 */
1314
1315 /*QUAKED trigger_race_checkpoint (0 1 0) ? NOTOUCH STRICTTRIGGER CRUSH FINISH
1316 A checkpoint, for the race game mode. Be sure to make them quite long, so they actually catch a player reliably!
1317 -------- KEYS --------
1318 cnt: Number of the checkpoint. 0 for start/finish line, and at least two other checkpoints have to exist. They MUST be touched in sequential order!
1319 message: Death message, when touching checkpoints in the wrong order.
1320 message2: Death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
1321 targetname: Name of the checkpoint. info_player_race can target this to assign a spawn to a checkpoint. Also used for triggering a checkpoint by an event.
1322 target: when the checkpoint is passed, these entities are triggered. Useful for forcing items in certain areas using trigger_items
1323 race_penalty: when set, this penalty time is given if passing this checkpoint, and the checkpoint does not show up with a sprite. Useful for invisible checkpoints to detect driving around the intended checkpoint
1324 race_penalty_reason: reason to display when the penalty time is imposed. Default: "missing a checkpoint"
1325 -------- SPAWNFLAGS --------
1326 NOTOUCH: the checkpoint will not become active when touched, it HAS to be targeted
1327 STRICTTRIGGER: only trigger the targets when the checkpoint actually was reached in a valid way (that is, not when going back)
1328 CRUSH: the checkpoint kills when used at the wrong time
1329 FINISH: when set on the last checkpoint (i.e. the one with highest cnt), it is marked as finish line and the CP with cnt=0 is the start line
1330 */
1331
1332 /*QUAKED trigger_race_penalty (0 1 0) ? NOTOUCH
1333 A penalty trigger.
1334 -------- KEYS --------
1335 race_penalty: this penalty time is given if passing this trigger
1336 race_penalty_reason: reason to display when the penalty time is imposed. Default: "leaving the track"
1337 -------- SPAWNFLAGS --------
1338 NOTOUCH: the trigger will not become active when touched, it HAS to be targeted
1339 */
1340
1341 /*QUAKED info_player_race (1 0.5 0) (-16 -16 -24) (16 16 45) 
1342 Race spawn point.
1343 NOTE for race_place: when the race starts after the qualifying, the player with the fastest lap ends up at the info_player_race with race_place 1, and so on. If there are too many players, or if someone comes in later, he will spawn at an info_player_race with highest race_place. If someone dies after reaching the the starting checkpoint, he will spawn at race_place 0. So for each trigger_race_checkpoint, there must be at least one corresponding info_player_race with race_place NOT set.
1344 -------- KEYS --------
1345 target: this should point to a trigger_race_checkpoint to decide when this spawning point is active. The checkpoint has to be AFTER this spawn.
1346 target2: trigger all entities with this targetname when someone spawns
1347 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
1348 race_place: if target points to the trigger_race_checkpoint with cnt 0 (finish line), this sets which place the spawn corresponds to; the special value 0 stands for spawns for players who died in game, and -1 marks the spawnpoint for qualifying mode only; any race map must have spawnpoints with race_place being 1, 2, 3 or it gets marked as a frustrating map
1349 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
1350 */
1351
1352 /*QUAKED func_pointparticles (.5 .5 .5) ? START_ON IMPULSE VISCULLING
1353 A brush that emits particles.
1354 -------- KEYS --------
1355 mdl: particle effect name from effectinfo.txt
1356 impulse: when positive, number of particles to emit per second; when negative; number of particles to emit per second and 64^3 block
1357 velocity: particle direction and speed
1358 waterlevel: extra velocity jitter amount
1359 count: particle count multiplier (per spawned particle)
1360 movedir: when set, trace direction (particles will then be emitted from the surface the trace hits); the length of the vector is used as strength of taking the normal of the trace into account
1361 noise: sound to play when the particle is emitted
1362 atten: distance attenuation of the sound (a value from 0.1 to 3.9), default is 0.5; set to -1 for no attenuation (global sound)
1363 volume: volume of the sound
1364 targetname: name to target this (then its state is toggled)
1365 bgmscript: emitter class from the BGM script
1366 bgmscriptattack: attack time of the effect strength (0 to 3.9)
1367 bgmscriptdecay: decay time of the effect strength (0 to 3.9)
1368 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)
1369 bgmscriptrelease: release time of the effect strength (0 to 3.9)
1370 -------- SPAWNFLAGS --------
1371 START_ON: when targeted, the particle emitter will start switched on
1372 IMPULSE: only send the full amount of impulse particles when the entity is triggered
1373 VISCULLING: only emit particles if the emitter brush is in the current PVS
1374 -------- NOTES --------
1375 Use trigger_monoflop if you want the particles to turn off for a while, then turn back on.
1376 A BGM script is a .bgs file named like the map, in the maps directory. Its format is lines of the form
1377   <emitter class> <time since start of background music> <0 if the emitters are to be switched off, >0 and <=1 if they are to be switched on>
1378 e.g.
1379   smokers 4.7 1
1380   smokers 4.9 0
1381 The lines MUST be sorted by emitter class as primary key, and by the time since start of the BGM as secondary key.
1382 */
1383
1384 /*QUAKED trigger_flipflop (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON
1385 "Flip-flop" trigger gate... lets only every second trigger event through
1386 -------- KEYS --------
1387 target: trigger all entities with this targetname when triggered
1388 targetname: name that identifies this entity so it can be triggered
1389 -------- SPAWNFLAGS --------
1390 START_ON: assume it is already turned on (so the first event is NOT passed through)
1391 */
1392
1393 /*QUAKED trigger_monoflop (.5 .5 .5) (-8 -8 -8) (8 8 8) FIXED
1394 "Mono-flop" trigger gate... turns trigger events into pairs of events
1395 -------- KEYS --------
1396 target: trigger all entities with this targetname when triggered
1397 targetname: name that identifies this entity so it can be triggered
1398 wait: time to wait until the "off" event is fired
1399 -------- SPAWNFLAGS --------
1400 FIXED: do pulses of fixed length (so the "off" delay is NOT extended as usual and new events are just ignored)
1401 */
1402
1403 /*QUAKED trigger_multivibrator (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON
1404 "Multivibrator" trigger gate... repeatedly sends trigger events. When triggered, turns on or off.
1405 -------- KEYS --------
1406 target: trigger all entities with this targetname when it goes off
1407 targetname: name that identifies this entity so it can be triggered
1408 phase: phase of the multivibrator (it is added to the time)
1409 wait: "on" cycle time (default: 1)
1410 respawntime: "off" cycle time (default: same as wait)
1411 -------- SPAWNFLAGS --------
1412 START_ON: assume it is already turned on (when targeted)
1413 */
1414
1415 /*QUAKED trigger_gamestart (.5 .5 .5) (-8 -8 -8) (8 8 8)
1416 Triggers once when the game starts, then no longer does anything.
1417 -------- KEYS --------
1418 target: trigger all entities with this targetname when starting the game
1419 target2: trigger all entities with this targetname when starting the game
1420 target3: trigger all entities with this targetname when starting the game
1421 target4: trigger all entities with this targetname when starting the game
1422 wait: wait so many seconds before triggering
1423 */
1424
1425 /*QUAKED misc_follow (.5 .5 .5) (-8 -8 -8) (8 8 8) ATTACH LOCAL
1426 Makes one entity follow another. Will not work with all entities.
1427 -------- KEYS --------
1428 target: points to the entity to move (e.g. something that won't move by itself)
1429 killtarget: points to the entity that is to be used as the source (e.g. a func_plat)
1430 message: tag name to attach to (if ATTACH is used)
1431 punchangle: angle modifier (if LOCAL is used, and ATTACH is not)
1432 -------- SPAWNFLAGS --------
1433 ATTACH: attachment will be used instead of MOVETYPE_FOLLOW (mostly useful for attaching stuff to ZYM models)
1434 LOCAL: do not untransform the coordinates (that is, the map specifies local coordinates, not global ones). Mostly useful with ATTACH.
1435 */
1436
1437 /*QUAKED weapon_minstanex (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1438 Placing this entity on a map kills your cat, voids the warranty on your toaster, and makes your map an unenjoyable campers' paradise.
1439 the MinstaGib Nex. Always kills with one shot.
1440 -------- KEYS --------
1441 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1442 respawntime: time till it respawns (default: 15)
1443 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1444 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1445 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1446 -------- SPAWNFLAGS --------
1447 FLOATING: the item will float in air, instead of aligning to the floor by falling
1448 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1449 modeldisabled="models/weapons/g_minstanex.md3"
1450 */
1451
1452 /*QUAKED weapon_porto (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1453 the Port-O-Launch. Only can be shot once.
1454 Portals cannot be made on noimpact surfaces, and the portal missile will bounce on slick surfaces.
1455 -------- KEYS --------
1456 respawntime: time till it respawns (default: 120)
1457 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1458 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1459 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1460 -------- SPAWNFLAGS --------
1461 FLOATING: the item will float in air, instead of aligning to the floor by falling
1462 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1463 modeldisabled="models/weapons/g_porto.md3"
1464 */
1465
1466 /*QUAKED target_items (0 0 1) (-8 -8 -8) (8 8 8) AND OR ANDNOT
1467 Sets the items of any player who triggers this.
1468 For the number fields, not specifying a value means not changing it. To clear armor, you need to explicitly set "armor" to "-1".
1469 You may want to target this by a race checkpoint, a teleporter, or a trigger_multiple with ALLENTS set (so it removes weapons thrown through the field to avoid getting a weapon through it).
1470 -------- KEYS --------
1471 targetname: used to trigger this
1472 netname: space separated list of items (either weapon short names (like in g_start_weapon_* cvars), or item short names "unlimited_ammo", "unlimited_weapon_ammo", "unlimited_superweapons", "invincible", "strength", "jetpack" and "fuel_regen"
1473 message: message to print
1474 ammo_shells: amount of shells
1475 ammo_nails: amount of bullets
1476 ammo_rockets: amount of rockets
1477 ammo_cells: amount of cells
1478 ammo_fuel: amount of fuel
1479 health: amount of health
1480 armorvalue: amount of armor
1481 strength_finished: if "strength" is specified, the time in seconds for which the strength will hold
1482 invincible_finished: if "invincible" is specified, the time in seconds for which the invincibility will hold
1483 -------- SPAWNFLAGS --------
1484 AND: any items not listed will get removed, and none will get added
1485 OR: the player may keep items not listed
1486 ANDNOT: the items listed will get removed from the player
1487 */
1488
1489 /*QUAKED target_spawn (1 0 1) (-8 -8 -8) (8 8 8) - ONLOAD
1490 Spawns or modifies an entity when triggered.
1491 The entity field list is a single string of the form:
1492 'field' 'value' 'field' 'value' ... 'classname' 'item_bullets' ... 'field' 'value'
1493 The special "field" name $ calls a void(void) function, for example a spawn function.
1494 Special function names available are _setmodel and _setsize.
1495 Field values can use various variable replacements:
1496 $E
1497 $E.field
1498 $E.field+offset
1499 $E.field+offset+randomoffset
1500 where "E" can be self, activator, target (the entity being created/modified), killtarget, target2, target3, target4 and pusher.
1501 Example is a Mario-style question mark block which could throw a new weapon_nex when activated like this:
1502 {
1503 "classname" "func_button"
1504 "angle" "-1"
1505 "wait" "5"
1506 "target" "makenex"
1507 "speed" "1000"
1508 "lip" "64"
1509 ...
1510 }
1511 {
1512 "classname" "target_spawn"
1513 "origin" "0 0 448"
1514 "targetname" "makenex"
1515 "message" "origin $self.origin owner $activator flags 65536 colormap $activator.colormap classname droppedweapon $ spawnfunc_weapon_nex think thrown_wep_think nextthink $time+0.5 velocity $activator.velocity velocity_z 512 movetype 3"
1516 }
1517 -------- KEYS --------
1518 targetname: used to trigger this
1519 message: entity field list
1520 target: when set, target_spawn edits entities, instead of creating new ones; the special value *activator causes the activator to be edited
1521 count: make sure no more than count entities have been created by this (refuse to spawn new ones if exceeded)
1522 killtarget: reference entity (can be used as $killtarget)
1523 target2: reference entity (can be used as $target2)
1524 target3: reference entity (can be used as $target3)
1525 target4: reference entity (can be used as $target4)
1526 -------- SPAWNFLAGS --------
1527 ONLOAD: create a first entity on map load
1528 */
1529
1530 /*QUAKED misc_breakablemodel (1 0 0) ? DISABLED INDICATE - - - - - - NOSPLASH
1531 This is a model which can be damaged.
1532 Once all health is consumed it'll disappear and trigger the targeted entity/entities.
1533 When triggered, it resets to full health, and unbreaks.
1534 -------- KEYS --------
1535 model: file name of model to include
1536 health: The damage this trigger can take
1537 target: The entity/entities to be triggered once this entity gets invisible
1538 targetname: The name other entities can use to target this entity
1539 mdl: particle effect name to show when destroyed
1540 count: particle effect multiplier
1541 mdl_dead: optional replacement model to show when destroyed
1542 debris: names of debris models to show when destroyed, separated by spaces
1543 noise: sound to play when destroyed
1544 dmg: damage to deal to the environment when destroyed
1545 dmg_edge: edge damage to deal to the environment when destroyed
1546 dmg_radius: damage radius
1547 dmg_force: damage force
1548 message: death message when a player gets hit by the explosion
1549 message2: death message when someone gets pushed into this (default: "was pushed into an explosion by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
1550 debrismovetype: way in which the debris moves: one of 1 = ANGLENOCLIP, 2 = ANGLECLIP, 3 = WALK, 4 = STEP, 5 = FLY, 6 = TOSS, 7 = PUSH, 8 = NOCLIP, 9 = FLYMISSILE, 10 = BOUNCE, 11 = BOUNCEMISSILE
1551 debrissolid: solidity of the debris: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE
1552 debrisvelocity: initial velocity vector of the debris (static part)
1553 debrisvelocityjitter: initial velocity vector of the debris (random part)
1554 debrisavelocityjitter: initial angular velocity vector of the debris (random part)
1555 debristime: time till the debris fades (average)
1556 debristimejitter: time till the debris fades (random part)
1557 debrisfadetime: how long debris takes to fade
1558 debrisdamageforcescale: how much debris is affected by damage force (e.g. explosions)
1559 debrisskin: skin number of debris
1560 respawntime: time till it respawns (default: no auto respawn)
1561 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1562 -------- SPAWNFLAGS --------
1563 DISABLED: do not allow damaging this until it is first activated
1564 INDICATE: indicate amount of damage already taken by coloring
1565 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
1566 */
1567
1568 /*QUAKED func_breakable (1 0 0) ? DISABLED INDICATE - - - - - - NOSPLASH
1569 This is a brush model which can be damaged.
1570 Once all health is consumed it'll disappear and trigger the targeted entity/entities.
1571 When triggered, it resets to full health, and unbreaks.
1572 -------- KEYS --------
1573 health: The damage this trigger can take
1574 target: The entity/entities to be triggered once this entity gets invisible
1575 targetname: The name other entities can use to target this entity
1576 mdl: particle effect name to show when destroyed
1577 count: particle effect multiplier
1578 mdl_dead: optional replacement model to show when destroyed
1579 debris: names of debris models to show when destroyed, separated by spaces
1580 noise: sound to play when destroyed
1581 dmg: damage to deal to the environment when destroyed
1582 dmg_edge: edge damage to deal to the environment when destroyed
1583 dmg_radius: damage radius
1584 dmg_force: damage force
1585 message: death message when a player gets hit by the explosion
1586 message2: death message when someone gets pushed into this (default: "was pushed into an explosion by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
1587 debrismovetype: way in which the debris moves: one of 1 = ANGLENOCLIP, 2 = ANGLECLIP, 3 = WALK, 4 = STEP, 5 = FLY, 6 = TOSS, 7 = PUSH, 8 = NOCLIP, 9 = FLYMISSILE, 10 = BOUNCE, 11 = BOUNCEMISSILE
1588 debrissolid: solidity of the debris: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE
1589 debrisvelocity: initial velocity vector of the debris (static part)
1590 debrisvelocityjitter: initial velocity vector of the debris (random part)
1591 debrisavelocityjitter: initial angular velocity vector of the debris (random part)
1592 debristime: time till the debris fades (average)
1593 debristimejitter: time till the debris fades (random part)
1594 debrisfadetime: how long debris takes to fade
1595 debrisdamageforcescale: how much debris is affected by damage force (e.g. explosions)
1596 debrisskin: skin number of debris
1597 respawntime: time till it respawns (default: no auto respawn)
1598 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1599 -------- SPAWNFLAGS --------
1600 DISABLED: do not allow damaging this until it is first activated
1601 INDICATE: indicate amount of damage already taken by coloring
1602 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
1603 */
1604
1605 /*QUAKED trigger_relay_if (0 1 0) (-8 -8 -8) (8 8 8) NEGATE
1606 Relays the trigger event if a cvar is set to a specified value.
1607 -------- KEYS --------
1608 target: The entity/entities to relay the trigger events to
1609 targetname: The name other entities can use to target this entity
1610 netname: The name of the cvar to check
1611 message: The value of the cvar to check
1612 count: The count of entities that must be found
1613 -------- SPAWNFLAGS --------
1614 NEGATE: trigger if the cvar does NOT match the value.
1615 */
1616
1617 /*QUAKED weapon_hlac (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1618 the Heavy Laser Assault Cannon.
1619 -------- KEYS --------
1620 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1621 respawntime: time till it respawns (default: 30)
1622 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1623 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1624 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1625 -------- SPAWNFLAGS --------
1626 FLOATING: the item will float in air, instead of aligning to the floor by falling
1627 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1628 modeldisabled="models/weapons/g_hlac.md3"
1629 */
1630
1631 /*QUAKED weapon_minelayer (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1632 the Mine Layer.
1633 -------- KEYS --------
1634 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1635 respawntime: time till it respawns (default: 30)
1636 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1637 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1638 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1639 -------- SPAWNFLAGS --------
1640 FLOATING: the item will float in air, instead of aligning to the floor by falling
1641 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1642 modeldisabled="models/weapons/g_minelayer.md3"
1643 */
1644
1645 /*QUAKED weapon_seeker (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1646 Placing this entity on a map kills your dog, voids the warranty on your car, and makes your map an unenjoyable noobs' paradise.
1647 the T.A.G. Seeker.
1648 -------- KEYS --------
1649 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1650 respawntime: time till it respawns (default: 30)
1651 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1652 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1653 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1654 -------- SPAWNFLAGS --------
1655 FLOATING: the item will float in air, instead of aligning to the floor by falling
1656 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1657 modeldisabled="models/weapons/g_seeker.md3"
1658 */
1659
1660 /*QUAKED weapon_hook (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1661 the on-hand Grappling Hook.
1662 -------- KEYS --------
1663 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1664 respawntime: time till it respawns (default: 30)
1665 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1666 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1667 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1668 -------- SPAWNFLAGS --------
1669 FLOATING: the item will float in air, instead of aligning to the floor by falling
1670 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1671 modeldisabled="models/weapons/g_hookgun.md3"
1672 */
1673
1674 /*QUAKED trigger_heal (.5 .5 .5) ?
1675 Any object touching this will be healed.
1676 -------- KEYS --------
1677 health: health to give per second (default 10)
1678 max_health: max health this trigger will give (default 200)
1679 noise: sound file to play (use misc/null.wav to make it silent), default = item_health_medium sound
1680 */
1681
1682 /*QUAKED weapon_rifle (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1683 the Sniper Rifle.
1684 -------- KEYS --------
1685 ammo_nails: initial bullets of the weapon (if unset, g_pickup_nails is used)
1686 respawntime: time till it respawns (default: 30)
1687 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1688 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1689 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1690 -------- SPAWNFLAGS --------
1691 FLOATING: the item will float in air, instead of aligning to the floor by falling
1692 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1693 modeldisabled="models/weapons/g_campingrifle.md3"
1694 */
1695
1696 /*QUAKED func_fourier (0 .5 .8) ?
1697 Solid entity that oscillates according to a sum of sine waves.
1698 -------- KEYS --------
1699 speed: amount of time in seconds for one complete oscillation cycle in the base frequency (default 4).
1700 height: sets the amount of travel of the oscillation movement (default 32). 
1701 phase: sets the start offset of the oscillation cycle. Values must be 0 < phase < 1. Any integer phase value is the same as no offset (default 0).
1702 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).
1703 dmg: damage a player who gets crushed by it receives
1704 dmgtime: interval to apply dmg to a player who is s in the way
1705 message: death message when a player gets crushed
1706 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
1707 netname: list of <frequencymultiplier> <phase> <x> <y> <z> quadruples, separated by spaces; note that phase 0 represents a sine wave, and phase 0.25 a cosine wave (by default, it uses 1 0 0 0 1, to match func_bobbing's defaults
1708 */
1709
1710 /*QUAKED func_vectormamamam (0 .5 .8) ? PROJECT_ON_TARGETNORMAL PROJECT_ON_TARGET2NORMAL PROJECT_ON_TARGET3NORMAL PROJECT_ON_TARGET4NORMAL
1711 Solid entity that moves according to the movement of multiple given entities (max 4)
1712 -------- KEYS --------
1713 target: first reference entity
1714 targetfactor: factor by which to take the first reference entity (default 1).
1715 targetnormal: if set, the first reference entity's location is first projected onto a plane with that normal
1716 target2: second reference entity
1717 target2factor: factor by which to take the second reference entity (default 1).
1718 target2normal: if set, the second reference entity's location is first projected onto a plane with that normal
1719 target3: third reference entity (optional)
1720 target3factor: factor by which to take the third reference entity (default 1).
1721 target3normal: if set, the third reference entity's location is first projected onto a plane with that normal
1722 target4: fourth reference entity (optional)
1723 target4factor: factor by which to take the fourth reference entity (default 1).
1724 target4normal: if set, the fourth reference entity's location is first projected onto a plane with that normal
1725 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).
1726 dmg: damage a player who gets crushed by it receives
1727 dmgtime: interval to apply dmg to a player who is s in the way
1728 message: death message when a player gets crushed
1729 message2: death message when someone gets pushed into this (default: "was thrown into a world of hurt by"). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)
1730 -------- SPAWNFLAGS --------
1731 PROJECT_ON_TARGETNORMAL: target's origin is projected onto the given direction vector, not on the plane perpendicular to it
1732 PROJECT_ON_TARGET2NORMAL: target2's origin is projected onto the given direction vector, not on the plane perpendicular to it
1733 PROJECT_ON_TARGET3NORMAL: target3's origin is projected onto the given direction vector, not on the plane perpendicular to it
1734 PROJECT_ON_TARGET4NORMAL: target4's origin is projected onto the given direction vector, not on the plane perpendicular to it
1735 */
1736
1737 /*QUAKED trigger_relay_teamcheck (.5 .5 .5) (-8 -8 -8) (8 8 8) NOTEAM_TOO INVERT
1738 Works similar to trigger_relay, but only relays trigger events if the team of the activator matches this entity's team
1739 -------- KEYS --------
1740 target: trigger all entities with this targetname when triggered
1741 target2: trigger all entities with this targetname when triggered
1742 target3: trigger all entities with this targetname when triggered
1743 target4: trigger all entities with this targetname when triggered
1744 targetname: name that identifies this entity so it can be triggered
1745 delay: delay the triggering by the given time
1746 message: print this message to the player who activated the trigger
1747 killtarget: remove all entities with this targetname when triggered
1748 team: 5 for red, 14 for blue, 13 for yellow, 10 for pink team
1749 -------- SPAWNFLAGS --------
1750 NOTEAM_TOO: also relay events if the activator has no team set
1751 INVERT: only relay the event if this entity has the matching team
1752 */
1753
1754 /*QUAKED trigger_disablerelay (.5 .5 .5) (-8 -8 -8) (8 8 8) 
1755 Disables a trigger_relay temporarily (until triggered again)
1756 -------- KEYS --------
1757 target: disable/enable all relays with this targetname when triggered
1758 targetname: name that identifies this entity so it can be triggered
1759 */
1760
1761 /*QUAKED nexball_redgoal (1 0 0) ? GOAL_TOUCHPLAYER
1762 Red goal. Defended by the red team.
1763 -------- KEYS --------
1764 noise: sound played when a point is scored
1765 -------- SPAWNFLAGS --------
1766 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1767 */
1768
1769 /*QUAKED nexball_bluegoal (0 0 1) ? GOAL_TOUCHPLAYER
1770 Blue goal. Defended by the blue team.
1771 -------- KEYS --------
1772 noise: sound played when a point is scored
1773 -------- SPAWNFLAGS --------
1774 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1775 */
1776
1777 /*QUAKED nexball_yellowgoal (1 1 0) ? GOAL_TOUCHPLAYER
1778 Yellow goal. Defended by the yellow team. Needs both red and blue goals on the map to work.
1779 -------- KEYS --------
1780 noise: sound played when a point is scored
1781 -------- SPAWNFLAGS --------
1782 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1783 */
1784
1785 /*QUAKED nexball_pinkgoal (1 0 1) ? GOAL_TOUCHPLAYER
1786 Pink goal. Defended by the pink team. Needs red, blue and yellow goals on the map to work.
1787 -------- KEYS --------
1788 noise: sound played when a point is scored
1789 -------- SPAWNFLAGS --------
1790 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1791 */
1792
1793
1794 /*QUAKED nexball_fault (0.6 0.1 0) ? GOAL_TOUCHPLAYER
1795 This acts as a goal that always gives points to the opposing team.
1796 -------- KEYS --------
1797 noise: sound played when a point is scored
1798 -------- SPAWNFLAGS --------
1799 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1800 */
1801
1802 /*QUAKED nexball_out (0.1 0.6 0) ? GOAL_TOUCHPLAYER
1803 When the ball touches this, it is returned.
1804 -------- KEYS --------
1805 noise: sound played when a point is scored
1806 -------- SPAWNFLAGS --------
1807 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1808 */
1809
1810 /*QUAKED nexball_football (.9 .9 .9) (-16 -16 -16) (16 16 16)
1811 The soccer type Nexball.
1812 -------- KEYS --------
1813 model: set this if you want to use your own model
1814 scale: if you're using your own model, change this to scale it to 32*32*32
1815 noise: played when the ball bounces
1816 noise1: played when the ball is dropped on the map
1817 */
1818
1819 /*QUAKED nexball_basketball (.5 .2 0) (-16 -16 -16) (16 16 16)
1820 The basket ball type Nexball.
1821 -------- KEYS --------
1822 model: set this if you want to use your own model
1823 scale: if you're using your own model, change this to scale it to 32*32*32
1824 noise: played when the ball bounces
1825 noise1: played when the ball is dropped on the map
1826 noise2: played when the ball is stolen from the enemy
1827 */
1828
1829 /*QUAKED item_fuel (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
1830 Jetpack fuel
1831 -------- KEYS --------
1832 ammo_fuel: fuel units gained by this item (if unset, g_pickup_fuel is used)
1833 respawntime: time till it respawns (default: 15)
1834 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1835 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1836 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1837 -------- SPAWNFLAGS --------
1838 FLOATING: the item will float in air, instead of aligning to the floor by falling
1839 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1840 modeldisabled="models/items/g_fuel.md3"
1841 */
1842
1843 /*QUAKED item_fuel_regen (1 .3 1) (-30 -30 0) (30 30 48) FLOATING
1844 Fuel regenerator
1845 -------- KEYS --------
1846 respawntime: time till it respawns (default: 120)
1847 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1848 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1849 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1850 -------- SPAWNFLAGS --------
1851 FLOATING: the item will float in air, instead of aligning to the floor by falling
1852 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1853 modeldisabled="models/items/g_fuelregen.md3"
1854 */
1855
1856 /*QUAKED item_jetpack (.3 .3 1) (-30 -30 0) (30 30 48) FLOATING
1857 Jetpack
1858 -------- KEYS --------
1859 ammo_fuel: fuel units gained by this item (if unset, g_pickup_fuel_jetpack is used)
1860 respawntime: time till it respawns (default: 120)
1861 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1862 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1863 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1864 -------- SPAWNFLAGS --------
1865 FLOATING: the item will float in air, instead of aligning to the floor by falling
1866 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1867 modeldisabled="models/items/g_jetpack.md3"
1868 */
1869
1870 /*QUAKED trigger_magicear (0 0 1) (-8 -8 -8) (8 8 8) IGNORE_SAY IGNORE_TEAMSAY IGNORE_TELL IGNORE_INVALIDTELL REPLACE_WHOLE_MESSAGE REPLACE_OUTSIDE CONTINUE NODECOLORIZE
1871 Triggers targets when a given magic word has been said
1872 -------- KEYS --------
1873 message: message to wait for (can start or end with * for wildcards)
1874 netname: replacement text (by default, no replacement is performed if empty)
1875 radius: radius in which the player has to be for this to match
1876 target: all entities with a matching targetname will be triggered.
1877 target2: all entities with a matching targetname will be triggered.
1878 target3: all entities with a matching targetname will be triggered.
1879 target4: all entities with a matching targetname will be triggered.
1880 -------- SPAWNFLAGS --------
1881 IGNORE_SAY: do not respond to "say" messages
1882 IGNORE_TEAMSAY: do not respond to "say_team" messages
1883 IGNORE_TELL: do not respond to "tell" messages
1884 IGNORE_INVALIDTELL: do not respond to "tell" messages of invalid syntax
1885 REPLACE_WHOLE_MESSAGE: replace the whole message by netname, or drop the message if netname is empty
1886 REPLACE_OUTSIDE: also perform the replacement when outside the radius (to hide the "secret word")
1887 CONTINUE: even if this magic ear matched, continue looking for further matches/replacements (useful for swear word filters)
1888 NODECOLORIZE: do not decolorize the input string before matching
1889 */
1890
1891 /*QUAKED weapon_fireball (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1892 the Fireball
1893 -------- KEYS --------
1894 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1895 respawntime: time till it respawns (default: 15)
1896 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1897 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1898 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1899 -------- SPAWNFLAGS --------
1900 FLOATING: the item will float in air, instead of aligning to the floor by falling
1901 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1902 modeldisabled="models/weapons/g_fireball.md3"
1903 */
1904
1905 /*QUAKED trigger_warpzone (1 .5 1) ?
1906 A warp zone, i.e. seamlessly connecting two parts of the map.
1907 One surface of this entity must have the common/warpzone shader (or a similar selfmade shader) - this will be the warp plane - the others must be common/trigger.
1908 Must target, or be targeted by, another trigger_warpzone with a congruent common/warpzone surface.
1909 Should target a target_position, or be targeted by a misc_warpzone_position.
1910 Should be thick enough to fit a player entity (i.e. 32 units), preferably even thicker.
1911 -------- KEYS --------
1912 target: must point to another trigger_warpzone, or...
1913 target2: is triggered when a player ENTERS the warpzone (and warps away)
1914 target3: is triggered when a player LEAVES the warpzone (from the other warp zone to this one)
1915 target4: is triggered in both cases
1916 targetname: must be pointed to by another trigger_warpzone. Should be pointed to by a misc_warpzone_position entity, or...
1917 killtarget: should point to a target_position entity, or
1918 warpzone_fadestart: start distance of fading out the warpzone
1919 warpzone_fadeend: end distance of fading out the warpzone (if viewer is further, warpzone is not rendered at all)
1920 */
1921
1922 /*QUAKED trigger_warpzone_reconnect (1 .5 1) (-8 -8 -8) (8 8 8) IGNORE_VISIBLE
1923 Reconnects (randomly) all warpzones/cameras with matching target when triggered
1924 -------- KEYS --------
1925 target: must point to multiple trigger_warpzones, or be not set (then all warpzones may get changed)
1926 targetname: name that identifies this entity so it can be triggered
1927 -------- SPAWNFLAGS --------
1928 IGNORE_VISIBLE: do not rearrange a warpzone if a player can currently see it
1929 */
1930
1931 /*QUAKED misc_warpzone_position (1 .5 .25) (-8 -8 -8) (8 8 8) 
1932 Orientation specification for a trigger_warpzone
1933 -------- KEYS --------
1934 target: must point to a trigger_warpzone
1935 angles: must point perpendicular to the common/warpzone surface of the trigger_warpzone, and away from the trigger brush
1936 origin: must be on the common/warpzone surface of the trigger_warpzone
1937 */
1938
1939 /*QUAKED func_camera (1 .5 1) ?
1940 A camera, i.e. a surface that shows a view from another part of the map.
1941 One surface of this entity must have the common/camera shader, the others should be common/caulk.
1942 Must target a target_position that indicates the view to be shown (and whose angles also indicate the orientation of the view)
1943 -------- KEYS --------
1944 target: must point to a target_position
1945 warpzone_fadestart: start distance of fading out the warpzone
1946 warpzone_fadeend: end distance of fading out the warpzone (if viewer is further, warpzone is not rendered at all)
1947 */
1948
1949 /*QUAKED target_music (1 0 0) (-8 -8 -8) (8 8 8) START_OFF
1950 Background music target (when this is used, the cdtrack line in mapinfo must not be used, and there MUST be a default target_music).
1951 When triggered, the background music is switched to the given track.
1952 When targetname is not set, this is the default track of the map.
1953 -------- KEYS --------
1954 targetname: The name other entities can use to target this entity (when not set, this one is the default)
1955 noise: the music to play (as full sound file name)
1956 volume: the volume (default: 1)
1957 fade_time: fade-in time
1958 fade_rate: fade-out time
1959 lifetime: when set, the music created by this target is switched back to the default one when this time expires
1960 -------- SPAWNFLAGS --------
1961 START_OFF: the trigger is off initially
1962 */
1963
1964 /*QUAKED trigger_music (1 0 0) ? START_OFF
1965 Background music trigger (when this is used, the cdtrack line in mapinfo must not be used, and there MUST be a default target_music).
1966 When triggered, its effect is turned off until triggered again.
1967 -------- KEYS --------
1968 targetname: The name other entities can use to target this entity
1969 noise: the music to play (as full sound file name)
1970 volume: the volume (default: 1)
1971 fade_time: fade-in time
1972 fade_rate: fade-out time
1973 -------- SPAWNFLAGS --------
1974 START_OFF: the trigger is off initially
1975 */
1976
1977 /*QUAKED trigger_gravity (.5 .5 1) ? STICKY START_OFF
1978 An area where gravity differs from the rest of the map.
1979 This acts as a modifier over the normal gravity (sv_gravity). eg: 0.5 is half the normal gravity, 2 is twice the normal gravity.
1980 -------- KEYS --------
1981 gravity: gravity offset in this area, defaults to 0 if not set
1982 noise: sound to play when an entity enters the gravity zone, leave empty to disable
1983 targetname: you can use this to target the grazity zone with a trigger, which will toggle it when activated
1984 -------- SPAWNFLAGS --------
1985 STICKY: entities keep their gravity after leaving the gravity zone
1986 START_OFF: when targeted, the gravity zone starts off and is enabled upon triggering
1987 */
1988
1989 /*QUAKED relay_activate (0 1 0) (-8 -8 -8) (8 8 8) 
1990 Activates all .target's
1991 List of currently supported target ents:
1992 trigger_hurt
1993 trigger_heal
1994 trigger_impulse
1995 trigger_push
1996 trigger_teleport
1997 func_rotating
1998 func_bobbing
1999 func_button
2000 func_fourier
2001 func_vectormamamam
2002 -------- KEYS --------
2003 target: trigger all entities with this targetname when triggered
2004 targetname: name that identifies this entity so it can be triggered
2005 */
2006
2007 /*QUAKED relay_deactivate (1 0 0) (-8 -8 -8) (8 8 8) 
2008 Deactivates all .target's
2009 List of currently supported target ents:
2010 trigger_hurt
2011 trigger_heal
2012 trigger_impulse
2013 trigger_push
2014 trigger_teleport
2015 func_rotating
2016 func_bobbing
2017 func_button
2018 func_fourier
2019 func_vectormamamam
2020 -------- KEYS --------
2021 target: trigger all entities with this targetname when triggered
2022 targetname: name that identifies this entity so it can be triggered
2023 */
2024
2025 /*QUAKED relay_activatetoggle (0 1 1) (-8 -8 -8) (8 8 8) 
2026 Toggles all .target's de/active
2027 List of currently supported target ents:
2028 trigger_hurt
2029 trigger_heal
2030 trigger_impulse
2031 trigger_push
2032 trigger_teleport
2033 func_rotating
2034 func_bobbing
2035 func_button
2036 func_fourier
2037 func_vectormamamam
2038 -------- KEYS --------
2039 target: trigger all entities with this targetname when triggered
2040 targetname: name that identifies this entity so it can be triggered
2041 */
2042
2043 /*QUAKED target_changelevel (.5 .5 0) (-8 -8 -8) (8 8 8)
2044 Loads another map when triggered. Useful for single player maps.
2045 When no chmap key is set, the entity just ends the match when triggered. The player / team with the highest score at that moment wins.
2046 -------- KEYS --------
2047 targetname: The name other entities can use to target this entity
2048 chmap: Map file to switch to, leave empty to make this entity just end the match
2049 gametype: Switch to this gametype. If empty, the same gametype stays
2050 */