bugfix target_spawn, and change docs to match it
[divverent/nexuiz.git] / data / 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 dom_controlpoint (.3 .3 1) (-16 -16 -16) (16 16 16) 
11 Domination  control point
12 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).
13 -------- KEYS --------
14 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".
15 wait: How often this point gives its controlling team frags.
16 frags: How many frags this point gives each wait cycle.
17 */
18
19 /*QUAKED dom_team (.3 .3 1) (-16 -16 -16) (16 16 16) 
20 Domination team.
21 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).
22 -------- KEYS --------
23 netname: name of team (Red Team).  Set to "" or don't define for the required blank team.
24 cnt: color of the team.  See the "Helpful Extras" section for info.
25 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.
26 noise: Sound to be played on the control point when it's captured.  Only players nearby will hear it.
27 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")
28 */
29
30 /*QUAKED func_assault_destructible (.5 0 .5) ?
31 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.
32 -------- KEYS --------
33 health: The damage this trigger can take
34 target: The entity/entities to be triggered once this entity gets invisible
35 targetname: The name other entities can use to target this entity
36 */
37
38 /*QUAKED func_assault_wall (.5 0 .5) ?
39 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.
40 -------- KEYS --------
41 target: targetname of a target_objective
42 */
43
44 /*QUAKED func_bobbing (0 .5 .8) ? X_AXIS Y_AXIS
45 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.
46 -------- KEYS --------
47 speed: amount of time in seconds for one complete oscillation cycle (default 4).
48 height: sets the amount of travel of the oscillation movement (default 32). 
49 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).
50 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).
51 dmg: damage a player who gets crushed by it receives
52 dmgtime: interval to apply dmg to a player who is s in the way
53 message: death message when a player gets crushed
54 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)
55 -------- SPAWNFLAGS --------
56 X_AXIS: entity will bob along the X axis.
57 Y_AXIS: entity will bob along the Y axis.
58 */
59
60 /*QUAKED func_button (0 .5 .8) ? 
61 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.
62 -------- KEYS --------
63 angle: determines the direction in which the button will move (up = -1, down = -2).
64 target: all entities with a matching targetname will be triggered.
65 speed: speed of button's displacement (default 40).
66 wait: number of seconds button stays pressed (default 1, -1 = return immediately).
67 lip: lip remaining at end of move (default 4 units).
68 health: (default 0) if set to any non-zero value, the button must take damage (any amount) to activate.
69 */
70
71 /*QUAKED func_door (0 .5 .8) ? START_OPEN - DOOR_DONT_LINK - - TOGGLE
72 Normal sliding door entity. By default, the door will activate when player walks close to it or when damage is inflicted to it.
73 If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches.
74 -------- KEYS --------
75 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
76 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)
77 angle: determines the opening direction
78 targetname: if set, no touch field will be spawned and a remote button or trigger field activates the door.
79 health: if set, door must be shot open
80 speed: movement speed (100 default)
81 wait: wait before returning (3 default, -1 = never return)
82 lip: lip remaining at end of move (8 default)
83 dmg: damage to inflict when blocked (when triggered and someone is in the way)
84 sounds: when 1, use default door sounds
85 noise1: sound when the door opens
86 noise2: sound when the door closes
87 -------- SPAWNFLAGS --------
88 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).
89 DOOR_DONT_LINK: the door won't link with another door it touches
90 TOGGLE: causes the door to wait in both the start and end states for a trigger event.
91 */
92
93 /*QUAKED func_door_secret (0 .5 .8) ? OPEN_ONCE 1ST_LEFT 1ST_DOWN NO_SHOOT ALWAYS_SHOOT
94 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.
95 -------- KEYS --------
96 wait: # of seconds before coming back
97 key1: first entity key with one-line description
98 key2: second entity key with one-line description
99 t_width: override WIDTH to move back (or height if going down)
100 t_length: override LENGTH to move sideways
101 dmg: damage to inflict when blocked (2 default)
102 message: text to display when activating the door, or death message if dmg is set
103 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)
104 noise1: sound when opening backwards or closing
105 noise2: sound when opening sideways
106 noise3: sound when stopping
107 -------- SPAWNFLAGS --------
108 OPEN_ONCE: only work once, then stay open
109 1ST_LEFT: 1st move is left of arrow
110 1ST_DOWN: 1st move is down from arrow
111 NO_SHOOT: never respond to shots
112 ALWAYS_SHOOT: even if targetname is set, respond to shots
113 */
114
115 /*QUAKED func_group (0 .5 .8) ? 
116 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.
117 -------- Q3MAP2 KEYS --------
118 _lightmapscale: light map resolution factor
119 _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.
120 _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.
121 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
122 -------- KEYS --------
123 _indexmap: Path/name for the TGA file used to guide the mapping of textures on the terrain surface.
124 _layers: number of unique root shaders that will be use on the terrain.
125 _shader: Path to the metashader used to assign textures to the terrain entity. Note: Omit the "textures/" prefix.
126 _offsets: space separated list of height offsets for the index map
127 */
128
129 /*QUAKED func_ladder (0 .5 .8) ? 
130 a ladder, need i say no more
131 grab a trigger brush and put it in front of the part that you want the player to climb
132 */
133
134 /*QUAKED func_plat (0 .5 .8) ? - - CRUSH
135 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.
136 -------- KEYS --------
137 speed: determines how fast the plat moves (default 150).
138 lip: lip remaining at end of move (default 16). Has no effect if "height" is set.
139 height: if set, this will determine the total amount of vertical travel of the plat.
140 dmg: damage to inflict on player when he blocks operation of plat. Plat will reverse direction when blocked.
141 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.
142 sounds: 2 for alternate sound set, -1 for silence, or use the fields below
143 sound1: platform starts moving sound
144 sound2: platform stop sound
145 message: kill message, when someone gets killed by this plat
146 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)
147 -------- SPAWNFLAGS --------
148 CRUSH: crush players hit by the platform instantly
149 -------- NOTES --------
150 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.
151 */
152
153 /*QUAKED func_rain (0 .5 .8) ? 
154 This is an invisible area like a trigger, which rain falls inside of.
155 -------- KEYS --------
156 velocity: falling direction (should be something like '0 0 -700', use the X and Y velocity for wind)
157 cnt: sets color of rain in the Quake palette (default 12 - white)
158 count: adjusts density, this many particles fall every second for a 1024x1024 area, default is 2000
159 */
160
161 /*QUAKED func_rotating (0 .5 .8) ? - - X_AXIS Y_AXIS
162 Brush entity that spins in place on one axis (default Z). Use an origin brush to specify define the rotation axis.
163 To rotate around another axis, make a func_wall with an explicit avelocity given.
164 -------- KEYS --------
165 speed: speed to rotate (in degrees per second)
166 noise: path/name of looping .wav file to play.
167 dmg: Do this much dmg every .dmgtime interval when blocked
168 dmgtime: See above. (0.25s default)
169 message: kill message when crushed by this
170 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)
171 -------- SPAWNFLAGS --------
172 X_AXIS: rotate around the X axis
173 Y_AXIS: rotate around the Y axis
174 */
175
176 /*QUAKED func_snow (0 .5 .8) ? 
177 This is an invisible area like a trigger, which snow falls inside of.
178 -------- KEYS --------
179 velocity: falling direction (should be something like '0 0 -300', use the X and Y velocity for wind)
180 cnt: sets color of snow in the Quake palette (default 12 - white)
181 count: adjusts density, this many particles fall every second for a 1024x1024 area, default is 2000
182 */
183
184 /*QUAKED func_stardust (.5 .5 .5) (-8 -8 -8) (8 8 8) 
185 Point entity with EF_STARDUST applied. This will spawn a particle cloud with mostly golden particles. Used as eye-candy.
186 */
187
188 /*QUAKED func_train (0 .5 .8) ? 
189 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).
190 At each node, the train's mins corner hits exactly the path_corner.
191 Trains always start on in the game.
192 Trains do not damage the played when blocked.
193 Trains cannot emit sound.
194 Trains are not trigger-able or toggle-able.
195 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.
196 -------- KEYS --------
197 speed: default/initial speed of train (default 100 or overridden by speed value of targeted path_corner)
198 target: targetname of first path_corner to move to at the default speed; ideally, this path_corner shall be exactly where the train starts
199 */
200
201 /*QUAKED func_wall (0 .5 .8) ? 
202 A solid brush entity.
203 Behaves just like solid brushes, except that it is a separate entity (a submodel) and can be targeted.
204 -------- KEYS --------
205 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.
206 */
207
208 /*QUAKED info_location (1 1 0) (-8 -8 -8) (8 8 8) 
209 Location for use by the %l escape in "say" messages.
210 The closest "visible" info_location entity is chosen to find the right location name for a point.
211 -------- KEYS --------
212 message: name of location, possibly with color codes
213 */
214
215 /*QUAKED info_notnull (0 .5 0) (-8 -8 -8) (8 8 8) 
216 Entity that does nothing, but may be targeted (e.g. to use its position)
217 -------- KEYS --------
218 targetname: must match the target key of entity that uses this for pointing.
219 */
220
221 /*QUAKED info_null (0 .5 0) (-8 -8 -8) (8 8 8) 
222 Aiming target for q3map2-internal entities like _decal or light. Removes itself when loaded, so it can NOT be used for in-game stuff!
223 -------- KEYS --------
224 targetname: the entity that requires an aiming direction points to this.
225 */
226
227 /*QUAKED info_player_attacker (1 0.5 0) (-16 -16 -24) (16 16 45) 
228 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.
229 -------- KEYS --------
230 target: this should point to a target_objective to decide when this spawning point is active.
231 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.
232 */
233
234 /*QUAKED info_player_deathmatch (0 1 0) (-16 -16 -24) (16 16 45) 
235 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.
236 -------- KEYS --------
237 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.
238 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.
239 */
240
241 /*QUAKED info_player_defender (.5 .5 .5) (-16 -16 -24) (16 16 45) 
242 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.
243 -------- KEYS --------
244 target: this should point to a target_objective to decide when this spawning point is active.
245 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.
246 */
247
248 /*QUAKED info_player_team1 (1 0 0) (-16 -16 -24) (16 16 45) 
249 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.
250 -------- KEYS --------
251 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.
252 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.
253 */
254
255 /*QUAKED info_player_team2 (0 0 1) (-16 -16 -24) (16 16 45) 
256 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.
257 -------- KEYS --------
258 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.
259 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.
260 */
261
262 /*QUAKED info_player_team3 (1 1 0) (-16 -16 -24) (16 16 45) 
263 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.
264 -------- KEYS --------
265 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.
266 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.
267 */
268
269 /*QUAKED info_player_team4 (1 0 1) (-16 -16 -24) (16 16 45) 
270 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.
271 -------- KEYS --------
272 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.
273 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.
274 */
275
276 /*QUAKED item_armor_large (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING
277 Large Armor (default 100 armor points)
278 -------- KEYS --------
279 respawntime: time till it respawns (default: 30)
280 armorvalue: amount of armor it gives (default: 100 (g_pickup_armorlarge))
281 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armorlarge_max))
282 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
283 -------- SPAWNFLAGS --------
284 FLOATING: the item will float in air, instead of aligning to the floor by falling
285 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
286 model="models/items/g_a25.md3"
287 */
288
289 /*QUAKED item_armor_medium (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING
290 Medium Armor (default 25 armor points)
291 -------- KEYS --------
292 respawntime: time till it respawns (default: 20)
293 armorvalue: amount of armor it gives (default: 25 (g_pickup_armormedium))
294 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armormedium_max))
295 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
296 -------- SPAWNFLAGS --------
297 FLOATING: the item will float in air, instead of aligning to the floor by falling
298 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
299 model="models/items/g_armormedium.md3"
300 */
301
302 /*QUAKED item_armor_small (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING
303 Small Armor (default 5 armor points)
304 -------- KEYS --------
305 respawntime: time till it respawns (default: 15)
306 armorvalue: amount of armor it gives (default: 5 (g_pickup_armorsmall))
307 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armorsmall_max))
308 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
309 -------- SPAWNFLAGS --------
310 FLOATING: the item will float in air, instead of aligning to the floor by falling
311 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
312 model="models/items/g_a1.md3"
313 */
314
315 /*QUAKED item_bullets (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
316 Machine Gun ammo
317 -------- KEYS --------
318 ammo_nails: bullets gained by this item (if unset, g_pickup_nails is used)
319 respawntime: time till it respawns (default: 15)
320 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
321 -------- SPAWNFLAGS --------
322 FLOATING: the item will float in air, instead of aligning to the floor by falling
323 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
324 model="models/items/a_bullets.mdl"
325 */
326
327 /*QUAKED item_cells (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
328 Nex, Electro and Crylink ammo
329 -------- KEYS --------
330 ammo_cells: cells gained by this item (if unset, g_pickup_cells is used)
331 respawntime: time till it respawns (default: 15)
332 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
333 -------- SPAWNFLAGS --------
334 FLOATING: the item will float in air, instead of aligning to the floor by falling
335 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
336 model="models/items/a_cells.md3"
337 */
338
339 /*QUAKED item_flag_team1 (1 0 0) (-48 -48 -37) (48 48 37) 
340 CTF flag for team one (Red). Use more than one if you really insist.
341 -------- KEYS --------
342 model: model to use
343 scale: scaling factor (DO set this when using your own model!)
344 noise: sound played when flag is picked up
345 noise1: sound played when flag is returned
346 noise2: sound played when flag is captured
347 noise3: sound played when flag is lost in the field and respawns itself
348 */
349
350 /*QUAKED item_flag_team2 (0 0 1) (-48 -48 -37) (48 48 37) 
351 CTF flag for team two (Blue). Use more than one if you really insist.
352 -------- KEYS --------
353 model: model to use
354 scale: scaling factor (DO set this when using your own model!)
355 noise: sound played when flag is picked up
356 noise1: sound played when flag is returned
357 noise2: sound played when flag is captured
358 noise3: sound played when flag is lost in the field and respawns itself
359 */
360
361 /*QUAKED item_health_large (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING
362 Large Health (default 50 health points)
363 -------- KEYS --------
364 respawntime: time till it respawns (default: 20)
365 health: amount of health it gives (default: 50 (g_pickup_healthlarge))
366 max_health: max of health it increases to (default: 999 (g_pickup_healthlarge_max))
367 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
368 -------- SPAWNFLAGS --------
369 FLOATING: the item will float in air, instead of aligning to the floor by falling
370 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
371 model="models/items/g_h50.md3"
372 */
373
374 /*QUAKED item_health_medium (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING
375 Medium Health (default 25 health points)
376 -------- KEYS --------
377 respawntime: time till it respawns (default: 15)
378 health: amount of health it gives (default: 25 (g_pickup_healthmedium))
379 max_health: max of health it increases to (default: 999 (g_pickup_healthmedium_max))
380 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
381 -------- SPAWNFLAGS --------
382 FLOATING: the item will float in air, instead of aligning to the floor by falling
383 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
384 model="models/items/g_h25.md3"
385 */
386
387 /*QUAKED item_health_mega (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING
388 Mega Health (default 100 health points)
389 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
390 -------- KEYS --------
391 respawntime: time till it respawns (default: 30)
392 health: amount of health it gives (default: 100 (g_pickup_healthmega))
393 max_health: max of health it increases to (default: 999 (g_pickup_healthmega_max))
394 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
395 -------- SPAWNFLAGS --------
396 FLOATING: the item will float in air, instead of aligning to the floor by falling
397 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
398 model="models/items/g_h100.md3"
399 */
400
401 /*QUAKED item_health_small (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING
402 Small Health (default 5 health points)
403 -------- KEYS --------
404 respawntime: time till it respawns (default: 15)
405 health: amount of health it gives (default: 5 (g_pickup_healthsmall))
406 max_health: max of health it increases to (default: 5 (g_pickup_healthsmall_max))
407 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
408 -------- SPAWNFLAGS --------
409 FLOATING: the item will float in air, instead of aligning to the floor by falling
410 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
411 model="models/items/g_h1.md3"
412 */
413
414 /*QUAKED item_invincible (.3 .3 1) (-30 -30 0) (30 30 48) FLOATING
415 Strong Shield
416 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
417 -------- KEYS --------
418 respawntime: time till it respawns (default: 120)
419 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
420 -------- SPAWNFLAGS --------
421 FLOATING: the item will float in air, instead of aligning to the floor by falling
422 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
423 model="models/items/g_invincible.md3"
424 */
425
426 /*QUAKED item_minst_cells (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
427 Minstagib ammo.
428 Always contains 5 (g_minstagib_ammo_drop) shots.
429 It only appears when playing Minstagib and prevents auto-replacement of weapon_nex & weapon_rocketlauncher when used.
430 -------- KEYS --------
431 respawntime: time till it respawns (default: 45)
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 -------- SPAWNFLAGS --------
434 FLOATING: the item will float in air, instead of aligning to the floor by falling
435 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
436 model="models/items/a_cells.md3"
437 */
438
439 /*QUAKED item_rockets (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
440 Rocket Launcher, Hagar and Mortar ammo
441 -------- KEYS --------
442 ammo_rockets: rockets gained by this item (if unset, g_pickup_rockets is used)
443 respawntime: time till it respawns (default: 15)
444 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
445 -------- SPAWNFLAGS --------
446 FLOATING: the item will float in air, instead of aligning to the floor by falling
447 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
448 model="models/items/a_rockets.md3"
449 */
450
451 /*QUAKED item_shells (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING
452 Shotgun ammo
453 -------- KEYS --------
454 ammo_shells: shells gained by this item (if unset, g_pickup_shells is used)
455 respawntime: time till it respawns (default: 15)
456 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
457 -------- SPAWNFLAGS --------
458 FLOATING: the item will float in air, instead of aligning to the floor by falling
459 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
460 model="models/items/a_shells.md3"
461 */
462
463 /*QUAKED item_strength (.3 .3 1) (-30 -30 0) (30 30 48) FLOATING
464 Strength aka Quad damage
465 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
466 -------- KEYS --------
467 respawntime: time till it respawns (default: 120)
468 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
469 -------- SPAWNFLAGS --------
470 FLOATING: the item will float in air, instead of aligning to the floor by falling
471 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
472 model="models/items/g_strength.md3"
473 */
474
475 /*QUAKED light (.65 .65 1) (-8 -8 -8) (8 8 8) LINEAR NOANGLE - - NOGRIDLIGHT
476 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.
477 Maximum intensity (in a radius 16 sphere around the light): regular lights have light/256, linear lights have light/8000-16*fade.
478 Falloff radius to a negligible light amount: regular lights have light have 16*sqrt(light), linear lights have light/(fade*8000).
479 By this you see that you HAVE to specify fade for a linear light... use values below 0.01 there.
480 -------- KEYS --------
481 light: intensity factor (default: 300). A linear
482 _color: weighted RGB value of light color (default white - 1.0 1.0 1.0).
483 target: Lights pointed at a target will be spotlights.
484 radius: radius of a spotlight at the target point (default: 64)
485 _anglescale: scales angle attenuation
486 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.
487 _filterradius: filter radius for this light, similar to -light -filter
488 _sun: if 1, this light is an infinite sun light
489 _samples: number of samples to use to get soft shadows from a light
490 _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
491 -------- SPAWNFLAGS --------
492 LINEAR: Use a linear falloff. Default is inverse distance squared (more realistic).
493 NOANGLE: Ignore angle attenuation.
494 NOGRIDLIGHT: Do not affect the light grid (dynamic entity lighting).
495 */
496
497 /*QUAKED lightJunior (.65 .65 1) (-8 -8 -8) (8 8 8) LINEAR NOANGLE
498 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.
499 Maximum intensity (in a radius 16 sphere around the light): regular lights have light/256, linear lights have light/8000-16*fade.
500 Falloff radius to a negligible light amount: regular lights have light have 16*sqrt(light), linear lights have light/(fade*8000).
501 By this you see that you HAVE to specify fade for a linear light... use values below 0.01 there.
502 -------- KEYS --------
503 light: intensity factor (default: 300). A linear
504 _color: weighted RGB value of light color (default white - 1.0 1.0 1.0).
505 target: Lights pointed at a target will be spotlights.
506 radius: radius of a spotlight at the target point (default: 64)
507 _anglescale: scales angle attenuation
508 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.
509 _filterradius: filter radius for this light, similar to -light -filter
510 _sun: if 1, this light is an infinite sun light
511 _samples: number of samples to use to get soft shadows from a light
512 _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
513 -------- SPAWNFLAGS --------
514 LINEAR: Use a linear falloff. Default is inverse distance squared (more realistic).
515 NOANGLE: Ignore angle attenuation.
516 */
517
518 /*QUAKED misc_laser (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON FINITE
519 Laser beam emitter
520 -------- KEYS --------
521 target: target_position the laser targets (may be another entity, preferably target_position, possibly controlled by misc_follow)
522 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)
523 colormod: color of the laser beam (default: red, that is, 1 0 0)
524 dmg: damage inflicted by the beam per second, or -1 for an instant-death ray
525 targetname: name to target this (then its state is toggled)
526 alpha: when set, makes a dark laser of the given strength; may be combined with colormod
527 -------- SPAWNFLAGS --------
528 START_ON: when targeted, the laser will start switched on
529 FINITE: the laser does not extend over its target like light would do, but stops there (takes more bandwidth)
530 -------- NOTES --------
531 Use trigger_monoflop if you want the laser to turn off for a while, then turn back on.
532 When the laser's target has itself target set, its targets are triggered when someone enters or leaves the laser.
533 */
534
535 /*QUAKED misc_model (1 .5 .25) (-16 -16 -16) (16 16 16) - SOLID - EXTRUDE_NORMALS EXTRUDE_TERRAIN
536 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.
537 -------- Q3MAP2 KEYS --------
538 model: file name of model to include
539 _frame: frame of model to include
540 _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.
541 angle: view direction of the model
542 angles: view direction of the model in PITCH YAW ROLL
543 modelscale: scaling factor
544 modelscale_vec: scaling vector for non-uniform scaling
545 _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.
546 _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.
547 _lightmapscale: light map resolution factor
548 _celshader: the cel shader for this
549 -------- SPAWNFLAGS --------
550 SOLID: make the model solid
551 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)
552 EXTRUDE_TERRAIN: always extrude downwards (for terrain)
553 */
554
555 /*QUAKED misc_gamemodel (0 .5 .8) (-8 -8 -8) (8 8 8)
556 A way to load models from a map by the engine (e.g. self-animated zym models).
557 Is non-solid by default.
558 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_models. Its q3map2 keys below will work on any brush entity!
559 -------- KEYS --------
560 model: when used as a point entity, file name of model to load; when used as a brush entity, do not specify that
561 frame: animation frame to play (for self-animated zym models)
562 skin: number of skin to load (when model is used)
563 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
564 solid: solidity: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE
565 avelocity: vector giving its angular velocity (useful for spinning models)
566 scale: scale factor of the model (range: 0.0625 to 15.9375)
567 colormap: 1024 + 16 * pantscolor + shirtcolor
568 velocity: when movetype isn't 0, initial velocity vector
569 angles: initial looking direction
570 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
571 loddistance1: distance after which to show the first LOD model replacement (default: 1000)
572 loddistance2: distance after which to show the second LOD model replacement (default: 2000)
573 lodmodel1: file name of the first LOD model replacement
574 lodmodel2: file name of the second LOD model replacement
575 -------- Q3MAP2 KEYS --------
576 _frame: frame of model to include (set equal to frame if _castshadows is set)
577 modelscale: scaling factor (set equal to scale if _castshadows is set)
578 _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.
579 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
580 _clonename: template name so one can clone from it
581 min: override automatically found minimum coordinate bounds
582 max: override automatically found maximum coordinate bounds
583 targetname: if targeted by a misc_model, its brushes get inserted into this
584 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
585 */
586
587 /*QUAKED func_static (0 .5 .8) ? 
588 A non-solid brush entity. Use func_wall if you want it solid.
589 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!
590 -------- KEYS --------
591 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
592 solid: solidity: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE
593 avelocity: vector giving its angular velocity (useful for spinning models)
594 scale: scale factor of the model (range: 0.0625 to 15.9375)
595 colormap: 1024 + 16 * pantscolor + shirtcolor
596 velocity: when movetype isn't 0, initial velocity vector
597 angles: initial looking direction
598 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
599 loddistance1: distance after which to show the first LOD model replacement (default: 1000)
600 loddistance2: distance after which to show the second LOD model replacement (default: 2000)
601 lodtarget1: targetname of the first LOD model entity (can be used instead of lodmodel1 to use a brush model instead)
602 lodtarget2: targetname of the second LOD model entity (can be used instead of lodmodel2 to use a brush model instead)
603 -------- Q3MAP2 KEYS --------
604 _frame: frame of model to include (set equal to frame if _castshadows is set)
605 modelscale: scaling factor (set equal to scale if _castshadows is set)
606 _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.
607 _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.
608 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
609 _clonename: template name so one can clone from it
610 min: override automatically found minimum coordinate bounds
611 max: override automatically found maximum coordinate bounds
612 targetname: if targeted by a misc_model, its brushes get inserted into this
613 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
614 */
615
616 /*QUAKED misc_teleporter_dest (1 .5 .25) (-16 -16 -24) (16 16 45) 
617 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.
618 -------- KEYS --------
619 targetname: make the trigger_teleporter point to this.
620 target: target to activate when a teleporter targeting this is used
621 angle: direction in which player will look when teleported, OR use
622 angles: pitch and yaw when coming out of the teleporter (also specifies the direction the player will aim when coming out)
623 */
624
625 /*QUAKED onslaught_controlpoint (0 .5 .8) (-32 -32 0) (32 32 128) 
626 Control point.  Be sure to give this enough clearance so that the shootable part has room to exist
627 This should link to an onslaught_controlpoint entity or onslaught_generator entity.
628 -------- KEYS --------
629 targetname: name that onslaught_link entities will use to target this.
630 target: target any entities that are tied to this control point, such as vehicles and buildable structure entities.
631 message: name of this control point (should reflect the location in the map, such as "center bridge", "north tower", etc)
632 */
633
634 /*QUAKED onslaught_generator (0 .5 .8) (-32 -32 -24) (32 32 64) 
635 Base generator.
636
637 onslaught_link entities can target this.
638 -------- KEYS --------
639 team: team that owns this generator (5 = red, 14 = blue, etc), MUST BE SET.
640 targetname: name that onslaught_link entities will use to target this.
641 */
642
643 /*QUAKED onslaught_link (0 .5 .8) (-16 -16 -16) (16 16 16) 
644 Link between control points.
645
646 This entity targets two different onslaught_controlpoint or onslaught_generator entities, and suppresses shielding on both if they are owned by different teams.
647 -------- KEYS --------
648 target: first control point.
649 target2: second control point.
650 */
651
652 /*QUAKED path_corner (.5 .3 0) (-8 -8 -8) (8 8 8) 
653 Path corner entity that func_train will follow.
654 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)
655 -------- KEYS --------
656 target: point to next path_corner in the path.
657 targetname: the train following the path or the previous path_corner in the path points to this.
658 speed: speed of func_train while moving to this path corner. If unset, the value from the func_train will be used.
659 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
660 */
661
662 /*QUAKED runematch_spawn_point (.3 .3 1) (-16 -16 -16) (16 16 16) 
663 Spawn point for runes in a runematch.
664 */
665
666 /*QUAKED target_assault_roundend (1 0 0) (-8 -8 -8) (8 8 8) 
667 This entity ends the current assault round if triggered or if the timelimit is reached.
668 Ending a round means swapping attacker/defender teams, resetting objectives and rewarding the winning team.
669 Every assault map needs this entity. There should only be one per map.
670 -------- KEYS --------
671 health: Time in seconds how long a round in assault shall last. Default is 300 seconds.
672 targetname: Name to target this entity
673 */
674
675 /*QUAKED target_assault_roundstart (.5 0 .5) (-8 -8 -8) (8 8 8) 
676 This entity triggers its targets whenever a new assault round is started. This can be used to e.g. activate the first objective.
677 -------- KEYS --------
678 target: targetname of the entity/entities to be triggered
679 */
680
681 /*QUAKED target_objective (.5 0 .5) (-8 -8 -8) (8 8 8) 
682 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.
683 -------- KEYS --------
684 target: targetname of the entity to be triggered once this objective is fulfilled.
685 targetname: targetname for this entity so it can be triggered by other entities.
686 */
687
688 /*QUAKED target_objective_decrease (0 1 0) (-8 -8 -8) (8 8 8) 
689 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.
690 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.
691 -------- KEYS --------
692 target: The targetname of the target_objective you want to manipulate.
693 targetname: Name for other entities to target this entity.
694 dmg: The amount of "health"-points you want to subtract from the objective health. Defaults to 101.
695 */
696
697 /*QUAKED target_position (0 .5 0) (-8 -8 -8) (8 8 8) 
698 Aiming target for entities like light and trigger_push.
699 -------- KEYS --------
700 targetname: the entity that requires an aiming direction points to this.
701 target: target to activate when a jumppad targeting this is used
702 */
703
704 /*QUAKED target_speaker (0 .7 .7) (-8 -8 -8) (8 8 8) 
705 Sound generating entity that plays sound files.
706 If targeted, it plays the sound file every time when triggered.
707 If not targeted, it loops the sound file as an ambient noise.
708 -------- KEYS --------
709 noise: path/name of .wav/.ogg file to play
710 targetname: the activating button or trigger points to this.
711 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)
712 volume: volume of the sound
713 */
714
715 /*QUAKED trigger_counter (.5 .5 .5) ? NOMESSAGE
716 Acts as an intermediary for an action that takes multiple inputs.
717 After the counter has been triggered "count" times, it will fire all of its targets and remove itself.
718 -------- KEYS --------
719 count: how many times this needs to be triggered to activate its targets
720 target: trigger all entities with this targetname when triggered
721 targetname: name that identifies this entity so it can be triggered
722 delay: delay the triggering by the given time
723 message: print this message to the player who activated the trigger
724 killtarget: remove all entities with this targetname when triggered
725 -------- SPAWNFLAGS --------
726 NOMESSAGE: don't print a "2 more to go..."-like message when triggered
727 */
728
729 /*QUAKED trigger_delay (.5 .5 .5) (-8 -8 -8) (8 8 8) 
730 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).
731 -------- KEYS --------
732 wait: delay the triggering by the given time
733 target: trigger all entities with this targetname when triggered
734 targetname: name that identifies this entity so it can be triggered
735 message: print this message to the player who activated the trigger
736 killtarget: remove all entities with this targetname when triggered
737 */
738
739 /*QUAKED trigger_hurt (.5 .5 .5) ? 
740 Any object touching this will be hurt.
741 Has the useful effect of automatically returning flags, keys and runes when they touch it.
742 -------- KEYS --------
743 dmg: amount of damage to deal (default: 1000)
744 message: kill message when someone gets killed by this (default: "was in the wrong place")
745 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)
746 */
747
748 /*QUAKED trigger_impulse (.5 .5 .5) ? 
749 An accelerator/dampener/wind field.
750 Can be used in two ways:
751 "dampener field": just set strength to a value from 0 to 1. Entering the field will slow down to this factor.
752 "accelerator field": just set strength to a value from 1 to infinity. Entering the field will accelerate by this factor.
753 "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.
754 "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.
755 -------- KEYS --------
756 target: "wind field": points to the target_position to which the player will get pushed.
757 strength: "wind field", "gravity field": amount of force per second to apply. "dampener/accelerator field": slowdown/speedup factor.
758 falloff: "gravity field": 0 means no falloff, 1 means linear falloff (zero at the outside), 2 means inverted linear falloff (zero at the inside)
759 */
760
761 /*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH ALLENTS
762 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.
763 -------- KEYS --------
764 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)
765 wait: prevent triggering again for this amount of time
766 sounds: 1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav
767 noise: path to sound file, if you want to play something else
768 target: trigger all entities with this targetname when triggered
769 targetname: name that identifies this entity so it can be triggered
770 delay: delay the triggering by the given time
771 message: print this message to the player who activated the trigger
772 killtarget: remove all entities with this targetname when triggered
773 -------- SPAWNFLAGS --------
774 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)
775 ALLENTS: the trigger responds to all entities, not just players (useful for targetting trigger_items)
776 */
777
778 /*QUAKED trigger_once (.5 .5 .5) ? NOTOUCH
779 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.
780 Basically, it's a use-once trigger_multiple.
781 -------- KEYS --------
782 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)
783 sounds: 1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav
784 noise: path to sound file, if you want to play something else
785 target: trigger all entities with this targetname when triggered
786 targetname: name that identifies this entity so it can be triggered
787 delay: delay the triggering by the given time
788 message: print this message to the player who activated the trigger
789 killtarget: remove all entities with this targetname when triggered
790 -------- SPAWNFLAGS --------
791 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)
792 */
793
794 /*QUAKED trigger_push (1 .5 0) ? 
795 Jump pad. What else?
796 Can be used in three ways:
797 Nexuiz "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.
798 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.
799 Quake "movedir/speed" way: player will get velocity movedir * speed * 10 when using the jump pad
800 -------- KEYS --------
801 target: point the player will fly to when using the jump pad (use a target_position here)
802 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
803 movedir: when target is not set, direction vector to push to
804 speed: speed of jump pad (default: 1000)
805 noise: sound to play when jump pad is used; default is misc/jumppad.wav; you can set it to "" to make the pad silent
806 */
807
808 /*QUAKED trigger_relay (.5 .5 .5) (-8 -8 -8) (8 8 8) 
809 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.
810 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.
811 More than one "trigger event" can be delayed at once, as opposed to trigger_delay.
812 -------- KEYS --------
813 target: trigger all entities with this targetname when triggered
814 targetname: name that identifies this entity so it can be triggered
815 delay: delay the triggering by the given time
816 message: print this message to the player who activated the trigger
817 killtarget: remove all entities with this targetname when triggered
818 */
819
820 /*QUAKED trigger_swamp (.5 .5 .5) ? 
821 Players getting into the swamp will get slowed down and damaged
822 -------- KEYS --------
823 dmg: damage per interval to deal (default is 5)
824 swamp_interval: interval of damage when in swamp (default is 1)
825 swamp_slowdown: amount of slowdown caused by the swamp (default is 0.5)
826 */
827
828 /*QUAKED trigger_teleport (.5 .5 .5) ? 
829 Touching this will teleport players to the location of the targeted misc_teleporter_dest entity.
830 Note that in Nexuiz, teleporters preserve momentum of the player using them.
831 -------- KEYS --------
832 target: this must point to a misc_teleporter_dest entity.
833 */
834
835 /*QUAKED weapon_crylink (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
836 the Crylink
837 -------- KEYS --------
838 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
839 respawntime: time till it respawns (default: 15)
840 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
841 -------- SPAWNFLAGS --------
842 FLOATING: the item will float in air, instead of aligning to the floor by falling
843 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
844 model="models/weapons/g_crylink.md3"
845 */
846
847 /*QUAKED weapon_electro (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
848 the Electro
849 -------- KEYS --------
850 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
851 respawntime: time till it respawns (default: 15)
852 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
853 -------- SPAWNFLAGS --------
854 FLOATING: the item will float in air, instead of aligning to the floor by falling
855 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
856 model="models/weapons/g_electro.md3"
857 */
858
859 /*QUAKED weapon_grenadelauncher (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
860 the Mortar
861 -------- KEYS --------
862 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
863 respawntime: time till it respawns (default: 15)
864 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
865 -------- SPAWNFLAGS --------
866 FLOATING: the item will float in air, instead of aligning to the floor by falling
867 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
868 model="models/weapons/g_gl.md3"
869 */
870
871 /*QUAKED weapon_hagar (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
872 the Hagar
873 -------- KEYS --------
874 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
875 respawntime: time till it respawns (default: 15)
876 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
877 -------- SPAWNFLAGS --------
878 FLOATING: the item will float in air, instead of aligning to the floor by falling
879 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
880 model="models/weapons/g_hagar.md3"
881 */
882
883 /*QUAKED weapon_nex (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
884 the Nex
885 In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.
886 -------- KEYS --------
887 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
888 respawntime: time till it respawns (default: 15 * g_balance_nex_respawntime_modifier)
889 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
890 -------- SPAWNFLAGS --------
891 FLOATING: the item will float in air, instead of aligning to the floor by falling
892 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
893 model="models/weapons/g_nex.md3"
894 */
895
896 /*QUAKED weapon_rocketlauncher (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
897 the Rocket Launcher
898 In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.
899 -------- KEYS --------
900 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)
901 respawntime: time till it respawns (default: 15)
902 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
903 -------- SPAWNFLAGS --------
904 FLOATING: the item will float in air, instead of aligning to the floor by falling
905 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
906 model="models/weapons/g_rl.md3"
907 */
908
909 /*QUAKED weapon_shotgun (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
910 the Shotgun
911 -------- KEYS --------
912 ammo_shells: initial shells of the weapon (if unset, g_pickup_shells is used)
913 respawntime: time till it respawns (default: 15)
914 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
915 -------- SPAWNFLAGS --------
916 FLOATING: the item will float in air, instead of aligning to the floor by falling
917 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
918 model="models/weapons/g_shotgun.md3"
919 */
920
921 /*QUAKED weapon_uzi (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
922 the Machine Gun
923 -------- KEYS --------
924 ammo_nails: initial bullets of the weapon (if unset, g_pickup_nails is used)
925 respawntime: time till it respawns (default: 15)
926 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
927 -------- SPAWNFLAGS --------
928 FLOATING: the item will float in air, instead of aligning to the floor by falling
929 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
930 model="models/weapons/g_uzi.md3"
931 */
932
933 /*QUAKED worldspawn (0 0 0) ? 
934 The world.
935 If you see this, the currently selected brush is not of an entity.
936 -------- KEYS --------
937 fog: fog parameters of the map (density red green blue alpha mindist maxdist); works just like the "fog" console command
938 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.
939 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.
940 _description: one-line description of the map. Will get copied to the "description" entry of the mapinfo file when none is present.
941 -------- Q3MAP2 KEYS --------
942 _blocksize: vector specifying the automatic vis subdivision block size (default: 1024 1024 1024)
943 gridsize: lightgrid granularity vector (default: 64 64 128)
944 _color: color of the global light parameters
945 _ambient: light added to all surfaces
946 _mingridlight: minimum grid light
947 _minlight: minimum light value on both surfaces and lightgrid
948 _keepLights: do not remove light entities from the map (useful e.g. for realtime lighting)
949 _floodlight: flood light parameters (red green blue distance intensity), start with 240 240 255 1024 128
950 _farplanedist: range after which everything is completely invisible by fog (when fog is being used)
951 _noshadersun: turn off sun defined by shaders (useful if you defined your own light entity to be a sun)
952 _ignoreleaks: ignore leaks when compiling
953 _lightmapscale: light map resolution factor
954 _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.
955 _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.
956 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
957 */
958
959 /*QUAKED trigger_race_checkpoint (0 1 0) ? NOTOUCH STRICTTRIGGER CRUSH
960 A checkpoint, for the race game mode. Be sure to make them quite long, so they actually catch a player reliably!
961 -------- KEYS --------
962 cnt: Number of the checkpoint. 0 for finish line, and at least two other checkpoints have to exist. They MUST be touched in sequential order!
963 message: Death message, when touching checkpoints in the wrong order.
964 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)
965 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.
966 target: when the checkpoint is passed, these entities are triggered. Useful for forcing items in certain areas using trigger_items
967 -------- SPAWNFLAGS --------
968 NOTOUCH: the checkpoint will not become active when touched, it HAS to be targeted
969 STRICTTRIGGER: only trigger the targets when the checkpoint actually was reached in a valid way (that is, not when going back)
970 CRUSH: the checkpoint kills when used at the wrong time
971 */
972
973 /*QUAKED info_player_race (1 0.5 0) (-16 -16 -24) (16 16 45) 
974 Race spawn point.
975 NOTE for race_place: when the race starts after the qualifying, the player with the fastest map 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 race_place not set. So for each trigger_race_checkpoint, there must be at least one corresponding info_player_race with race_place NOT set.
976 -------- KEYS --------
977 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.
978 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.
979 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 come in later (have to be behind the ones with race_place set to an actual place), and -1 marks the spawnpoint for qualifying mode only
980 */
981
982 /*QUAKED func_pointparticles (.5 .5 .5) ? START_ON
983 A brush that emits particles.
984 -------- KEYS --------
985 mdl: particle effect name from effectinfo.txt
986 impulse: when positive, number of particles to emit per second; when negative; number of particles to emit per second and 64^3 block
987 velocity: particle direction and speed
988 waterlevel: extra velocity jitter amount
989 count: particle count multiplier (per spawned particle)
990 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
991 glow_color: particle palette color
992 noise: sound to play when the particle is emitted
993 targetname: name to target this (then its state is toggled)
994 -------- SPAWNFLAGS --------
995 START_ON: when targeted, the particle emitter will start switched on
996 -------- NOTES --------
997 Use trigger_monoflop if you want the particles to turn off for a while, then turn back on
998 */
999
1000 /*QUAKED trigger_flipflop (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON
1001 "Flip-flop" trigger gate... lets only every second trigger event through
1002 -------- KEYS --------
1003 target: trigger all entities with this targetname when triggered
1004 targetname: name that identifies this entity so it can be triggered
1005 -------- SPAWNFLAGS --------
1006 START_ON: assume it is already turned on (so the first event is NOT passed through)
1007 */
1008
1009 /*QUAKED trigger_monoflop (.5 .5 .5) (-8 -8 -8) (8 8 8) FIXED
1010 "Mono-flop" trigger gate... turns trigger events into pairs of events
1011 -------- KEYS --------
1012 target: trigger all entities with this targetname when triggered
1013 targetname: name that identifies this entity so it can be triggered
1014 wait: time to wait until the "off" event is fired
1015 -------- SPAWNFLAGS --------
1016 FIXED: do pulses of fixed length (so the "off" delay is NOT extended as usual and new events are just ignored)
1017 */
1018
1019 /*QUAKED trigger_multivibrator (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON
1020 "Multivibrator" trigger gate... repeatedly sends trigger events. When triggered, turns on or off.
1021 -------- KEYS --------
1022 target: trigger all entities with this targetname when it goes off
1023 targetname: name that identifies this entity so it can be triggered
1024 phase: phase of the multivibrator (it is added to the time)
1025 wait: "on" cycle time (default: 1)
1026 respawntime: "off" cycle time (default: same as wait)
1027 -------- SPAWNFLAGS --------
1028 START_ON: assume it is already turned on (when targeted)
1029 */
1030
1031 /*QUAKED misc_follow (.5 .5 .5) (-8 -8 -8) (8 8 8)
1032 Makes one entity follow another. Will not work with all entities.
1033 -------- KEYS --------
1034 target: points to the entity to move (e.g. something that won't move by itself)
1035 killtarget: points to the entity that is to be used as the source (e.g. a func_plat)
1036 */
1037
1038 /*QUAKED weapon_minstanex (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1039 the MinstaGib Nex. Always kills with one shot.
1040 -------- KEYS --------
1041 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)
1042 respawntime: time till it respawns (default: 15)
1043 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1044 -------- SPAWNFLAGS --------
1045 FLOATING: the item will float in air, instead of aligning to the floor by falling
1046 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1047 model="models/weapons/g_minstanex.md3"
1048 */
1049
1050 /*QUAKED weapon_porto (1 0 .5) (-30 -30 0) (30 30 32) FLOATING
1051 the Port-O-Launch. Only can be shot once.
1052 Portals cannot be made on noimpact surfaces, and the portal missile will bounce on slick surfaces.
1053 -------- KEYS --------
1054 respawntime: time till it respawns (default: 120)
1055 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.
1056 -------- SPAWNFLAGS --------
1057 FLOATING: the item will float in air, instead of aligning to the floor by falling
1058 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
1059 model="models/weapons/g_porto.md3"
1060 */
1061
1062 /*QUAKED target_items (0 0 1) ? AND OR ANDNOT
1063 Sets the items of any player who triggers this.
1064 For the number fields, not specifying a value means not changing it. To clear armor, you need to explicitly set "armor" to "-1".
1065 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).
1066 -------- KEYS --------
1067 targetname: used to trigger this
1068 netname: space separated list of items (either weapon short names (like in g_start_weapon_* cvars), or item short names "unlimited_ammo", "invincible" and "strength"
1069 message: message to print
1070 ammo_shells: amount of shells
1071 ammo_nails: amount of bullets
1072 ammo_rockets: amount of rockets
1073 ammo_cells: amount of cells
1074 health: amount of health
1075 armorvalue: amount of armor
1076 strength_finished: if "strength" is specified, the time in seconds for which the strength will hold
1077 invincible_finished: if "invincible" is specified, the time in seconds for which the invincibility will hold
1078 -------- SPAWNFLAGS --------
1079 AND: any items not listed will get removed, and none will get added
1080 OR: the player may keep items not listed
1081 ANDNOT: the items listed will get removed from the player
1082 */
1083
1084 /*QUAKED target_spawn (1 0 1) (-8 -8 -8) (8 8 8) - ONLOAD
1085 Spawns an entity when triggered.
1086 The entity field list is a single string of the form:
1087 'field' 'value' 'field' 'value' ... 'classname' 'item_bullets' ... 'field' 'value'
1088 The special "field" name $ calls a void(void) function, for example a spawn function.
1089 Field values can use various variable replacements:
1090 $E
1091 $E.field
1092 $E.field+offset
1093 $E.field+offset+randomoffset
1094 where "E" can be self, activator and pusher.
1095 Example is a Mario-style question mark block which could throw a new weapon_nex when activated like this:
1096 {
1097 "classname" "func_button"
1098 "angle" "-1"
1099 "wait" "5"
1100 "target" "makenex"
1101 "speed" "1000"
1102 "lip" "64"
1103 ...
1104 }
1105 {
1106 "classname" "target_spawn"
1107 "origin" "0 0 448"
1108 "targetname" "makenex"
1109 "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"
1110 }
1111 -------- KEYS --------
1112 targetname: used to trigger this
1113 message: entity field list
1114 target: when set, target_spawn edits entities, instead of creating new ones
1115 -------- SPAWNFLAGS --------
1116 ONLOAD: create a first entity on map load
1117 */