]> de.git.xonotic.org Git - xonotic/xonotic-maps.pk3dir.git/blob - scripts/entities.def
Merge remote branch 'origin/cbrutail/trakmodelfixes'
[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 _skin: skin of model to include
697 _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.
698 angle: view direction of the model
699 angles: view direction of the model in PITCH YAW ROLL
700 modelscale: scaling factor
701 modelscale_vec: scaling vector for non-uniform scaling
702 _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.
703 _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.
704 _lightmapscale: light map resolution factor
705 _celshader: the cel shader for this
706 -------- SPAWNFLAGS --------
707 SOLID: make the model solid
708 FORCE_META: force the model to go through the -meta pipeline and enable lightmapping
709 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)
710 EXTRUDE_TERRAIN: always extrude downwards (for terrain)
711 COLOR_TO_ALPHA: use the color value as alpha (for terrain blending)
712 DONT_FIX_NORMALS: do not regenerate normals
713 */
714
715 /*QUAKED misc_gamemodel (0 .5 .8) (-8 -8 -8) (8 8 8) ALIGN_ORIGIN ALIGN_BOTTOM
716 A way to load models from a map by the engine (e.g. self-animated zym models).
717 Is non-solid by default.
718 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!
719 -------- KEYS --------
720 model: when used as a point entity, file name of model to load; when used as a brush entity, do not specify that
721 frame: animation frame to play (for self-animated zym models)
722 skin: number of skin to load (when model is used)
723 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
724 solid: solidity: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE
725 avelocity: vector giving its angular velocity (useful for spinning models)
726 scale: scale factor of the model (range: 0.0625 to 15.9375)
727 colormap: 1024 + 16 * pantscolor + shirtcolor
728 velocity: when movetype isn't 0, initial velocity vector
729 angles: initial looking direction
730 modelscale: scaling factor
731 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
732 loddistance1: distance after which to show the first LOD model replacement (default: 1000)
733 loddistance2: distance after which to show the second LOD model replacement (default: 2000)
734 lodmodel1: file name of the first LOD model replacement
735 lodmodel2: file name of the second LOD model replacement
736 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.
737 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.
738 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.
739 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.
740 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.
741 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.
742 -------- SPAWNFLAGS --------
743 ALIGN_ORIGIN: align the origin to the surface below the model
744 ALIGN_BOTTOM: align the bottom of the model to the surface below it
745 */
746
747 /*QUAKED func_illusionary (0 .5 .8) ? 
748 NOTE - THIS ENTITY IS BROKEN REGARDING CLIENT AND PROJECTILE PREDICTION. DO NOT USE IT. USE NONSOLID SHADERS OR FUNC_CLIENTILLUSIONARY INSTEAD.
749 A non-solid brush entity. Use func_wall if you want it solid.
750 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!
751 -------- KEYS --------
752 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
753 avelocity: vector giving its angular velocity (useful for spinning models)
754 scale: scale factor of the model (range: 0.0625 to 15.9375)
755 colormap: 1024 + 16 * pantscolor + shirtcolor
756 velocity: when movetype isn't 0, initial velocity vector
757 angles: initial looking direction
758 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
759 loddistance1: distance after which to show the first LOD model replacement (default: 1000)
760 loddistance2: distance after which to show the second LOD model replacement (default: 2000)
761 lodtarget1: targetname of the first LOD model entity (can be used instead of lodmodel1 to use a brush model instead)
762 lodtarget2: targetname of the second LOD model entity (can be used instead of lodmodel2 to use a brush model instead)
763 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.
764 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.
765 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.
766 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.
767 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.
768 -------- Q3MAP2 KEYS --------
769 _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.
770 _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.
771 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
772 _clonename: template name so one can clone from it
773 min: override automatically found minimum coordinate bounds
774 max: override automatically found maximum coordinate bounds
775 targetname: if targeted by a misc_model, its brushes get inserted into this
776 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
777 */
778
779 /*QUAKED func_wall (0 .5 .8) ? 
780 A solid brush entity. Use func_clientillusionary if you want it non-solid.
781 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!
782 -------- KEYS --------
783 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
784 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)
785 avelocity: vector giving its angular velocity (useful for spinning models)
786 scale: scale factor of the model (range: 0.0625 to 15.9375)
787 colormap: 1024 + 16 * pantscolor + shirtcolor
788 velocity: when movetype isn't 0, initial velocity vector
789 angles: initial looking direction
790 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
791 loddistance1: distance after which to show the first LOD model replacement (default: 1000)
792 loddistance2: distance after which to show the second LOD model replacement (default: 2000)
793 lodtarget1: targetname of the first LOD model entity (can be used instead of lodmodel1 to use a brush model instead)
794 lodtarget2: targetname of the second LOD model entity (can be used instead of lodmodel2 to use a brush model instead)
795 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.
796 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.
797 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.
798 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.
799 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.
800 -------- Q3MAP2 KEYS --------
801 _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.
802 _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.
803 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
804 _clonename: template name so one can clone from it
805 min: override automatically found minimum coordinate bounds
806 max: override automatically found maximum coordinate bounds
807 targetname: if targeted by a misc_model, its brushes get inserted into this
808 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
809 */
810
811 /*QUAKED misc_clientmodel (0 .5 .8) (-8 -8 -8) (8 8 8) ALIGN_ORIGIN ALIGN_BOTTOM
812 A way to load models from a map by the engine (e.g. self-animated zym models) on client side.
813 Is non-solid by default.
814 -------- KEYS --------
815 scale: scale factor of the model (range: 0.0625 to 15.9375)
816 colormap: 1024 + 16 * pantscolor + shirtcolor
817 angles: initial looking direction
818 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.
819 bgmscript: emitter class from the BGM script (if prefixed with <, movedir is treated as an angle value)
820 bgmscriptattack: attack time of the effect strength (0 to 3.9)
821 bgmscriptdecay: decay time of the effect strength (0 to 3.9)
822 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)
823 bgmscriptrelease: release time of the effect strength (0 to 3.9)
824 movedir: vector by which the entity moves when "pressed" by the bgmscript
825 lip: alpha change when "pressed" by the bgmscript (if > 0, it fades in when pressed, if < 0, it fades out when pressed)
826 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.
827 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.
828 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.
829 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.
830 -------- SPAWNFLAGS --------
831 ALIGN_ORIGIN: align the origin to the surface below the model
832 ALIGN_BOTTOM: align the bottom of the model to the surface below it
833 */
834
835 /*QUAKED func_clientillusionary (0 .5 .8) ? 
836 A client-side non-solid brush entity. Use func_wall if you want it solid.
837 -------- KEYS --------
838 scale: scale factor of the model (range: 0.0625 to 15.9375)
839 colormap: 1024 + 16 * pantscolor + shirtcolor
840 angles: initial looking direction
841 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.
842 bgmscript: emitter class from the BGM script
843 bgmscriptattack: attack time of the effect strength (0 to 3.9)
844 bgmscriptdecay: decay time of the effect strength (0 to 3.9)
845 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)
846 bgmscriptrelease: release time of the effect strength (0 to 3.9)
847 movedir: vector by which the entity moves when "pressed" by the bgmscript
848 lip: alpha change when "pressed" by the bgmscript (if > 0, it fades in when pressed, if < 0, it fades out when pressed)
849 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.
850 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.
851 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.
852 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.
853 -------- Q3MAP2 KEYS --------
854 _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.
855 _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.
856 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
857 _clonename: template name so one can clone from it
858 min: override automatically found minimum coordinate bounds
859 max: override automatically found maximum coordinate bounds
860 targetname: if targeted by a misc_model, its brushes get inserted into this
861 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
862 */
863
864 /*QUAKED func_clientwall (0 .5 .8) ? 
865 NOTE - THIS ENTITY IS IN MOST USE CASES BROKEN REGARDING CLIENT AND PROJECTILE PREDICTION. DO NOT USE IT. USE FUNC_WALL INSTEAD.
866 A client-side solid brush entity. Use func_clientillusionary if you want it non-solid.
867 -------- KEYS --------
868 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)
869 scale: scale factor of the model (range: 0.0625 to 15.9375)
870 colormap: 1024 + 16 * pantscolor + shirtcolor
871 angles: initial looking direction
872 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.
873 bgmscript: emitter class from the BGM script
874 bgmscriptattack: attack time of the effect strength (0 to 3.9)
875 bgmscriptdecay: decay time of the effect strength (0 to 3.9)
876 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)
877 bgmscriptrelease: release time of the effect strength (0 to 3.9)
878 movedir: vector by which the entity moves when "pressed" by the bgmscript
879 lip: alpha change when "pressed" by the bgmscript (if > 0, it fades in when pressed, if < 0, it fades out when pressed)
880 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.
881 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.
882 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.
883 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.
884 -------- Q3MAP2 KEYS --------
885 _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.
886 _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.
887 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
888 _clonename: template name so one can clone from it
889 min: override automatically found minimum coordinate bounds
890 max: override automatically found maximum coordinate bounds
891 targetname: if targeted by a misc_model, its brushes get inserted into this
892 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
893 */
894
895 /*QUAKED misc_teleporter_dest (1 .5 .25) (-16 -16 -24) (16 16 45) 
896 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.
897 -------- KEYS --------
898 targetname: make the trigger_teleporter point to this.
899 target: target to activate when a teleporter targeting this is used
900 target2: target to activate when a teleporter targeting this is used
901 target3: target to activate when a teleporter targeting this is used
902 target4: target to activate when a teleporter targeting this is used
903 angle: direction in which player will look when teleported, OR use
904 angles: pitch and yaw when coming out of the teleporter (also specifies the direction the player will aim when coming out)
905 cnt: weight for random selection, in case a teleporter points at multiple misc_teleporter_dest
906 speed: maximum speed cap for the teleported player (if -1, teleported players will have no speed)
907 */
908
909 /*QUAKED onslaught_controlpoint (0 .5 .8) (-32 -32 0) (32 32 128) 
910 Control point.  Be sure to give this enough clearance so that the shootable part has room to exist
911 This should link to an onslaught_controlpoint entity or onslaught_generator entity.
912 -------- KEYS --------
913 targetname: name that onslaught_link entities will use to target this.
914 target: target any entities that are tied to this control point, such as vehicles and buildable structure entities.
915 message: name of this control point (should reflect the location in the map, such as "center bridge", "north tower", etc)
916 */
917
918 /*QUAKED onslaught_generator (0 .5 .8) (-32 -32 -24) (32 32 64) 
919 Base generator.
920
921 onslaught_link entities can target this.
922 -------- KEYS --------
923 team: team that owns this generator (5 = red, 14 = blue, etc), MUST BE SET.
924 targetname: name that onslaught_link entities will use to target this.
925 */
926
927 /*QUAKED onslaught_link (0 .5 .8) (-16 -16 -16) (16 16 16) 
928 Link between control points.
929
930 This entity targets two different onslaught_controlpoint or onslaught_generator entities, and suppresses shielding on both if they are owned by different teams.
931 -------- KEYS --------
932 target: first control point.
933 target2: second control point.
934 */
935
936 /*QUAKED path_corner (.5 .3 0) (-8 -8 -8) (8 8 8) 
937 Path corner entity that func_train will follow.
938 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)
939 -------- KEYS --------
940 target: point to next path_corner in the path.
941 target2: triggered when a func_train stops at this target
942 target3: triggered when a func_train stops at this target
943 target4: triggered when a func_train stops at this target
944 targetname: the train following the path or the previous path_corner in the path points to this.
945 speed: speed of func_train while moving to this path corner. If unset, the value from the func_train will be used.
946 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
947 */
948
949 /*QUAKED runematch_spawn_point (.3 .3 1) (-16 -16 -16) (16 16 16) 
950 Spawn point for runes in a runematch.
951 Runematch can work without runes also, it then spawn runes at random safe locations.
952 */
953
954 /*QUAKED target_assault_roundend (1 0 0) (-8 -8 -8) (8 8 8) 
955 This entity ends the current assault round if triggered or if the timelimit is reached.
956 Ending a round means swapping attacker/defender teams, resetting objectives and rewarding the winning team.
957 Every assault map needs this entity. There should only be one per map.
958 -------- KEYS --------
959 targetname: Name to target this entity
960 */
961
962 /*QUAKED target_assault_roundstart (.5 0 .5) (-8 -8 -8) (8 8 8) 
963 This entity triggers its targets whenever a new assault round is started. This can be used to e.g. activate the first objective.
964 -------- KEYS --------
965 target: targetname of entities to be enabled/triggered on round start (e.g. the first target_objective)
966 target2: targetname of entities to be enabled/triggered on round start (e.g. the func_assault_destructibles targeting the target_objective)
967 target3: targetname of entities to be enabled/triggered on round start
968 target4: targetname of entities to be enabled/triggered on round start
969 */
970
971 /*QUAKED target_objective (.5 0 .5) (-8 -8 -8) (8 8 8) 
972 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.
973 -------- KEYS --------
974 target: targetname of entities to be enabled/triggered on objective fulfilling (e.g. the next target_objective, or target_assault_roundend)
975 target2: targetname of entities to be enabled/triggered on objective fulfilling (e.g. the func_assault_destructibles targeting the target_objective)
976 target3: targetname of entities to be enabled/triggered on objective fulfilling
977 target4: targetname of entities to be enabled/triggered on objective fulfilling
978 targetname: targetname for this entity so it can be triggered by other entities.
979 */
980
981 /*QUAKED target_objective_decrease (0 1 0) (-8 -8 -8) (8 8 8) 
982 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.
983 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.
984 -------- KEYS --------
985 target: The targetname of the target_objective you want to manipulate.
986 targetname: Name for other entities to target this entity.
987 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.
988 */
989
990 /*QUAKED target_position (0 .5 0) (-8 -8 -8) (8 8 8) 
991 Aiming target for entities like light and trigger_push.
992 -------- KEYS --------
993 targetname: the entity that requires an aiming direction points to this.
994 target: target to activate when a jumppad targeting this is used
995 */
996
997 /*QUAKED target_speaker (0 .7 .7) (-8 -8 -8) (8 8 8) LOOPED_ON LOOPED_OFF GLOBAL ACTIVATOR
998 Sound generating entity that plays sound files.
999 If targeted, it plays the sound file every time when triggered.
1000 If not targeted, it loops the sound file as an ambient noise.
1001 The sound name may also be of the form *soundname, and in that case the respective player sound is played
1002 -------- KEYS --------
1003 noise: path/name of .wav/.ogg file to play
1004 targetname: the activating button or trigger points to this.
1005 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)
1006 volume: volume of the sound
1007 -------- SPAWNFLAGS --------
1008 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.
1009 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.
1010 GLOBAL: the sound plays with no attenuation (same as setting atten to -1)
1011 ACTIVATOR: the sound is played to the activator only when triggered (cannot be combined with LOOPED_ON and LOOPED_OFF)
1012 */
1013
1014 /*QUAKED trigger_counter (.5 .5 .5) ? NOMESSAGE
1015 Acts as an intermediary for an action that takes multiple inputs.
1016 After the counter has been triggered "count" times, it will fire all of its targets and remove itself.
1017 -------- KEYS --------
1018 count: how many times this needs to be triggered to activate its targets
1019 target: trigger all entities with this targetname when triggered
1020 targetname: name that identifies this entity so it can be triggered
1021 delay: delay the triggering by the given time
1022 message: print this message to the player who activated the trigger
1023 killtarget: remove all entities with this targetname when triggered
1024 -------- SPAWNFLAGS --------
1025 NOMESSAGE: don't print a "2 more to go..."-like message when triggered
1026 */
1027
1028 /*QUAKED trigger_delay (.5 .5 .5) (-8 -8 -8) (8 8 8) 
1029 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).
1030 -------- KEYS --------
1031 wait: delay the triggering by the given time
1032 target: trigger all entities with this targetname when triggered
1033 targetname: name that identifies this entity so it can be triggered
1034 message: print this message to the player who activated the trigger
1035 killtarget: remove all entities with this targetname when triggered
1036 */
1037
1038 /*QUAKED trigger_hurt (.5 .5 .5) ? - - INVERT_TEAM
1039 Any object touching this will be hurt.
1040 Has the useful effect of automatically returning flags, keys and runes when they touch it.
1041 -------- KEYS --------
1042 dmg: amount of damage to deal (default: 1000)
1043 message: kill message when someone gets killed by this (default: "was in the wrong place")
1044 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)
1045 team: team that gets hurt (5 = red, 14 = blue, etc) (when set, only this team can get hurt)
1046 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)
1047 -------- SPAWNFLAGS --------
1048 INVERT_TEAM: the team that owns this will NOT jump when touching this
1049 */
1050
1051 /*QUAKED trigger_impulse (.5 .5 .5) ? 
1052 An accelerator/dampener/wind field.
1053 Can be used in two ways:
1054 "dampener field": just set strength to a value from 0 to 1. Entering the field will slow down to this factor.
1055 "accelerator field": just set strength to a value from 1 to infinity. Entering the field will accelerate by this factor.
1056 "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.
1057 "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.
1058 -------- KEYS --------
1059 target: "wind field": points to the target_position to which the player will get pushed.
1060 strength: "wind field", "gravity field": amount of force per second to apply. "dampener/accelerator field": slowdown/speedup factor.
1061 falloff: "gravity field": 0 means no falloff, 1 means linear falloff (zero at the outside), 2 means inverted linear falloff (zero at the inside)
1062 */
1063
1064 /*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH ALLENTS INVERT_TEAM - - - - - NOSPLASH
1065 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.
1066 -------- KEYS --------
1067 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)
1068 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)
1069 sounds: 1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav
1070 noise: path to sound file, if you want to play something else
1071 target: trigger all entities with this targetname when triggered
1072 target2: trigger all entities with this targetname when triggered
1073 target3: trigger all entities with this targetname when triggered
1074 target4: trigger all entities with this targetname when triggered
1075 targetname: name that identifies this entity so it can be triggered
1076 delay: delay the triggering by the given time
1077 message: print this message to the player who activated the trigger
1078 killtarget: remove all entities with this targetname when triggered
1079 team: team that owns this trigger (5 = red, 14 = blue, etc) (when set, only this team can trigger)
1080 -------- SPAWNFLAGS --------
1081 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)
1082 ALLENTS: the trigger responds to all entities, not just players (useful for targetting trigger_items)
1083 INVERT_TEAM: the team that owns the trigger will NOT trigger when touching this
1084 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
1085 */
1086
1087 /*QUAKED trigger_once (.5 .5 .5) ? NOTOUCH - - - - - - - NOSPLASH
1088 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.
1089 Basically, it's a use-once trigger_multiple.
1090 -------- KEYS --------
1091 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)
1092 sounds: 1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav
1093 noise: path to sound file, if you want to play something else
1094 target: trigger all entities with this targetname when triggered
1095 targetname: name that identifies this entity so it can be triggered
1096 delay: delay the triggering by the given time
1097 message: print this message to the player who activated the trigger
1098 killtarget: remove all entities with this targetname when triggered
1099 -------- SPAWNFLAGS --------
1100 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)
1101 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
1102 */
1103
1104 /*QUAKED trigger_push (1 .5 0) ? - - INVERT_TEAM
1105 Jump pad. What else?
1106 Can be used in three ways:
1107 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.
1108 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.
1109 Quake "movedir/speed" way: player will get velocity movedir * speed * 10 when using the jump pad
1110 -------- KEYS --------
1111 target: point the player will fly to when using the jump pad (use a target_position here)
1112 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
1113 movedir: when target is not set, direction vector to push to
1114 speed: speed of jump pad (default: 1000)
1115 noise: sound to play when jump pad is used; default is misc/jumppad.wav; you can set it to "" to make the pad silent
1116 team: team that owns this jump pad (5 = red, 14 = blue, etc) (when set, only this team can teleport)
1117 targetname: when targeted by a func_button, pressing the button will reassign the teleporter to the team of the activator.
1118 -------- SPAWNFLAGS --------
1119 INVERT_TEAM: the team that owns the teleporter will NOT jump when touching this
1120 */
1121
1122 /*QUAKED trigger_relay (.5 .5 .5) (-8 -8 -8) (8 8 8) 
1123 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.
1124 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.
1125 More than one "trigger event" can be delayed at once, as opposed to trigger_delay.
1126 -------- KEYS --------
1127 target: trigger all entities with this targetname when triggered
1128 target2: trigger all entities with this targetname when triggered
1129 target3: trigger all entities with this targetname when triggered
1130 target4: trigger all entities with this targetname when triggered
1131 targetname: name that identifies this entity so it can be triggered
1132 delay: delay the triggering by the given time
1133 message: print this message to the player who activated the trigger
1134 killtarget: remove all entities with this targetname when triggered
1135 */
1136
1137 /*QUAKED trigger_swamp (.5 .5 .5) ? 
1138 Players getting into the swamp will get slowed down and damaged
1139 -------- KEYS --------
1140 dmg: damage per interval to deal (default is 5)
1141 swamp_interval: interval of damage when in swamp (default is 1)
1142 swamp_slowdown: amount of slowdown caused by the swamp (default is 0.5)
1143 */
1144
1145 /*QUAKED trigger_teleport (.5 .5 .5) ? - - INVERT_TEAM
1146 Touching this will teleport players to the location of the targeted misc_teleporter_dest entity.
1147 Note that in Xonotic, teleporters preserve momentum of the player using them.
1148 -------- KEYS --------
1149 target: this must point to a misc_teleporter_dest entity. If it points to more than one, a destination is randomly selected on teleport.
1150 target2: target to activate when the teleporter is used
1151 target3: target to activate when the teleporter is used
1152 target4: target to activate when the teleporter is used
1153 team: team that owns this teleporter (5 = red, 14 = blue, etc) (when set, only this team can teleport)
1154 targetname: when targeted by a func_button, pressing the button will reassign the teleporter to the team of the activator.
1155 -------- SPAWNFLAGS --------
1156 INVERT_TEAM: the team that owns the teleporter will NOT teleport when touching this
1157 */
1158
1159 /*QUAKED weapon_crylink (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1160 the Crylink
1161 -------- KEYS --------
1162 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1163 respawntime: time till it respawns (default: 15)
1164 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1165 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1166 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1167 -------- SPAWNFLAGS --------
1168 FLOATING: the item will float in air, instead of aligning to the floor by falling
1169 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1170 modeldisabled="models/weapons/g_crylink.md3"
1171 */
1172
1173 /*QUAKED weapon_electro (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1174 the Electro
1175 -------- KEYS --------
1176 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1177 respawntime: time till it respawns (default: 15)
1178 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1179 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1180 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1181 -------- SPAWNFLAGS --------
1182 FLOATING: the item will float in air, instead of aligning to the floor by falling
1183 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1184 modeldisabled="models/weapons/g_electro.md3"
1185 */
1186
1187 /*QUAKED weapon_grenadelauncher (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1188 the Mortar
1189 -------- KEYS --------
1190 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1191 respawntime: time till it respawns (default: 15)
1192 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1193 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1194 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1195 -------- SPAWNFLAGS --------
1196 FLOATING: the item will float in air, instead of aligning to the floor by falling
1197 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1198 modeldisabled="models/weapons/g_gl.md3"
1199 */
1200
1201 /*QUAKED weapon_hagar (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1202 the Hagar
1203 -------- KEYS --------
1204 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1205 respawntime: time till it respawns (default: 15)
1206 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1207 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1208 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1209 -------- SPAWNFLAGS --------
1210 FLOATING: the item will float in air, instead of aligning to the floor by falling
1211 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1212 modeldisabled="models/weapons/g_hagar.md3"
1213 */
1214
1215 /*QUAKED weapon_laser (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1216 the Laser. Note that unless you use
1217   settemp_for_type all g_start_weapon_laser 0
1218 in your mapinfo file, everyone will already spawn with one, making this pickup useless.
1219 -------- KEYS --------
1220 respawntime: time till it respawns (default: 15)
1221 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1222 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1223 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1224 -------- SPAWNFLAGS --------
1225 FLOATING: the item will float in air, instead of aligning to the floor by falling
1226 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1227 modeldisabled="models/weapons/g_laser.md3"
1228 */
1229
1230 /*QUAKED weapon_nex (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1231 the Nex
1232 In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.
1233 -------- KEYS --------
1234 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1235 respawntime: time till it respawns (default: 15 * g_balance_nex_respawntime_modifier)
1236 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1237 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1238 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1239 -------- SPAWNFLAGS --------
1240 FLOATING: the item will float in air, instead of aligning to the floor by falling
1241 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1242 modeldisabled="models/weapons/g_nex.md3"
1243 */
1244
1245 /*QUAKED weapon_rocketlauncher (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1246 the Rocket Launcher
1247 In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.
1248 -------- KEYS --------
1249 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1250 respawntime: time till it respawns (default: 15)
1251 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1252 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1253 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1254 -------- SPAWNFLAGS --------
1255 FLOATING: the item will float in air, instead of aligning to the floor by falling
1256 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1257 modeldisabled="models/weapons/g_rl.md3"
1258 */
1259
1260 /*QUAKED weapon_shotgun (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1261 the Shotgun. Note that unless you use
1262   settemp_for_type all g_start_weapon_shotgun 0
1263 in your mapinfo file, everyone will already spawn with one, making this pickup useless.
1264 -------- KEYS --------
1265 ammo_shells: initial shells of the weapon (if unset, g_pickup_shells is used)
1266 respawntime: time till it respawns (default: 15)
1267 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1268 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1269 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1270 -------- SPAWNFLAGS --------
1271 FLOATING: the item will float in air, instead of aligning to the floor by falling
1272 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1273 modeldisabled="models/weapons/g_shotgun.md3"
1274 */
1275
1276 /*QUAKED weapon_uzi (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1277 the Machine Gun
1278 -------- KEYS --------
1279 ammo_nails: initial bullets of the weapon (if unset, g_pickup_nails is used)
1280 respawntime: time till it respawns (default: 15)
1281 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1282 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1283 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1284 -------- SPAWNFLAGS --------
1285 FLOATING: the item will float in air, instead of aligning to the floor by falling
1286 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1287 modeldisabled="models/weapons/g_uzi.md3"
1288 */
1289
1290 /*QUAKED worldspawn (0 0 0) ? 
1291 The world.
1292 If you see this, the currently selected brush is not of an entity.
1293 -------- KEYS --------          
1294 fog: fog parameters of the map (density red green blue alpha mindist maxdist maxheight fade-height); works just like the "fog" console command
1295 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.
1296 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.
1297 _description: one-line description of the map. Will get copied to the "description" entry of the mapinfo file when none is present.
1298 -------- Q3MAP2 KEYS --------
1299 _blocksize: vector specifying the automatic vis subdivision block size (default: 1024 1024 1024)
1300 gridsize: lightgrid granularity vector (default: 64 64 128)
1301 _color: color of the global light parameters
1302 _ambient: light added to all surfaces
1303 _mingridlight: minimum grid light
1304 _minlight: minimum light value on both surfaces and lightgrid
1305 _keepLights: do not remove light entities from the map (useful e.g. for realtime lighting)
1306 _floodlight: flood light parameters (red green blue distance intensity), start with 240 240 255 1024 128
1307 _farplanedist: range after which everything is completely invisible by fog (when fog is being used)
1308 _noshadersun: turn off sun defined by shaders (useful if you defined your own light entity to be a sun)
1309 _ignoreleaks: ignore leaks when compiling
1310 _lightmapscale: light map resolution factor
1311 _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.
1312 _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.
1313 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
1314 */
1315
1316 /*QUAKED trigger_race_checkpoint (0 1 0) ? NOTOUCH STRICTTRIGGER CRUSH FINISH
1317 A checkpoint, for the race game mode. Be sure to make them quite long, so they actually catch a player reliably!
1318 -------- KEYS --------
1319 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!
1320 message: Death message, when touching checkpoints in the wrong order.
1321 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)
1322 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.
1323 target: when the checkpoint is passed, these entities are triggered. Useful for forcing items in certain areas using trigger_items
1324 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
1325 race_penalty_reason: reason to display when the penalty time is imposed. Default: "missing a checkpoint"
1326 -------- SPAWNFLAGS --------
1327 NOTOUCH: the checkpoint will not become active when touched, it HAS to be targeted
1328 STRICTTRIGGER: only trigger the targets when the checkpoint actually was reached in a valid way (that is, not when going back)
1329 CRUSH: the checkpoint kills when used at the wrong time
1330 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
1331 */
1332
1333 /*QUAKED trigger_race_penalty (0 1 0) ? NOTOUCH
1334 A penalty trigger.
1335 -------- KEYS --------
1336 race_penalty: this penalty time is given if passing this trigger
1337 race_penalty_reason: reason to display when the penalty time is imposed. Default: "leaving the track"
1338 -------- SPAWNFLAGS --------
1339 NOTOUCH: the trigger will not become active when touched, it HAS to be targeted
1340 */
1341
1342 /*QUAKED info_player_race (1 0.5 0) (-16 -16 -24) (16 16 45) 
1343 Race spawn point.
1344 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.
1345 -------- KEYS --------
1346 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.
1347 target2: trigger all entities with this targetname when someone spawns
1348 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.
1349 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
1350 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)
1351 */
1352
1353 /*QUAKED func_pointparticles (.5 .5 .5) ? START_ON IMPULSE VISCULLING
1354 A brush that emits particles.
1355 -------- KEYS --------
1356 mdl: particle effect name from effectinfo.txt
1357 impulse: when positive, number of particles to emit per second; when negative; number of particles to emit per second and 64^3 block
1358 velocity: particle direction and speed
1359 waterlevel: extra velocity jitter amount
1360 count: particle count multiplier (per spawned particle)
1361 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
1362 noise: sound to play when the particle is emitted
1363 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)
1364 volume: volume of the sound
1365 targetname: name to target this (then its state is toggled)
1366 bgmscript: emitter class from the BGM script
1367 bgmscriptattack: attack time of the effect strength (0 to 3.9)
1368 bgmscriptdecay: decay time of the effect strength (0 to 3.9)
1369 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)
1370 bgmscriptrelease: release time of the effect strength (0 to 3.9)
1371 -------- SPAWNFLAGS --------
1372 START_ON: when targeted, the particle emitter will start switched on
1373 IMPULSE: only send the full amount of impulse particles when the entity is triggered
1374 VISCULLING: only emit particles if the emitter brush is in the current PVS
1375 -------- NOTES --------
1376 Use trigger_monoflop if you want the particles to turn off for a while, then turn back on.
1377 A BGM script is a .bgs file named like the map, in the maps directory. Its format is lines of the form
1378   <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>
1379 e.g.
1380   smokers 4.7 1
1381   smokers 4.9 0
1382 The lines MUST be sorted by emitter class as primary key, and by the time since start of the BGM as secondary key.
1383 */
1384
1385 /*QUAKED trigger_flipflop (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON
1386 "Flip-flop" trigger gate... lets only every second trigger event through
1387 -------- KEYS --------
1388 target: trigger all entities with this targetname when triggered
1389 targetname: name that identifies this entity so it can be triggered
1390 -------- SPAWNFLAGS --------
1391 START_ON: assume it is already turned on (so the first event is NOT passed through)
1392 */
1393
1394 /*QUAKED trigger_monoflop (.5 .5 .5) (-8 -8 -8) (8 8 8) FIXED
1395 "Mono-flop" trigger gate... turns trigger events into pairs of events
1396 -------- KEYS --------
1397 target: trigger all entities with this targetname when triggered
1398 targetname: name that identifies this entity so it can be triggered
1399 wait: time to wait until the "off" event is fired
1400 -------- SPAWNFLAGS --------
1401 FIXED: do pulses of fixed length (so the "off" delay is NOT extended as usual and new events are just ignored)
1402 */
1403
1404 /*QUAKED trigger_multivibrator (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON
1405 "Multivibrator" trigger gate... repeatedly sends trigger events. When triggered, turns on or off.
1406 -------- KEYS --------
1407 target: trigger all entities with this targetname when it goes off
1408 targetname: name that identifies this entity so it can be triggered
1409 phase: phase of the multivibrator (it is added to the time)
1410 wait: "on" cycle time (default: 1)
1411 respawntime: "off" cycle time (default: same as wait)
1412 -------- SPAWNFLAGS --------
1413 START_ON: assume it is already turned on (when targeted)
1414 */
1415
1416 /*QUAKED trigger_gamestart (.5 .5 .5) (-8 -8 -8) (8 8 8)
1417 Triggers once when the game starts, then no longer does anything.
1418 -------- KEYS --------
1419 target: trigger all entities with this targetname when starting the game
1420 target2: trigger all entities with this targetname when starting the game
1421 target3: trigger all entities with this targetname when starting the game
1422 target4: trigger all entities with this targetname when starting the game
1423 wait: wait so many seconds before triggering
1424 */
1425
1426 /*QUAKED misc_follow (.5 .5 .5) (-8 -8 -8) (8 8 8) ATTACH LOCAL
1427 Makes one entity follow another. Will not work with all entities.
1428 -------- KEYS --------
1429 target: points to the entity to move (e.g. something that won't move by itself)
1430 killtarget: points to the entity that is to be used as the source (e.g. a func_plat)
1431 message: tag name to attach to (if ATTACH is used)
1432 punchangle: angle modifier (if LOCAL is used, and ATTACH is not)
1433 -------- SPAWNFLAGS --------
1434 ATTACH: attachment will be used instead of MOVETYPE_FOLLOW (mostly useful for attaching stuff to ZYM models)
1435 LOCAL: do not untransform the coordinates (that is, the map specifies local coordinates, not global ones). Mostly useful with ATTACH.
1436 */
1437
1438 /*QUAKED weapon_minstanex (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1439 Placing this entity on a map kills your cat, voids the warranty on your toaster, and makes your map an unenjoyable campers' paradise.
1440 the MinstaGib Nex. Always kills with one shot.
1441 -------- KEYS --------
1442 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1443 respawntime: time till it respawns (default: 15)
1444 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1445 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1446 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1447 -------- SPAWNFLAGS --------
1448 FLOATING: the item will float in air, instead of aligning to the floor by falling
1449 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1450 modeldisabled="models/weapons/g_minstanex.md3"
1451 */
1452
1453 /*QUAKED weapon_porto (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1454 the Port-O-Launch. Only can be shot once.
1455 Portals cannot be made on noimpact surfaces, and the portal missile will bounce on slick surfaces.
1456 -------- KEYS --------
1457 respawntime: time till it respawns (default: 120)
1458 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1459 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1460 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1461 -------- SPAWNFLAGS --------
1462 FLOATING: the item will float in air, instead of aligning to the floor by falling
1463 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1464 modeldisabled="models/weapons/g_porto.md3"
1465 */
1466
1467 /*QUAKED target_items (0 0 1) (-8 -8 -8) (8 8 8) AND OR ANDNOT
1468 Sets the items of any player who triggers this.
1469 For the number fields, not specifying a value means not changing it. To clear armor, you need to explicitly set "armor" to "-1".
1470 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).
1471 -------- KEYS --------
1472 targetname: used to trigger this
1473 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"
1474 message: message to print
1475 ammo_shells: amount of shells
1476 ammo_nails: amount of bullets
1477 ammo_rockets: amount of rockets
1478 ammo_cells: amount of cells
1479 ammo_fuel: amount of fuel
1480 health: amount of health
1481 armorvalue: amount of armor
1482 strength_finished: if "strength" is specified, the time in seconds for which the strength will hold
1483 invincible_finished: if "invincible" is specified, the time in seconds for which the invincibility will hold
1484 -------- SPAWNFLAGS --------
1485 AND: any items not listed will get removed, and none will get added
1486 OR: the player may keep items not listed
1487 ANDNOT: the items listed will get removed from the player
1488 */
1489
1490 /*QUAKED target_spawn (1 0 1) (-8 -8 -8) (8 8 8) - ONLOAD
1491 Spawns or modifies an entity when triggered.
1492 The entity field list is a single string of the form:
1493 'field' 'value' 'field' 'value' ... 'classname' 'item_bullets' ... 'field' 'value'
1494 The special "field" name $ calls a void(void) function, for example a spawn function.
1495 Special function names available are _setmodel and _setsize.
1496 Field values can use various variable replacements:
1497 $E
1498 $E.field
1499 $E.field+offset
1500 $E.field+offset+randomoffset
1501 where "E" can be self, activator, target (the entity being created/modified), killtarget, target2, target3, target4 and pusher.
1502 Example is a Mario-style question mark block which could throw a new weapon_nex when activated like this:
1503 {
1504 "classname" "func_button"
1505 "angle" "-1"
1506 "wait" "5"
1507 "target" "makenex"
1508 "speed" "1000"
1509 "lip" "64"
1510 ...
1511 }
1512 {
1513 "classname" "target_spawn"
1514 "origin" "0 0 448"
1515 "targetname" "makenex"
1516 "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"
1517 }
1518 -------- KEYS --------
1519 targetname: used to trigger this
1520 message: entity field list
1521 target: when set, target_spawn edits entities, instead of creating new ones; the special value *activator causes the activator to be edited
1522 count: make sure no more than count entities have been created by this (refuse to spawn new ones if exceeded)
1523 killtarget: reference entity (can be used as $killtarget)
1524 target2: reference entity (can be used as $target2)
1525 target3: reference entity (can be used as $target3)
1526 target4: reference entity (can be used as $target4)
1527 -------- SPAWNFLAGS --------
1528 ONLOAD: create a first entity on map load
1529 */
1530
1531 /*QUAKED misc_breakablemodel (1 0 0) ? DISABLED INDICATE - - - - - - NOSPLASH
1532 This is a model which can be damaged.
1533 Once all health is consumed it'll disappear and trigger the targeted entity/entities.
1534 When triggered, it resets to full health, and unbreaks.
1535 -------- KEYS --------
1536 model: file name of model to include
1537 health: The damage this trigger can take
1538 target: The entity/entities to be triggered once this entity gets invisible
1539 targetname: The name other entities can use to target this entity
1540 mdl: particle effect name to show when destroyed
1541 count: particle effect multiplier
1542 mdl_dead: optional replacement model to show when destroyed
1543 debris: names of debris models to show when destroyed, separated by spaces
1544 noise: sound to play when destroyed
1545 dmg: damage to deal to the environment when destroyed
1546 dmg_edge: edge damage to deal to the environment when destroyed
1547 dmg_radius: damage radius
1548 dmg_force: damage force
1549 message: death message when a player gets hit by the explosion
1550 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)
1551 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
1552 debrissolid: solidity of the debris: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE
1553 debrisvelocity: initial velocity vector of the debris (static part)
1554 debrisvelocityjitter: initial velocity vector of the debris (random part)
1555 debrisavelocityjitter: initial angular velocity vector of the debris (random part)
1556 debristime: time till the debris fades (average)
1557 debristimejitter: time till the debris fades (random part)
1558 debrisfadetime: how long debris takes to fade
1559 debrisdamageforcescale: how much debris is affected by damage force (e.g. explosions)
1560 debrisskin: skin number of debris
1561 respawntime: time till it respawns (default: no auto respawn)
1562 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1563 -------- SPAWNFLAGS --------
1564 DISABLED: do not allow damaging this until it is first activated
1565 INDICATE: indicate amount of damage already taken by coloring
1566 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
1567 */
1568
1569 /*QUAKED func_breakable (1 0 0) ? DISABLED INDICATE - - - - - - NOSPLASH
1570 This is a brush model which can be damaged.
1571 Once all health is consumed it'll disappear and trigger the targeted entity/entities.
1572 When triggered, it resets to full health, and unbreaks.
1573 -------- KEYS --------
1574 health: The damage this trigger can take
1575 target: The entity/entities to be triggered once this entity gets invisible
1576 targetname: The name other entities can use to target this entity
1577 mdl: particle effect name to show when destroyed
1578 count: particle effect multiplier
1579 mdl_dead: optional replacement model to show when destroyed
1580 debris: names of debris models to show when destroyed, separated by spaces
1581 noise: sound to play when destroyed
1582 dmg: damage to deal to the environment when destroyed
1583 dmg_edge: edge damage to deal to the environment when destroyed
1584 dmg_radius: damage radius
1585 dmg_force: damage force
1586 message: death message when a player gets hit by the explosion
1587 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)
1588 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
1589 debrissolid: solidity of the debris: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE
1590 debrisvelocity: initial velocity vector of the debris (static part)
1591 debrisvelocityjitter: initial velocity vector of the debris (random part)
1592 debrisavelocityjitter: initial angular velocity vector of the debris (random part)
1593 debristime: time till the debris fades (average)
1594 debristimejitter: time till the debris fades (random part)
1595 debrisfadetime: how long debris takes to fade
1596 debrisdamageforcescale: how much debris is affected by damage force (e.g. explosions)
1597 debrisskin: skin number of debris
1598 respawntime: time till it respawns (default: no auto respawn)
1599 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1600 -------- SPAWNFLAGS --------
1601 DISABLED: do not allow damaging this until it is first activated
1602 INDICATE: indicate amount of damage already taken by coloring
1603 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
1604 */
1605
1606 /*QUAKED trigger_relay_if (0 1 0) (-8 -8 -8) (8 8 8) NEGATE
1607 Relays the trigger event if a cvar is set to a specified value.
1608 -------- KEYS --------
1609 target: The entity/entities to relay the trigger events to
1610 targetname: The name other entities can use to target this entity
1611 netname: The name of the cvar to check
1612 message: The value of the cvar to check
1613 count: The count of entities that must be found
1614 -------- SPAWNFLAGS --------
1615 NEGATE: trigger if the cvar does NOT match the value.
1616 */
1617
1618 /*QUAKED weapon_hlac (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1619 the Heavy Laser Assault Cannon.
1620 -------- KEYS --------
1621 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1622 respawntime: time till it respawns (default: 30)
1623 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1624 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1625 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1626 -------- SPAWNFLAGS --------
1627 FLOATING: the item will float in air, instead of aligning to the floor by falling
1628 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1629 modeldisabled="models/weapons/g_hlac.md3"
1630 */
1631
1632 /*QUAKED weapon_minelayer (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1633 the Mine Layer.
1634 -------- KEYS --------
1635 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1636 respawntime: time till it respawns (default: 30)
1637 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1638 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1639 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1640 -------- SPAWNFLAGS --------
1641 FLOATING: the item will float in air, instead of aligning to the floor by falling
1642 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1643 modeldisabled="models/weapons/g_minelayer.md3"
1644 */
1645
1646 /*QUAKED weapon_seeker (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1647 Placing this entity on a map kills your dog, voids the warranty on your car, and makes your map an unenjoyable noobs' paradise.
1648 the T.A.G. Seeker.
1649 -------- KEYS --------
1650 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1651 respawntime: time till it respawns (default: 30)
1652 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1653 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1654 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1655 -------- SPAWNFLAGS --------
1656 FLOATING: the item will float in air, instead of aligning to the floor by falling
1657 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1658 modeldisabled="models/weapons/g_seeker.md3"
1659 */
1660
1661 /*QUAKED weapon_hook (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1662 the on-hand Grappling Hook.
1663 -------- KEYS --------
1664 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1665 respawntime: time till it respawns (default: 30)
1666 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1667 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1668 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1669 -------- SPAWNFLAGS --------
1670 FLOATING: the item will float in air, instead of aligning to the floor by falling
1671 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1672 modeldisabled="models/weapons/g_hookgun.md3"
1673 */
1674
1675 /*QUAKED trigger_heal (.5 .5 .5) ?
1676 Any object touching this will be healed.
1677 -------- KEYS --------
1678 health: health to give per second (default 10)
1679 max_health: max health this trigger will give (default 200)
1680 noise: sound file to play (use misc/null.wav to make it silent), default = item_health_medium sound
1681 */
1682
1683 /*QUAKED weapon_rifle (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1684 the Sniper Rifle.
1685 -------- KEYS --------
1686 ammo_nails: initial bullets of the weapon (if unset, g_pickup_nails is used)
1687 respawntime: time till it respawns (default: 30)
1688 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1689 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1690 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1691 -------- SPAWNFLAGS --------
1692 FLOATING: the item will float in air, instead of aligning to the floor by falling
1693 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1694 modeldisabled="models/weapons/g_campingrifle.md3"
1695 */
1696
1697 /*QUAKED func_fourier (0 .5 .8) ?
1698 Solid entity that oscillates according to a sum of sine waves.
1699 -------- KEYS --------
1700 speed: amount of time in seconds for one complete oscillation cycle in the base frequency (default 4).
1701 height: sets the amount of travel of the oscillation movement (default 32). 
1702 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).
1703 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).
1704 dmg: damage a player who gets crushed by it receives
1705 dmgtime: interval to apply dmg to a player who is s in the way
1706 message: death message when a player gets crushed
1707 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)
1708 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
1709 */
1710
1711 /*QUAKED func_vectormamamam (0 .5 .8) ? PROJECT_ON_TARGETNORMAL PROJECT_ON_TARGET2NORMAL PROJECT_ON_TARGET3NORMAL PROJECT_ON_TARGET4NORMAL
1712 Solid entity that moves according to the movement of multiple given entities (max 4)
1713 -------- KEYS --------
1714 target: first reference entity
1715 targetfactor: factor by which to take the first reference entity (default 1).
1716 targetnormal: if set, the first reference entity's location is first projected onto a plane with that normal
1717 target2: second reference entity
1718 target2factor: factor by which to take the second reference entity (default 1).
1719 target2normal: if set, the second reference entity's location is first projected onto a plane with that normal
1720 target3: third reference entity (optional)
1721 target3factor: factor by which to take the third reference entity (default 1).
1722 target3normal: if set, the third reference entity's location is first projected onto a plane with that normal
1723 target4: fourth reference entity (optional)
1724 target4factor: factor by which to take the fourth reference entity (default 1).
1725 target4normal: if set, the fourth reference entity's location is first projected onto a plane with that normal
1726 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).
1727 dmg: damage a player who gets crushed by it receives
1728 dmgtime: interval to apply dmg to a player who is s in the way
1729 message: death message when a player gets crushed
1730 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)
1731 -------- SPAWNFLAGS --------
1732 PROJECT_ON_TARGETNORMAL: target's origin is projected onto the given direction vector, not on the plane perpendicular to it
1733 PROJECT_ON_TARGET2NORMAL: target2's origin is projected onto the given direction vector, not on the plane perpendicular to it
1734 PROJECT_ON_TARGET3NORMAL: target3's origin is projected onto the given direction vector, not on the plane perpendicular to it
1735 PROJECT_ON_TARGET4NORMAL: target4's origin is projected onto the given direction vector, not on the plane perpendicular to it
1736 */
1737
1738 /*QUAKED trigger_relay_teamcheck (.5 .5 .5) (-8 -8 -8) (8 8 8) NOTEAM_TOO INVERT
1739 Works similar to trigger_relay, but only relays trigger events if the team of the activator matches this entity's team
1740 -------- KEYS --------
1741 target: trigger all entities with this targetname when triggered
1742 target2: trigger all entities with this targetname when triggered
1743 target3: trigger all entities with this targetname when triggered
1744 target4: trigger all entities with this targetname when triggered
1745 targetname: name that identifies this entity so it can be triggered
1746 delay: delay the triggering by the given time
1747 message: print this message to the player who activated the trigger
1748 killtarget: remove all entities with this targetname when triggered
1749 team: 5 for red, 14 for blue, 13 for yellow, 10 for pink team
1750 -------- SPAWNFLAGS --------
1751 NOTEAM_TOO: also relay events if the activator has no team set
1752 INVERT: only relay the event if this entity has the matching team
1753 */
1754
1755 /*QUAKED trigger_disablerelay (.5 .5 .5) (-8 -8 -8) (8 8 8) 
1756 Disables a trigger_relay temporarily (until triggered again)
1757 -------- KEYS --------
1758 target: disable/enable all relays with this targetname when triggered
1759 targetname: name that identifies this entity so it can be triggered
1760 */
1761
1762 /*QUAKED nexball_redgoal (1 0 0) ? GOAL_TOUCHPLAYER
1763 Red goal. Defended by the red team.
1764 -------- KEYS --------
1765 noise: sound played when a point is scored
1766 -------- SPAWNFLAGS --------
1767 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1768 */
1769
1770 /*QUAKED nexball_bluegoal (0 0 1) ? GOAL_TOUCHPLAYER
1771 Blue goal. Defended by the blue team.
1772 -------- KEYS --------
1773 noise: sound played when a point is scored
1774 -------- SPAWNFLAGS --------
1775 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1776 */
1777
1778 /*QUAKED nexball_yellowgoal (1 1 0) ? GOAL_TOUCHPLAYER
1779 Yellow goal. Defended by the yellow team. Needs both red and blue goals on the map to work.
1780 -------- KEYS --------
1781 noise: sound played when a point is scored
1782 -------- SPAWNFLAGS --------
1783 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1784 */
1785
1786 /*QUAKED nexball_pinkgoal (1 0 1) ? GOAL_TOUCHPLAYER
1787 Pink goal. Defended by the pink team. Needs red, blue and yellow goals on the map to work.
1788 -------- KEYS --------
1789 noise: sound played when a point is scored
1790 -------- SPAWNFLAGS --------
1791 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1792 */
1793
1794
1795 /*QUAKED nexball_fault (0.6 0.1 0) ? GOAL_TOUCHPLAYER
1796 This acts as a goal that always gives points to the opposing team.
1797 -------- KEYS --------
1798 noise: sound played when a point is scored
1799 -------- SPAWNFLAGS --------
1800 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1801 */
1802
1803 /*QUAKED nexball_out (0.1 0.6 0) ? GOAL_TOUCHPLAYER
1804 When the ball touches this, it is returned.
1805 -------- KEYS --------
1806 noise: sound played when a point is scored
1807 -------- SPAWNFLAGS --------
1808 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)
1809 */
1810
1811 /*QUAKED nexball_football (.9 .9 .9) (-16 -16 -16) (16 16 16)
1812 The soccer type Nexball.
1813 -------- KEYS --------
1814 model: set this if you want to use your own model
1815 scale: if you're using your own model, change this to scale it to 32*32*32
1816 noise: played when the ball bounces
1817 noise1: played when the ball is dropped on the map
1818 */
1819
1820 /*QUAKED nexball_basketball (.5 .2 0) (-16 -16 -16) (16 16 16)
1821 The basket ball type Nexball.
1822 -------- KEYS --------
1823 model: set this if you want to use your own model
1824 scale: if you're using your own model, change this to scale it to 32*32*32
1825 noise: played when the ball bounces
1826 noise1: played when the ball is dropped on the map
1827 noise2: played when the ball is stolen from the enemy
1828 */
1829
1830 /*QUAKED item_fuel (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
1831 Jetpack fuel
1832 -------- KEYS --------
1833 ammo_fuel: fuel units gained by this item (if unset, g_pickup_fuel is used)
1834 respawntime: time till it respawns (default: 15)
1835 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1836 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1837 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1838 -------- SPAWNFLAGS --------
1839 FLOATING: the item will float in air, instead of aligning to the floor by falling
1840 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1841 modeldisabled="models/items/g_fuel.md3"
1842 */
1843
1844 /*QUAKED item_fuel_regen (1 .3 1) (-30 -30 0) (30 30 48) FLOATING
1845 Fuel regenerator
1846 -------- KEYS --------
1847 respawntime: time till it respawns (default: 120)
1848 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1849 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1850 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1851 -------- SPAWNFLAGS --------
1852 FLOATING: the item will float in air, instead of aligning to the floor by falling
1853 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1854 modeldisabled="models/items/g_fuelregen.md3"
1855 */
1856
1857 /*QUAKED item_jetpack (.3 .3 1) (-30 -30 0) (30 30 48) FLOATING
1858 Jetpack
1859 -------- KEYS --------
1860 ammo_fuel: fuel units gained by this item (if unset, g_pickup_fuel_jetpack is used)
1861 respawntime: time till it respawns (default: 120)
1862 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1863 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1864 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1865 -------- SPAWNFLAGS --------
1866 FLOATING: the item will float in air, instead of aligning to the floor by falling
1867 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1868 modeldisabled="models/items/g_jetpack.md3"
1869 */
1870
1871 /*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
1872 Triggers targets when a given magic word has been said
1873 -------- KEYS --------
1874 message: message to wait for (can start or end with * for wildcards)
1875 netname: replacement text (by default, no replacement is performed if empty)
1876 radius: radius in which the player has to be for this to match
1877 target: all entities with a matching targetname will be triggered.
1878 target2: all entities with a matching targetname will be triggered.
1879 target3: all entities with a matching targetname will be triggered.
1880 target4: all entities with a matching targetname will be triggered.
1881 -------- SPAWNFLAGS --------
1882 IGNORE_SAY: do not respond to "say" messages
1883 IGNORE_TEAMSAY: do not respond to "say_team" messages
1884 IGNORE_TELL: do not respond to "tell" messages
1885 IGNORE_INVALIDTELL: do not respond to "tell" messages of invalid syntax
1886 REPLACE_WHOLE_MESSAGE: replace the whole message by netname, or drop the message if netname is empty
1887 REPLACE_OUTSIDE: also perform the replacement when outside the radius (to hide the "secret word")
1888 CONTINUE: even if this magic ear matched, continue looking for further matches/replacements (useful for swear word filters)
1889 NODECOLORIZE: do not decolorize the input string before matching
1890 */
1891
1892 /*QUAKED weapon_fireball (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1893 the Fireball
1894 -------- KEYS --------
1895 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
1896 respawntime: time till it respawns (default: 15)
1897 respawntimejitter: respawn time randomization +/- seconds (default: 0)
1898 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1899 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.
1900 -------- SPAWNFLAGS --------
1901 FLOATING: the item will float in air, instead of aligning to the floor by falling
1902 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1903 modeldisabled="models/weapons/g_fireball.md3"
1904 */
1905
1906 /*QUAKED trigger_warpzone (1 .5 1) ?
1907 A warp zone, i.e. seamlessly connecting two parts of the map.
1908 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.
1909 Must target, or be targeted by, another trigger_warpzone with a congruent common/warpzone surface.
1910 Should target a target_position, or be targeted by a misc_warpzone_position.
1911 Should be thick enough to fit a player entity (i.e. 32 units), preferably even thicker.
1912 -------- KEYS --------
1913 target: must point to another trigger_warpzone, or...
1914 target2: is triggered when a player ENTERS the warpzone (and warps away)
1915 target3: is triggered when a player LEAVES the warpzone (from the other warp zone to this one)
1916 target4: is triggered in both cases
1917 targetname: must be pointed to by another trigger_warpzone. Should be pointed to by a misc_warpzone_position entity, or...
1918 killtarget: should point to a target_position entity, or
1919 warpzone_fadestart: start distance of fading out the warpzone
1920 warpzone_fadeend: end distance of fading out the warpzone (if viewer is further, warpzone is not rendered at all)
1921 */
1922
1923 /*QUAKED trigger_warpzone_reconnect (1 .5 1) (-8 -8 -8) (8 8 8) IGNORE_VISIBLE
1924 Reconnects (randomly) all warpzones/cameras with matching target when triggered
1925 -------- KEYS --------
1926 target: must point to multiple trigger_warpzones, or be not set (then all warpzones may get changed)
1927 targetname: name that identifies this entity so it can be triggered
1928 -------- SPAWNFLAGS --------
1929 IGNORE_VISIBLE: do not rearrange a warpzone if a player can currently see it
1930 */
1931
1932 /*QUAKED misc_warpzone_position (1 .5 .25) (-8 -8 -8) (8 8 8) 
1933 Orientation specification for a trigger_warpzone
1934 -------- KEYS --------
1935 target: must point to a trigger_warpzone
1936 angles: must point perpendicular to the common/warpzone surface of the trigger_warpzone, and away from the trigger brush
1937 origin: must be on the common/warpzone surface of the trigger_warpzone
1938 */
1939
1940 /*QUAKED func_camera (1 .5 1) ?
1941 A camera, i.e. a surface that shows a view from another part of the map.
1942 One surface of this entity must have the common/camera shader, the others should be common/caulk.
1943 Must target a target_position that indicates the view to be shown (and whose angles also indicate the orientation of the view)
1944 -------- KEYS --------
1945 target: must point to a target_position
1946 warpzone_fadestart: start distance of fading out the warpzone
1947 warpzone_fadeend: end distance of fading out the warpzone (if viewer is further, warpzone is not rendered at all)
1948 */
1949
1950 /*QUAKED target_music (1 0 0) (-8 -8 -8) (8 8 8) START_OFF
1951 Background music target (when this is used, the cdtrack line in mapinfo must not be used, and there MUST be a default target_music).
1952 When triggered, the background music is switched to the given track.
1953 When targetname is not set, this is the default track of the map.
1954 -------- KEYS --------
1955 targetname: The name other entities can use to target this entity (when not set, this one is the default)
1956 noise: the music to play (as full sound file name)
1957 volume: the volume (default: 1)
1958 fade_time: fade-in time
1959 fade_rate: fade-out time
1960 lifetime: when set, the music created by this target is switched back to the default one when this time expires
1961 -------- SPAWNFLAGS --------
1962 START_OFF: the trigger is off initially
1963 */
1964
1965 /*QUAKED trigger_music (1 0 0) ? START_OFF
1966 Background music trigger (when this is used, the cdtrack line in mapinfo must not be used, and there MUST be a default target_music).
1967 When triggered, its effect is turned off until triggered again.
1968 -------- KEYS --------
1969 targetname: The name other entities can use to target this entity
1970 noise: the music to play (as full sound file name)
1971 volume: the volume (default: 1)
1972 fade_time: fade-in time
1973 fade_rate: fade-out time
1974 -------- SPAWNFLAGS --------
1975 START_OFF: the trigger is off initially
1976 */
1977
1978 /*QUAKED trigger_gravity (.5 .5 1) ? STICKY START_OFF
1979 An area where gravity differs from the rest of the map.
1980 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.
1981 -------- KEYS --------
1982 gravity: gravity offset in this area, defaults to 0 if not set
1983 noise: sound to play when an entity enters the gravity zone, leave empty to disable
1984 targetname: you can use this to target the grazity zone with a trigger, which will toggle it when activated
1985 -------- SPAWNFLAGS --------
1986 STICKY: entities keep their gravity after leaving the gravity zone
1987 START_OFF: when targeted, the gravity zone starts off and is enabled upon triggering
1988 */
1989
1990 /*QUAKED relay_activate (0 1 0) (-8 -8 -8) (8 8 8) 
1991 Activates all .target's
1992 List of currently supported target ents:
1993 trigger_hurt
1994 trigger_heal
1995 trigger_impulse
1996 trigger_push
1997 trigger_teleport
1998 func_rotating
1999 func_bobbing
2000 func_button
2001 func_fourier
2002 func_vectormamamam
2003 -------- KEYS --------
2004 target: trigger all entities with this targetname when triggered
2005 targetname: name that identifies this entity so it can be triggered
2006 */
2007
2008 /*QUAKED relay_deactivate (1 0 0) (-8 -8 -8) (8 8 8) 
2009 Deactivates all .target's
2010 List of currently supported target ents:
2011 trigger_hurt
2012 trigger_heal
2013 trigger_impulse
2014 trigger_push
2015 trigger_teleport
2016 func_rotating
2017 func_bobbing
2018 func_button
2019 func_fourier
2020 func_vectormamamam
2021 -------- KEYS --------
2022 target: trigger all entities with this targetname when triggered
2023 targetname: name that identifies this entity so it can be triggered
2024 */
2025
2026 /*QUAKED relay_activatetoggle (0 1 1) (-8 -8 -8) (8 8 8) 
2027 Toggles all .target's de/active
2028 List of currently supported target ents:
2029 trigger_hurt
2030 trigger_heal
2031 trigger_impulse
2032 trigger_push
2033 trigger_teleport
2034 func_rotating
2035 func_bobbing
2036 func_button
2037 func_fourier
2038 func_vectormamamam
2039 -------- KEYS --------
2040 target: trigger all entities with this targetname when triggered
2041 targetname: name that identifies this entity so it can be triggered
2042 */
2043
2044 /*QUAKED target_changelevel (.5 .5 0) (-8 -8 -8) (8 8 8)
2045 Loads another map when triggered. Useful for single player maps.
2046 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.
2047 -------- KEYS --------
2048 targetname: The name other entities can use to target this entity
2049 chmap: Map file to switch to, leave empty to make this entity just end the match
2050 gametype: Switch to this gametype. If empty, the same gametype stays
2051 */