b70c6540a5dd63d0724f9e87182ee074a77655e4
[voretournament/voretournament.git] / misc / netradiant-NexuizPack / nexuiz.game / data / entities.def
1 /*QUAKED _skybox (0.77 0.88 1.0) (-4 -4 -4) (4 4 4) \r
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.\r
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.\r
4 -------- KEYS --------\r
5 angle: rotation angle of the sky surfaces.\r
6 angles: Individual control of PITCH, YAW, and ROLL (default 0 0 0).\r
7 _scale: scaling factor (default 64), good values are between 50 and 300, depending on the map.\r
8 */\r
9 \r
10 /*QUAKED dom_controlpoint (.3 .3 1) (-16 -16 -16) (16 16 16) \r
11 Domination  control point\r
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).\r
13 -------- KEYS --------\r
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".\r
15 wait: How often this point gives its controlling team frags.\r
16 frags: How many frags this point gives each wait cycle.\r
17 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
18 zbqry="zbqryf/qbzvangvba/qbz_hapynvzrq.zq3"\r
19 \r
20 */\r
21 \r
22 /*QUAKED dom_team (.3 .3 1) (-16 -16 -16) (16 16 16) \r
23 Domination team.\r
24 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).\r
25 -------- KEYS --------\r
26 netname: name of team (Red Team).  Set to "" or don't define for the required blank team.\r
27 cnt: color of the team.  See the "Helpful Extras" section for info.\r
28 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.\r
29 noise: Sound to be played on the control point when it's captured.  Only players nearby will hear it.\r
30 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")\r
31 */\r
32 \r
33 /*QUAKED func_assault_destructible (.5 0 .5) ? - - - - - - - - NOSPLASH\r
34 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.\r
35 -------- KEYS --------\r
36 health: The damage this trigger can take\r
37 target: The entity/entities to be triggered once this entity gets invisible\r
38 targetname: The name other entities can use to target this entity\r
39 mdl: particle effect name to show when destroyed\r
40 count: particle effect multiplier\r
41 mdl_dead: optional replacement model to show when destroyed\r
42 debris: names of debris models to show when destroyed, separated by spaces\r
43 noise: sound to play when destroyed\r
44 dmg: damage to deal to the environment when destroyed\r
45 dmg_edge: edge damage to deal to the environment when destroyed\r
46 dmg_radius: damage radius\r
47 dmg_force: damage force\r
48 message: death message when a player gets hit by the explosion\r
49 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)\r
50 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\r
51 debrissolid: solidity of the debris: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE\r
52 debrisvelocity: initial velocity vector of the debris (static part)\r
53 debrisvelocityjitter: initial velocity vector of the debris (random part)\r
54 debrisavelocityjitter: initial angular velocity vector of the debris (random part)\r
55 debristime: time till the debris fades (average)\r
56 debristimejitter: time till the debris fades (random part)\r
57 debrisfadetime: how long debris takes to fade\r
58 debrisdamageforcescale: how much debris is affected by damage force (e.g. explosions)\r
59 debrisskin: skin number of debris\r
60 -------- SPAWNFLAGS --------\r
61 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)\r
62 */\r
63 \r
64 /*QUAKED func_assault_wall (.5 0 .5) ?\r
65 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.\r
66 -------- KEYS --------\r
67 target: targetname of a target_objective\r
68 */\r
69 \r
70 /*QUAKED func_bobbing (0 .5 .8) ? X_AXIS Y_AXIS\r
71 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.\r
72 -------- KEYS --------\r
73 speed: amount of time in seconds for one complete oscillation cycle (default 4).\r
74 height: sets the amount of travel of the oscillation movement (default 32). \r
75 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).\r
76 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).\r
77 dmg: damage a player who gets crushed by it receives\r
78 dmgtime: interval to apply dmg to a player who is s in the way\r
79 message: death message when a player gets crushed\r
80 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)\r
81 -------- SPAWNFLAGS --------\r
82 X_AXIS: entity will bob along the X axis.\r
83 Y_AXIS: entity will bob along the Y axis.\r
84 */\r
85 \r
86 /*QUAKED func_button (0 .5 .8) ? - - - - - - - - NOSPLASH\r
87 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.\r
88 -------- KEYS --------\r
89 angle: determines the direction in which the button will move (up = -1, down = -2).\r
90 target: all entities with a matching targetname will be triggered.\r
91 target2: all entities with a matching targetname will be triggered.\r
92 target3: all entities with a matching targetname will be triggered.\r
93 target4: all entities with a matching targetname will be triggered.\r
94 speed: speed of button's displacement (default 40).\r
95 wait: number of seconds button stays pressed (default 1, -1 = return immediately).\r
96 lip: lip remaining at end of move (default 4 units).\r
97 health: (default 0) if set to any non-zero value, the button must take damage (any amount) to activate.\r
98 -------- SPAWNFLAGS --------\r
99 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)\r
100 */\r
101 \r
102 /*QUAKED func_door (0 .5 .8) ? START_OPEN - DOOR_DONT_LINK - - TOGGLE - - NOSPLASH\r
103 Normal sliding door entity. By default, the door will activate when player walks close to it or when damage is inflicted to it.\r
104 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).\r
105 -------- KEYS --------\r
106 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\r
107 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)\r
108 angle: determines the opening direction\r
109 targetname: if set, no touch field will be spawned and a remote button or trigger field activates the door.\r
110 health: if set, door must be shot open\r
111 speed: movement speed (100 default)\r
112 wait: wait before returning (3 default, -1 = never return)\r
113 lip: lip remaining at end of move (8 default)\r
114 dmg: damage to inflict when blocked (when triggered and someone is in the way)\r
115 sounds: when 1, use default door sounds\r
116 noise1: sound when the door opens\r
117 noise2: sound when the door closes\r
118 -------- SPAWNFLAGS --------\r
119 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).\r
120 DOOR_DONT_LINK: the door won't link with another door it touches\r
121 TOGGLE: causes the door to wait in both the start and end states for a trigger event.\r
122 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)\r
123 */\r
124 \r
125 /*QUAKED func_door_rotating (0 .5 .8) ? START_OPEN BIDIR DOOR_DONT_LINK BIDIR_IN_DOWN - TOGGLE X_AXIS Y_AXIS NOSPLASH\r
126 Normal rotating door entity that opens by rotating around an axis (default: Z). Use an origin brush to specify the rotation axis.\r
127 By default, the door will activate when player walks close to it or when damage is inflicted to it.\r
128 If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches.\r
129 BIDIR makes the door work bidirectional, so that the opening direction is always away from the requestor.\r
130 The usage of bidirectional doors requires two manually instantiated triggers (trigger_multiple), the one to open it in the other direction\r
131 must have set trigger_reverse to 1.\r
132 BIDIR_IN_DOWN will the door prevent from reopening while closing if it is triggered from the other side.\r
133 -------- KEYS --------\r
134 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\r
135 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)\r
136 angle: determines the destination angle for opening. negative values reverse the direction (90 default)\r
137 targetname: if set, no touch field will be spawned and a remote button or trigger field activates the door.\r
138 health: if set, door must be shot open\r
139 speed: speed to rotate (in degrees per second)\r
140 wait: wait before returning (3 default, -1 = never return)\r
141 dmg: damage to inflict when blocked (when triggered and someone is in the way)\r
142 sounds: when 1, use default door sounds\r
143 noise1: sound when the door opens\r
144 noise2: sound when the door closes\r
145 -------- SPAWNFLAGS --------\r
146 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).\r
147 DOOR_DONT_LINK: the door won't link with another door it touches\r
148 TOGGLE: causes the door to wait in both the start and end states for a trigger event.\r
149 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)\r
150 */\r
151 \r
152 /*QUAKED func_door_secret (0 .5 .8) ? OPEN_ONCE 1ST_LEFT 1ST_DOWN NO_SHOOT ALWAYS_SHOOT\r
153 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.\r
154 -------- KEYS --------\r
155 wait: # of seconds before coming back\r
156 key1: first entity key with one-line description\r
157 key2: second entity key with one-line description\r
158 t_width: override WIDTH to move back (or height if going down)\r
159 t_length: override LENGTH to move sideways\r
160 dmg: damage to inflict when blocked (2 default)\r
161 message: text to display when activating the door, or death message if dmg is set\r
162 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)\r
163 noise1: sound when opening backwards or closing\r
164 noise2: sound when opening sideways\r
165 noise3: sound when stopping\r
166 -------- SPAWNFLAGS --------\r
167 OPEN_ONCE: only work once, then stay open\r
168 1ST_LEFT: 1st move is left of arrow\r
169 1ST_DOWN: 1st move is down from arrow\r
170 NO_SHOOT: never respond to shots\r
171 ALWAYS_SHOOT: even if targetname is set, respond to shots\r
172 */\r
173 \r
174 /*QUAKED func_group (0 .5 .8) ? \r
175 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.\r
176 -------- Q3MAP2 KEYS --------\r
177 _lightmapscale: light map resolution factor\r
178 _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.\r
179 _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.\r
180 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.\r
181 -------- KEYS --------\r
182 _indexmap: Path/name for the TGA file used to guide the mapping of textures on the terrain surface.\r
183 _layers: number of unique root shaders that will be use on the terrain.\r
184 _shader: Path to the metashader used to assign textures to the terrain entity. Note: Omit the "textures/" prefix.\r
185 _offsets: space separated list of height offsets for the index map\r
186 */\r
187 \r
188 /*QUAKED func_ladder (0 .5 .8) ? \r
189 a ladder, need i say no more\r
190 grab a trigger brush and put it in front of the part that you want the player to climb\r
191 */\r
192 \r
193 /*QUAKED func_plat (0 .5 .8) ? - - CRUSH\r
194 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.\r
195 -------- KEYS --------\r
196 speed: determines how fast the plat moves (default 150).\r
197 lip: lip remaining at end of move (default 16). Has no effect if "height" is set.\r
198 height: if set, this will determine the total amount of vertical travel of the plat.\r
199 dmg: damage to inflict on player when he blocks operation of plat. Plat will reverse direction when blocked.\r
200 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.\r
201 sounds: 2 for alternate sound set, -1 for silence, or use the fields below\r
202 sound1: platform starts moving sound\r
203 sound2: platform stop sound\r
204 message: kill message, when someone gets killed by this plat\r
205 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)\r
206 -------- SPAWNFLAGS --------\r
207 CRUSH: crush players hit by the platform instantly\r
208 -------- NOTES --------\r
209 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.\r
210 */\r
211 \r
212 /*QUAKED func_rain (0 .5 .8) ? \r
213 This is an invisible area like a trigger, which rain falls inside of.\r
214 -------- KEYS --------\r
215 velocity: falling direction (should be something like '0 0 -700', use the X and Y velocity for wind)\r
216 cnt: sets color of rain in the Quake palette (default 12 - white)\r
217 count: adjusts density, this many particles fall every second for a 1024x1024 area, default is 2000\r
218 */\r
219 \r
220 /*QUAKED func_rotating (0 .5 .8) ? - - X_AXIS Y_AXIS\r
221 Brush entity that spins in place on one axis (default Z). Use an origin brush to specify the rotation axis.\r
222 To rotate around another axis, make a func_wall with an explicit avelocity given.\r
223 -------- KEYS --------\r
224 speed: speed to rotate (in degrees per second)\r
225 noise: path/name of looping .wav file to play.\r
226 dmg: Do this much dmg every .dmgtime interval when blocked\r
227 dmgtime: See above. (0.25s default)\r
228 message: kill message when crushed by this\r
229 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)\r
230 -------- SPAWNFLAGS --------\r
231 X_AXIS: rotate around the X axis\r
232 Y_AXIS: rotate around the Y axis\r
233 */\r
234 \r
235 /*QUAKED func_snow (0 .5 .8) ? \r
236 This is an invisible area like a trigger, which snow falls inside of.\r
237 -------- KEYS --------\r
238 velocity: falling direction (should be something like '0 0 -300', use the X and Y velocity for wind)\r
239 cnt: sets color of snow in the Quake palette (default 12 - white)\r
240 count: adjusts density, this many particles fall every second for a 1024x1024 area, default is 2000\r
241 */\r
242 \r
243 /*QUAKED func_stardust (.5 .5 .5) (-8 -8 -8) (8 8 8) \r
244 Point entity with EF_STARDUST applied. This will spawn a particle cloud with mostly golden particles. Used as eye-candy.\r
245 */\r
246 \r
247 /*QUAKED func_train (0 .5 .8) ? \r
248 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).\r
249 At each node, the train's mins corner hits exactly the path_corner.\r
250 Trains always start on in the game.\r
251 Trains do not damage the played when blocked.\r
252 Trains cannot emit sound.\r
253 Trains are not trigger-able or toggle-able.\r
254 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.\r
255 -------- KEYS --------\r
256 speed: default/initial speed of train (default 100 or overridden by speed value of targeted path_corner)\r
257 target: targetname of first path_corner to move to at the default speed; ideally, this path_corner shall be exactly where the train starts\r
258 noise: path/name of .wav or .ogg file to play while moving. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).\r
259 dmg: damage a player who gets crushed by it receives\r
260 dmgtime: interval to apply dmg to a player who is s in the way\r
261 message: death message when a player gets crushed\r
262 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)\r
263 */\r
264 \r
265 /*QUAKED info_location (1 1 0) (-8 -8 -8) (8 8 8) \r
266 Location for use by the %l escape in "say" messages.\r
267 The closest "visible" info_location entity is chosen to find the right location name for a point.\r
268 -------- KEYS --------\r
269 netname: name of location, possibly with color codes\r
270 */\r
271 \r
272 /*QUAKED info_notnull (0 .5 0) (-8 -8 -8) (8 8 8) \r
273 Entity that does nothing, but may be targeted (e.g. to use its position)\r
274 -------- KEYS --------\r
275 targetname: must match the target key of entity that uses this for pointing.\r
276 */\r
277 \r
278 /*QUAKED info_null (0 .5 0) (-8 -8 -8) (8 8 8) \r
279 Aiming target for q3map2-internal entities like _decal or light. Removes itself when loaded, so it can NOT be used for in-game stuff!\r
280 -------- KEYS --------\r
281 targetname: the entity that requires an aiming direction points to this.\r
282 */\r
283 \r
284 /*QUAKED info_player_attacker (1 0.5 0) (-16 -16 -24) (16 16 45) \r
285 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.\r
286 -------- KEYS --------\r
287 target: this should point to a target_objective to decide when this spawning point is active.\r
288 target2: trigger all entities with this targetname when someone spawns\r
289 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.\r
290 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)\r
291 */\r
292 \r
293 /*QUAKED info_player_deathmatch (0 1 0) (-16 -16 -24) (16 16 45) \r
294 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.\r
295 -------- KEYS --------\r
296 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.\r
297 target: trigger all entities with this targetname when someone spawns\r
298 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.\r
299 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)\r
300 */\r
301 \r
302 /*QUAKED info_player_defender (.5 .5 .5) (-16 -16 -24) (16 16 45) \r
303 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.\r
304 -------- KEYS --------\r
305 target: this should point to a target_objective to decide when this spawning point is active.\r
306 target2: trigger all entities with this targetname when someone spawns\r
307 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.\r
308 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)\r
309 */\r
310 \r
311 /*QUAKED info_player_team1 (1 0 0) (-16 -16 -24) (16 16 45) \r
312 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.\r
313 -------- KEYS --------\r
314 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.\r
315 target: trigger all entities with this targetname when someone spawns\r
316 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.\r
317 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)\r
318 */\r
319 \r
320 /*QUAKED info_player_team2 (0 0 1) (-16 -16 -24) (16 16 45) \r
321 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.\r
322 -------- KEYS --------\r
323 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.\r
324 target: trigger all entities with this targetname when someone spawns\r
325 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.\r
326 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)\r
327 */\r
328 \r
329 /*QUAKED info_player_team3 (1 1 0) (-16 -16 -24) (16 16 45) \r
330 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.\r
331 -------- KEYS --------\r
332 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.\r
333 target: trigger all entities with this targetname when someone spawns\r
334 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.\r
335 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)\r
336 */\r
337 \r
338 /*QUAKED info_player_team4 (1 0 1) (-16 -16 -24) (16 16 45) \r
339 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.\r
340 -------- KEYS --------\r
341 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.\r
342 target: trigger all entities with this targetname when someone spawns\r
343 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.\r
344 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)\r
345 */\r
346 \r
347 /*QUAKED item_armor_large (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING\r
348 Large Armor (default 100 armor points)\r
349 -------- KEYS --------\r
350 respawntime: time till it respawns (default: 30)\r
351 armorvalue: amount of armor it gives (default: 100 (g_pickup_armorlarge))\r
352 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armorlarge_max))\r
353 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
354 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
355 -------- SPAWNFLAGS --------\r
356 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
357 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
358 model="models/items/g_a25.md3"\r
359 */\r
360 \r
361 /*QUAKED item_armor_big (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING\r
362 Big Armor (default 50 armor points)\r
363 -------- KEYS --------\r
364 respawntime: time till it respawns (default: 20)\r
365 armorvalue: amount of armor it gives (default: 50 (g_pickup_armorlarge))\r
366 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armorlarge_max))\r
367 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
368 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
369 -------- SPAWNFLAGS --------\r
370 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
371 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
372 model="models/items/g_a50.md3"\r
373 */\r
374 \r
375 /*QUAKED item_armor_medium (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING\r
376 Medium Armor (default 25 armor points)\r
377 -------- KEYS --------\r
378 respawntime: time till it respawns (default: 20)\r
379 armorvalue: amount of armor it gives (default: 25 (g_pickup_armormedium))\r
380 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armormedium_max))\r
381 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
382 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
383 -------- SPAWNFLAGS --------\r
384 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
385 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
386 model="models/items/g_armormedium.md3"\r
387 */\r
388 \r
389 /*QUAKED item_armor_small (.4 .8 .4) (-30 -30 0) (30 30 32) FLOATING\r
390 Small Armor (default 5 armor points)\r
391 -------- KEYS --------\r
392 respawntime: time till it respawns (default: 15)\r
393 armorvalue: amount of armor it gives (default: 5 (g_pickup_armorsmall))\r
394 max_armorvalue: max of armor it increases to (default: 999 (g_pickup_armorsmall_max))\r
395 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
396 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
397 -------- SPAWNFLAGS --------\r
398 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
399 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
400 model="models/items/g_a1.md3"\r
401 */\r
402 \r
403 /*QUAKED item_bullets (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING\r
404 Machine Gun ammo\r
405 -------- KEYS --------\r
406 ammo_nails: bullets gained by this item (if unset, g_pickup_nails is used)\r
407 respawntime: time till it respawns (default: 15)\r
408 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
409 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
410 -------- SPAWNFLAGS --------\r
411 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
412 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
413 model="models/items/a_bullets.md3"\r
414 */\r
415 \r
416 /*QUAKED item_cells (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING\r
417 Nex, Electro and Crylink ammo\r
418 -------- KEYS --------\r
419 ammo_cells: cells gained by this item (if unset, g_pickup_cells is used)\r
420 respawntime: time till it respawns (default: 15)\r
421 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
422 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
423 -------- SPAWNFLAGS --------\r
424 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
425 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
426 model="models/items/a_cells.md3"\r
427 */\r
428 \r
429 /*QUAKED item_flag_team1 (1 0 0) (-32 -32 0) (32 32 74) \r
430 CTF flag for team one (Red). Use more than one if you really insist.\r
431 -------- KEYS --------\r
432 model: model to use\r
433 scale: scaling factor (DO set this when using your own model!)\r
434 noise: sound played when flag is picked up\r
435 noise1: sound played when flag is returned\r
436 noise2: sound played when flag is captured\r
437 noise3: sound played when flag is lost in the field and respawns itself\r
438 -------- ZBQRY SBE ENQVNAG BAYL - QB ABG FRG GUVF NF N XRL --------\r
439 zbqry="zbqryf/pgs/enqvnag/synt_erq_enqvnag.zq3"\r
440 */\r
441 \r
442 /*QUAKED item_flag_team2 (0 0 1) (-32 -32 0) (32 32 74) \r
443 CTF flag for team two (Blue). Use more than one if you really insist.\r
444 -------- KEYS --------\r
445 model: model to use\r
446 scale: scaling factor (DO set this when using your own model!)\r
447 noise: sound played when flag is picked up\r
448 noise1: sound played when flag is returned\r
449 noise2: sound played when flag is captured\r
450 noise3: sound played when flag is lost in the field and respawns itself\r
451 -------- ZBQRY SBE ENQVNAG BAYL - QB ABG FRG GUVF NF N XRL --------\r
452 zbqry="zbqryf/pgs/enqvnag/synt_oyhr_enqvnag.zq3"\r
453 */\r
454 \r
455 /*QUAKED item_health_large (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING\r
456 Large Health (default 50 health points)\r
457 -------- KEYS --------\r
458 respawntime: time till it respawns (default: 20)\r
459 health: amount of health it gives (default: 50 (g_pickup_healthlarge))\r
460 max_health: max of health it increases to (default: 999 (g_pickup_healthlarge_max))\r
461 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
462 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
463 -------- SPAWNFLAGS --------\r
464 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
465 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
466 model="models/items/g_h50.md3"\r
467 */\r
468 \r
469 /*QUAKED item_health_medium (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING\r
470 Medium Health (default 25 health points)\r
471 -------- KEYS --------\r
472 respawntime: time till it respawns (default: 15)\r
473 health: amount of health it gives (default: 25 (g_pickup_healthmedium))\r
474 max_health: max of health it increases to (default: 999 (g_pickup_healthmedium_max))\r
475 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
476 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
477 -------- SPAWNFLAGS --------\r
478 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
479 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
480 model="models/items/g_h25.md3"\r
481 */\r
482 \r
483 /*QUAKED item_health_mega (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING\r
484 Mega Health (default 100 health points)\r
485 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.\r
486 -------- KEYS --------\r
487 respawntime: time till it respawns (default: 30)\r
488 health: amount of health it gives (default: 100 (g_pickup_healthmega))\r
489 max_health: max of health it increases to (default: 999 (g_pickup_healthmega_max))\r
490 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
491 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
492 -------- SPAWNFLAGS --------\r
493 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
494 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
495 model="models/items/g_h100.md3"\r
496 */\r
497 \r
498 /*QUAKED item_health_small (.9 .3 .3) (-30 -30 0) (30 30 48) FLOATING\r
499 Small Health (default 5 health points)\r
500 -------- KEYS --------\r
501 respawntime: time till it respawns (default: 15)\r
502 health: amount of health it gives (default: 5 (g_pickup_healthsmall))\r
503 max_health: max of health it increases to (default: 5 (g_pickup_healthsmall_max))\r
504 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
505 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
506 -------- SPAWNFLAGS --------\r
507 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
508 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
509 model="models/items/g_h1.md3"\r
510 */\r
511 \r
512 /*QUAKED item_invincible (.3 .3 1) (-30 -30 0) (30 30 48) FLOATING\r
513 Strong Shield\r
514 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.\r
515 -------- KEYS --------\r
516 respawntime: time till it respawns (default: 120)\r
517 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
518 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
519 -------- SPAWNFLAGS --------\r
520 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
521 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
522 model="models/items/g_invincible.md3"\r
523 */\r
524 \r
525 /*QUAKED item_minst_cells (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING\r
526 Minstagib ammo.\r
527 Always contains 5 (g_minstagib_ammo_drop) shots.\r
528 It only appears when playing Minstagib and prevents auto-replacement of weapon_nex & weapon_rocketlauncher when used.\r
529 -------- KEYS --------\r
530 respawntime: time till it respawns (default: 45)\r
531 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
532 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
533 -------- SPAWNFLAGS --------\r
534 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
535 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
536 model="models/items/a_cells.md3"\r
537 */\r
538 \r
539 /*QUAKED item_rockets (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING\r
540 Rocket Launcher, Hagar and Mortar ammo\r
541 -------- KEYS --------\r
542 ammo_rockets: rockets gained by this item (if unset, g_pickup_rockets is used)\r
543 respawntime: time till it respawns (default: 15)\r
544 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
545 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
546 -------- SPAWNFLAGS --------\r
547 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
548 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
549 model="models/items/a_rockets.md3"\r
550 */\r
551 \r
552 /*QUAKED item_shells (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING\r
553 Shotgun ammo\r
554 -------- KEYS --------\r
555 ammo_shells: shells gained by this item (if unset, g_pickup_shells is used)\r
556 respawntime: time till it respawns (default: 15)\r
557 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
558 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
559 -------- SPAWNFLAGS --------\r
560 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
561 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
562 model="models/items/a_shells.md3"\r
563 */\r
564 \r
565 /*QUAKED item_strength (.3 .3 1) (-30 -30 0) (30 30 48) FLOATING\r
566 Strength aka Quad damage\r
567 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.\r
568 -------- KEYS --------\r
569 respawntime: time till it respawns (default: 120)\r
570 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
571 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
572 -------- SPAWNFLAGS --------\r
573 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
574 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
575 model="models/items/g_strength.md3"\r
576 */\r
577 \r
578 /*QUAKED light (.65 .65 1) (-8 -8 -8) (8 8 8) LINEAR NOANGLE - - NOGRIDLIGHT\r
579 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.\r
580 Maximum intensity (in a radius 16 sphere around the light): regular lights have light/256, linear lights have light/8000-16*fade.\r
581 Falloff radius to a negligible light amount: regular lights have light have 16*sqrt(light), linear lights have light/(fade*8000).\r
582 By this you see that you HAVE to specify fade for a linear light... use values below 0.01 there.\r
583 -------- KEYS --------\r
584 light: intensity factor (default: 300). A linear\r
585 _color: weighted RGB value of light color (default white - 1.0 1.0 1.0).\r
586 target: Lights pointed at a target will be spotlights.\r
587 radius: radius of a spotlight at the target point (default: 64)\r
588 _anglescale: scales angle attenuation\r
589 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.\r
590 _filterradius: filter radius for this light, similar to -light -filter\r
591 _sun: if 1, this light is an infinite sun light\r
592 _samples: number of samples to use to get soft shadows from a light\r
593 _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\r
594 -------- SPAWNFLAGS --------\r
595 LINEAR: Use a linear falloff. Default is inverse distance squared (more realistic).\r
596 NOANGLE: Ignore angle attenuation.\r
597 NOGRIDLIGHT: Do not affect the light grid (dynamic entity lighting).\r
598 */\r
599 \r
600 /*QUAKED lightJunior (.65 .65 1) (-8 -8 -8) (8 8 8) LINEAR NOANGLE\r
601 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.\r
602 Maximum intensity (in a radius 16 sphere around the light): regular lights have light/256, linear lights have light/8000-16*fade.\r
603 Falloff radius to a negligible light amount: regular lights have light have 16*sqrt(light), linear lights have light/(fade*8000).\r
604 By this you see that you HAVE to specify fade for a linear light... use values below 0.01 there.\r
605 -------- KEYS --------\r
606 light: intensity factor (default: 300). A linear\r
607 _color: weighted RGB value of light color (default white - 1.0 1.0 1.0).\r
608 target: Lights pointed at a target will be spotlights.\r
609 radius: radius of a spotlight at the target point (default: 64)\r
610 _anglescale: scales angle attenuation\r
611 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.\r
612 _filterradius: filter radius for this light, similar to -light -filter\r
613 _sun: if 1, this light is an infinite sun light\r
614 _samples: number of samples to use to get soft shadows from a light\r
615 _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\r
616 -------- SPAWNFLAGS --------\r
617 LINEAR: Use a linear falloff. Default is inverse distance squared (more realistic).\r
618 NOANGLE: Ignore angle attenuation.\r
619 */\r
620 \r
621 /*QUAKED misc_laser (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON FINITE\r
622 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.\r
623 -------- KEYS --------\r
624 target: target_position the laser targets (may be another entity, preferably target_position, possibly controlled by misc_follow)\r
625 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)\r
626 colormod: color of the laser beam (default: red, that is, 1 0 0)\r
627 dmg: damage inflicted by the beam per second, or -1 for an instant-death ray\r
628 targetname: name to target this (then its state is toggled)\r
629 alpha: when set, makes a dark laser of the given strength; may be combined with colormod\r
630 scale: scales the beam thickness (default 1)\r
631 modelscale: scales the dynamic light radius at the endpoint (default 1, -1 to turn off)\r
632 -------- SPAWNFLAGS --------\r
633 START_ON: when targeted, the laser will start switched on\r
634 FINITE: the laser does not extend over its target like light would do, but stops there (takes more bandwidth)\r
635 -------- NOTES --------\r
636 Use trigger_monoflop if you want the laser to turn off for a while, then turn back on.\r
637 When the laser's target has itself target set, its targets are triggered when someone enters or leaves the laser.\r
638 */\r
639 \r
640 /*QUAKED misc_model (1 .5 .25) (-16 -16 -16) (16 16 16) - SOLID - EXTRUDE_NORMALS EXTRUDE_TERRAIN COLOR_TO_ALPHA\r
641 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.\r
642 -------- Q3MAP2 KEYS --------\r
643 model: file name of model to include\r
644 _frame: frame of model to include\r
645 _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.\r
646 angle: view direction of the model\r
647 angles: view direction of the model in PITCH YAW ROLL\r
648 modelscale: scaling factor\r
649 modelscale_vec: scaling vector for non-uniform scaling\r
650 _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.\r
651 _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.\r
652 _lightmapscale: light map resolution factor\r
653 _celshader: the cel shader for this\r
654 -------- SPAWNFLAGS --------\r
655 SOLID: make the model solid\r
656 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)\r
657 EXTRUDE_TERRAIN: always extrude downwards (for terrain)\r
658 COLOR_TO_ALPHA: use the color value as alpha (for terrain blending)\r
659 */\r
660 \r
661 /*QUAKED misc_gamemodel (0 .5 .8) (-8 -8 -8) (8 8 8) ALIGN_ORIGIN ALIGN_BOTTOM\r
662 A way to load models from a map by the engine (e.g. self-animated zym models).\r
663 Is non-solid by default.\r
664 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!\r
665 -------- KEYS --------\r
666 model: when used as a point entity, file name of model to load; when used as a brush entity, do not specify that\r
667 frame: animation frame to play (for self-animated zym models)\r
668 skin: number of skin to load (when model is used)\r
669 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\r
670 solid: solidity: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE\r
671 avelocity: vector giving its angular velocity (useful for spinning models)\r
672 scale: scale factor of the model (range: 0.0625 to 15.9375)\r
673 colormap: 1024 + 16 * pantscolor + shirtcolor\r
674 velocity: when movetype isn't 0, initial velocity vector\r
675 angles: initial looking direction\r
676 modelscale: scaling factor\r
677 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\r
678 loddistance1: distance after which to show the first LOD model replacement (default: 1000)\r
679 loddistance2: distance after which to show the second LOD model replacement (default: 2000)\r
680 lodmodel1: file name of the first LOD model replacement\r
681 lodmodel2: file name of the second LOD model replacement\r
682 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.\r
683 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.\r
684 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.\r
685 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.\r
686 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.\r
687 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.\r
688 -------- SPAWNFLAGS --------\r
689 ALIGN_ORIGN: align the origin to the surface below the model\r
690 ALIGN_BOTTOM: align the bottom of the model to the surface below it\r
691 */\r
692 \r
693 /*QUAKED func_illusionary (0 .5 .8) ? \r
694 NOTE: THIS ENTITY IS BROKEN REGARDING CLIENT AND PROJECTILE PREDICTION. DO NOT USE IT. USE NONSOLID SHADERS OR FUNC_CLIENTILLUSIONARY INSTEAD.\r
695 A non-solid brush entity. Use func_wall if you want it solid.\r
696 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!\r
697 -------- KEYS --------\r
698 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\r
699 avelocity: vector giving its angular velocity (useful for spinning models)\r
700 scale: scale factor of the model (range: 0.0625 to 15.9375)\r
701 colormap: 1024 + 16 * pantscolor + shirtcolor\r
702 velocity: when movetype isn't 0, initial velocity vector\r
703 angles: initial looking direction\r
704 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\r
705 loddistance1: distance after which to show the first LOD model replacement (default: 1000)\r
706 loddistance2: distance after which to show the second LOD model replacement (default: 2000)\r
707 lodtarget1: targetname of the first LOD model entity (can be used instead of lodmodel1 to use a brush model instead)\r
708 lodtarget2: targetname of the second LOD model entity (can be used instead of lodmodel2 to use a brush model instead)\r
709 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.\r
710 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.\r
711 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.\r
712 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.\r
713 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.\r
714 -------- Q3MAP2 KEYS --------\r
715 _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.\r
716 _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.\r
717 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.\r
718 _clonename: template name so one can clone from it\r
719 min: override automatically found minimum coordinate bounds\r
720 max: override automatically found maximum coordinate bounds\r
721 targetname: if targeted by a misc_model, its brushes get inserted into this\r
722 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.\r
723 */\r
724 \r
725 /*QUAKED func_wall (0 .5 .8) ? \r
726 A solid brush entity. Use func_clientillusionary if you want it non-solid.\r
727 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!\r
728 -------- KEYS --------\r
729 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\r
730 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)\r
731 avelocity: vector giving its angular velocity (useful for spinning models)\r
732 scale: scale factor of the model (range: 0.0625 to 15.9375)\r
733 colormap: 1024 + 16 * pantscolor + shirtcolor\r
734 velocity: when movetype isn't 0, initial velocity vector\r
735 angles: initial looking direction\r
736 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\r
737 loddistance1: distance after which to show the first LOD model replacement (default: 1000)\r
738 loddistance2: distance after which to show the second LOD model replacement (default: 2000)\r
739 lodtarget1: targetname of the first LOD model entity (can be used instead of lodmodel1 to use a brush model instead)\r
740 lodtarget2: targetname of the second LOD model entity (can be used instead of lodmodel2 to use a brush model instead)\r
741 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.\r
742 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.\r
743 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.\r
744 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.\r
745 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.\r
746 -------- Q3MAP2 KEYS --------\r
747 _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.\r
748 _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.\r
749 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.\r
750 _clonename: template name so one can clone from it\r
751 min: override automatically found minimum coordinate bounds\r
752 max: override automatically found maximum coordinate bounds\r
753 targetname: if targeted by a misc_model, its brushes get inserted into this\r
754 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.\r
755 */\r
756 \r
757 /*QUAKED misc_clientmodel (0 .5 .8) (-8 -8 -8) (8 8 8) ALIGN_ORIGIN ALIGN_BOTTOM\r
758 A way to load models from a map by the engine (e.g. self-animated zym models) on client side.\r
759 Is non-solid by default.\r
760 -------- KEYS --------\r
761 scale: scale factor of the model (range: 0.0625 to 15.9375)\r
762 colormap: 1024 + 16 * pantscolor + shirtcolor\r
763 angles: initial looking direction\r
764 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.\r
765 bgmscript: emitter class from the BGM script (if prefixed with <, movedir is treated as an angle value)\r
766 bgmscriptattack: attack time of the effect strength (0 to 3.9)\r
767 bgmscriptdecay: decay time of the effect strength (0 to 3.9)\r
768 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)\r
769 bgmscriptrelease: release time of the effect strength (0 to 3.9)\r
770 movedir: vector by which the entity moves when "pressed" by the bgmscript\r
771 lip: alpha change when "pressed" by the bgmscript (if > 0, it fades in when pressed, if < 0, it fades out when pressed)\r
772 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.\r
773 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.\r
774 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.\r
775 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.\r
776 -------- SPAWNFLAGS --------\r
777 ALIGN_ORIGN: align the origin to the surface below the model\r
778 ALIGN_BOTTOM: align the bottom of the model to the surface below it\r
779 */\r
780 \r
781 /*QUAKED func_clientillusionary (0 .5 .8) ? \r
782 A client-side non-solid brush entity. Use func_wall if you want it solid.\r
783 -------- KEYS --------\r
784 scale: scale factor of the model (range: 0.0625 to 15.9375)\r
785 colormap: 1024 + 16 * pantscolor + shirtcolor\r
786 angles: initial looking direction\r
787 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.\r
788 bgmscript: emitter class from the BGM script\r
789 bgmscriptattack: attack time of the effect strength (0 to 3.9)\r
790 bgmscriptdecay: decay time of the effect strength (0 to 3.9)\r
791 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)\r
792 bgmscriptrelease: release time of the effect strength (0 to 3.9)\r
793 movedir: vector by which the entity moves when "pressed" by the bgmscript\r
794 lip: alpha change when "pressed" by the bgmscript (if > 0, it fades in when pressed, if < 0, it fades out when pressed)\r
795 originjitter: a vector describing a random offset this entity will be moved on initial spawn. This corresponds to the "origin" field. Works on any non-q3map2-only entity.\r
796 anglesjitter: a vector in the order "pitch yaw roll" describing a random angles change on this entity on initial spawn. The value 180 180 180 makes the angles entirely random and uniformly distributed (among euler angles). This corresponds to the "angles" field. Works on any non-q3map2-only entity.\r
797 anglejitter: a float describing a random yaw angle change on this entity on initial spawn. The value 180 makes the yaw angle entirely random (maybe good for items). This corresponds to the "angle" field. Works on any non-q3map2-only entity.\r
798 gametypefilter: either a + sign and a comma separated list of game types or the aliases "teams" and "noteams" to ONLY show the entity in the listed game types, or a - sign and a comma separated list of game types or the aliases "teams" and "noteams" to NOT show the entity in the listed game types. The syntax is the same as in sbar_columns_set strings. Works on any non-q3map2-only entity.\r
799 -------- Q3MAP2 KEYS --------\r
800 _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.\r
801 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.\r
802 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.\r
803 _clonename: template name so one can clone from it\r
804 min: override automatically found minimum coordinate bounds\r
805 max: override automatically found maximum coordinate bounds\r
806 targetname: if targeted by a misc_model, its brushes get inserted into this\r
807 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.\r
808 */\r
809 \r
810 /*QUAKED func_clientwall (0 .5 .8) ? \r
811 NOTE: THIS ENTITY IS IN MOST USE CASES BROKEN REGARDING CLIENT AND PROJECTILE PREDICTION. DO NOT USE IT. USE FUNC_WALL INSTEAD.\r
812 A client-side solid brush entity. Use func_clientillusionary if you want it non-solid.\r
813 -------- KEYS --------\r
814 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)\r
815 scale: scale factor of the model (range: 0.0625 to 15.9375)\r
816 colormap: 1024 + 16 * pantscolor + shirtcolor\r
817 angles: initial looking direction\r
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.\r
819 bgmscript: emitter class from the BGM script\r
820 bgmscriptattack: attack time of the effect strength (0 to 3.9)\r
821 bgmscriptdecay: decay time of the effect strength (0 to 3.9)\r
822 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)\r
823 bgmscriptrelease: release time of the effect strength (0 to 3.9)\r
824 movedir: vector by which the entity moves when "pressed" by the bgmscript\r
825 lip: alpha change when "pressed" by the bgmscript (if > 0, it fades in when pressed, if < 0, it fades out when pressed)\r
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.\r
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.\r
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.\r
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.\r
830 -------- Q3MAP2 KEYS --------\r
831 _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.\r
832 _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.\r
833 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.\r
834 _clonename: template name so one can clone from it\r
835 min: override automatically found minimum coordinate bounds\r
836 max: override automatically found maximum coordinate bounds\r
837 targetname: if targeted by a misc_model, its brushes get inserted into this\r
838 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.\r
839 */\r
840 \r
841 /*QUAKED misc_teleporter_dest (1 .5 .25) (-16 -16 -24) (16 16 45) \r
842 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.\r
843 -------- KEYS --------\r
844 targetname: make the trigger_teleporter point to this.\r
845 target: target to activate when a teleporter targeting this is used\r
846 angle: direction in which player will look when teleported, OR use\r
847 angles: pitch and yaw when coming out of the teleporter (also specifies the direction the player will aim when coming out)\r
848 cnt: weight for random selection, in case a teleporter points at multiple misc_teleporter_dest\r
849 speed: maximum speed cap for the teleported player (if -1, teleported players will have no speed)\r
850 */\r
851 \r
852 /*QUAKED onslaught_controlpoint (0 .5 .8) (-32 -32 0) (32 32 128) \r
853 Control point.  Be sure to give this enough clearance so that the shootable part has room to exist\r
854 This should link to an onslaught_controlpoint entity or onslaught_generator entity.\r
855 -------- KEYS --------\r
856 targetname: name that onslaught_link entities will use to target this.\r
857 target: target any entities that are tied to this control point, such as vehicles and buildable structure entities.\r
858 message: name of this control point (should reflect the location in the map, such as "center bridge", "north tower", etc)\r
859 */\r
860 \r
861 /*QUAKED onslaught_generator (0 .5 .8) (-32 -32 -24) (32 32 64) \r
862 Base generator.\r
863 \r
864 onslaught_link entities can target this.\r
865 -------- KEYS --------\r
866 team: team that owns this generator (5 = red, 14 = blue, etc), MUST BE SET.\r
867 targetname: name that onslaught_link entities will use to target this.\r
868 */\r
869 \r
870 /*QUAKED onslaught_link (0 .5 .8) (-16 -16 -16) (16 16 16) \r
871 Link between control points.\r
872 \r
873 This entity targets two different onslaught_controlpoint or onslaught_generator entities, and suppresses shielding on both if they are owned by different teams.\r
874 -------- KEYS --------\r
875 target: first control point.\r
876 target2: second control point.\r
877 */\r
878 \r
879 /*QUAKED path_corner (.5 .3 0) (-8 -8 -8) (8 8 8) \r
880 Path corner entity that func_train will follow.\r
881 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)\r
882 -------- KEYS --------\r
883 target: point to next path_corner in the path.\r
884 targetname: the train following the path or the previous path_corner in the path points to this.\r
885 speed: speed of func_train while moving to this path corner. If unset, the value from the func_train will be used.\r
886 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\r
887 */\r
888 \r
889 /*QUAKED runematch_spawn_point (.3 .3 1) (-16 -16 -16) (16 16 16) \r
890 Spawn point for runes in a runematch.\r
891 Runematch can work without runes also, it then spawn runes at random safe locations.\r
892 */\r
893 \r
894 /*QUAKED target_assault_roundend (1 0 0) (-8 -8 -8) (8 8 8) \r
895 This entity ends the current assault round if triggered or if the timelimit is reached.\r
896 Ending a round means swapping attacker/defender teams, resetting objectives and rewarding the winning team.\r
897 Every assault map needs this entity. There should only be one per map.\r
898 -------- KEYS --------\r
899 targetname: Name to target this entity\r
900 */\r
901 \r
902 /*QUAKED target_assault_roundstart (.5 0 .5) (-8 -8 -8) (8 8 8) \r
903 This entity triggers its targets whenever a new assault round is started. This can be used to e.g. activate the first objective.\r
904 -------- KEYS --------\r
905 target: targetname of entities to be enabled/triggered on round start (e.g. the first target_objective)\r
906 target2: targetname of entities to be enabled/triggered on round start (e.g. the func_assault_destructibles targeting the target_objective)\r
907 target3: targetname of entities to be enabled/triggered on round start\r
908 target4: targetname of entities to be enabled/triggered on round start\r
909 */\r
910 \r
911 /*QUAKED target_objective (.5 0 .5) (-8 -8 -8) (8 8 8) \r
912 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.\r
913 -------- KEYS --------\r
914 target: targetname of entities to be enabled/triggered on objective fulfilling (e.g. the next target_objective, or target_assault_roundend)\r
915 target2: targetname of entities to be enabled/triggered on objective fulfilling (e.g. the func_assault_destructibles targeting the target_objective)\r
916 target3: targetname of entities to be enabled/triggered on objective fulfilling\r
917 target4: targetname of entities to be enabled/triggered on objective fulfilling\r
918 targetname: targetname for this entity so it can be triggered by other entities.\r
919 */\r
920 \r
921 /*QUAKED target_objective_decrease (0 1 0) (-8 -8 -8) (8 8 8) \r
922 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.\r
923 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.\r
924 -------- KEYS --------\r
925 target: The targetname of the target_objective you want to manipulate.\r
926 targetname: Name for other entities to target this entity.\r
927 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.\r
928 */\r
929 \r
930 /*QUAKED target_position (0 .5 0) (-8 -8 -8) (8 8 8) \r
931 Aiming target for entities like light and trigger_push.\r
932 -------- KEYS --------\r
933 targetname: the entity that requires an aiming direction points to this.\r
934 target: target to activate when a jumppad targeting this is used\r
935 */\r
936 \r
937 /*QUAKED target_speaker (0 .7 .7) (-8 -8 -8) (8 8 8) \r
938 Sound generating entity that plays sound files.\r
939 If targeted, it plays the sound file every time when triggered.\r
940 If not targeted, it loops the sound file as an ambient noise.\r
941 -------- KEYS --------\r
942 noise: path/name of .wav/.ogg file to play\r
943 targetname: the activating button or trigger points to this.\r
944 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)\r
945 volume: volume of the sound\r
946 */\r
947 \r
948 /*QUAKED trigger_counter (.5 .5 .5) ? NOMESSAGE\r
949 Acts as an intermediary for an action that takes multiple inputs.\r
950 After the counter has been triggered "count" times, it will fire all of its targets and remove itself.\r
951 -------- KEYS --------\r
952 count: how many times this needs to be triggered to activate its targets\r
953 target: trigger all entities with this targetname when triggered\r
954 targetname: name that identifies this entity so it can be triggered\r
955 delay: delay the triggering by the given time\r
956 message: print this message to the player who activated the trigger\r
957 killtarget: remove all entities with this targetname when triggered\r
958 -------- SPAWNFLAGS --------\r
959 NOMESSAGE: don't print a "2 more to go..."-like message when triggered\r
960 */\r
961 \r
962 /*QUAKED trigger_delay (.5 .5 .5) (-8 -8 -8) (8 8 8) \r
963 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).\r
964 -------- KEYS --------\r
965 wait: delay the triggering by the given time\r
966 target: trigger all entities with this targetname when triggered\r
967 targetname: name that identifies this entity so it can be triggered\r
968 message: print this message to the player who activated the trigger\r
969 killtarget: remove all entities with this targetname when triggered\r
970 */\r
971 \r
972 /*QUAKED trigger_hurt (.5 .5 .5) ? \r
973 Any object touching this will be hurt.\r
974 Has the useful effect of automatically returning flags, keys and runes when they touch it.\r
975 -------- KEYS --------\r
976 dmg: amount of damage to deal (default: 1000)\r
977 message: kill message when someone gets killed by this (default: "was in the wrong place")\r
978 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)\r
979 */\r
980 \r
981 /*QUAKED trigger_impulse (.5 .5 .5) ? \r
982 An accelerator/dampener/wind field.\r
983 Can be used in two ways:\r
984 "dampener field": just set strength to a value from 0 to 1. Entering the field will slow down to this factor.\r
985 "accelerator field": just set strength to a value from 1 to infinity. Entering the field will accelerate by this factor.\r
986 "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.\r
987 "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.\r
988 -------- KEYS --------\r
989 target: "wind field": points to the target_position to which the player will get pushed.\r
990 strength: "wind field", "gravity field": amount of force per second to apply. "dampener/accelerator field": slowdown/speedup factor.\r
991 falloff: "gravity field": 0 means no falloff, 1 means linear falloff (zero at the outside), 2 means inverted linear falloff (zero at the inside)\r
992 */\r
993 \r
994 /*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH ALLENTS - - - - - - NOSPLASH\r
995 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.\r
996 -------- KEYS --------\r
997 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)\r
998 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)\r
999 sounds: 1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav\r
1000 noise: path to sound file, if you want to play something else\r
1001 target: trigger all entities with this targetname when triggered\r
1002 target2: trigger all entities with this targetname when triggered\r
1003 target3: trigger all entities with this targetname when triggered\r
1004 target4: trigger all entities with this targetname when triggered\r
1005 targetname: name that identifies this entity so it can be triggered\r
1006 delay: delay the triggering by the given time\r
1007 message: print this message to the player who activated the trigger\r
1008 killtarget: remove all entities with this targetname when triggered\r
1009 -------- SPAWNFLAGS --------\r
1010 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)\r
1011 ALLENTS: the trigger responds to all entities, not just players (useful for targetting trigger_items)\r
1012 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)\r
1013 */\r
1014 \r
1015 /*QUAKED trigger_once (.5 .5 .5) ? NOTOUCH - - - - - - - NOSPLASH\r
1016 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.\r
1017 Basically, it's a use-once trigger_multiple.\r
1018 -------- KEYS --------\r
1019 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)\r
1020 sounds: 1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav\r
1021 noise: path to sound file, if you want to play something else\r
1022 target: trigger all entities with this targetname when triggered\r
1023 targetname: name that identifies this entity so it can be triggered\r
1024 delay: delay the triggering by the given time\r
1025 message: print this message to the player who activated the trigger\r
1026 killtarget: remove all entities with this targetname when triggered\r
1027 -------- SPAWNFLAGS --------\r
1028 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)\r
1029 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)\r
1030 */\r
1031 \r
1032 /*QUAKED trigger_push (1 .5 0) ? - - INVERT_TEAM\r
1033 Jump pad. What else?\r
1034 Can be used in three ways:\r
1035 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.\r
1036 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.\r
1037 Quake "movedir/speed" way: player will get velocity movedir * speed * 10 when using the jump pad\r
1038 -------- KEYS --------\r
1039 target: point the player will fly to when using the jump pad (use a target_position here)\r
1040 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\r
1041 movedir: when target is not set, direction vector to push to\r
1042 speed: speed of jump pad (default: 1000)\r
1043 noise: sound to play when jump pad is used; default is misc/jumppad.wav; you can set it to "" to make the pad silent\r
1044 team: team that owns this jump pad (5 = red, 14 = blue, etc) (when set, only this team can teleport)\r
1045 targetname: when targeted by a func_button, pressing the button will reassign the teleporter to the team of the activator.\r
1046 -------- SPAWNFLAGS --------\r
1047 INVERT_TEAM: the team that owns the teleporter will NOT jump when touching this\r
1048 */\r
1049 \r
1050 /*QUAKED trigger_relay (.5 .5 .5) (-8 -8 -8) (8 8 8) \r
1051 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.\r
1052 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.\r
1053 More than one "trigger event" can be delayed at once, as opposed to trigger_delay.\r
1054 -------- KEYS --------\r
1055 target: trigger all entities with this targetname when triggered\r
1056 target2: trigger all entities with this targetname when triggered\r
1057 target3: trigger all entities with this targetname when triggered\r
1058 target4: trigger all entities with this targetname when triggered\r
1059 targetname: name that identifies this entity so it can be triggered\r
1060 delay: delay the triggering by the given time\r
1061 message: print this message to the player who activated the trigger\r
1062 killtarget: remove all entities with this targetname when triggered\r
1063 */\r
1064 \r
1065 /*QUAKED trigger_swamp (.5 .5 .5) ? \r
1066 Players getting into the swamp will get slowed down and damaged\r
1067 -------- KEYS --------\r
1068 dmg: damage per interval to deal (default is 5)\r
1069 swamp_interval: interval of damage when in swamp (default is 1)\r
1070 swamp_slowdown: amount of slowdown caused by the swamp (default is 0.5)\r
1071 */\r
1072 \r
1073 /*QUAKED trigger_teleport (.5 .5 .5) ? - - INVERT_TEAM\r
1074 Touching this will teleport players to the location of the targeted misc_teleporter_dest entity.\r
1075 Note that in Nexuiz, teleporters preserve momentum of the player using them.\r
1076 -------- KEYS --------\r
1077 target: this must point to a misc_teleporter_dest entity. If it points to more than one, a destination is randomly selected on teleport.\r
1078 team: team that owns this teleporter (5 = red, 14 = blue, etc) (when set, only this team can teleport)\r
1079 targetname: when targeted by a func_button, pressing the button will reassign the teleporter to the team of the activator.\r
1080 -------- SPAWNFLAGS --------\r
1081 INVERT_TEAM: the team that owns the teleporter will NOT teleport when touching this\r
1082 */\r
1083 \r
1084 /*QUAKED weapon_crylink (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1085 the Crylink\r
1086 -------- KEYS --------\r
1087 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)\r
1088 respawntime: time till it respawns (default: 15)\r
1089 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1090 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1091 -------- SPAWNFLAGS --------\r
1092 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1093 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1094 model="models/weapons/g_crylink.md3"\r
1095 */\r
1096 \r
1097 /*QUAKED weapon_electro (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1098 the Electro\r
1099 -------- KEYS --------\r
1100 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)\r
1101 respawntime: time till it respawns (default: 15)\r
1102 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1103 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1104 -------- SPAWNFLAGS --------\r
1105 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1106 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1107 model="models/weapons/g_electro.md3"\r
1108 */\r
1109 \r
1110 /*QUAKED weapon_grenadelauncher (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1111 the Mortar\r
1112 -------- KEYS --------\r
1113 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)\r
1114 respawntime: time till it respawns (default: 15)\r
1115 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1116 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1117 -------- SPAWNFLAGS --------\r
1118 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1119 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1120 model="models/weapons/g_gl.md3"\r
1121 */\r
1122 \r
1123 /*QUAKED weapon_hagar (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1124 the Hagar\r
1125 -------- KEYS --------\r
1126 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)\r
1127 respawntime: time till it respawns (default: 15)\r
1128 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1129 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1130 -------- SPAWNFLAGS --------\r
1131 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1132 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1133 model="models/weapons/g_hagar.md3"\r
1134 */\r
1135 \r
1136 /*QUAKED weapon_laser (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1137 the Laser. Note that unless you use\r
1138   settemp_for_type all g_start_weapon_laser 0\r
1139 in your mapinfo file, everyone will already spawn with one, making this pickup useless.\r
1140 -------- KEYS --------\r
1141 respawntime: time till it respawns (default: 15)\r
1142 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1143 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1144 -------- SPAWNFLAGS --------\r
1145 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1146 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1147 model="models/weapons/g_laser.md3"\r
1148 */\r
1149 \r
1150 /*QUAKED weapon_nex (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1151 the Nex\r
1152 In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.\r
1153 -------- KEYS --------\r
1154 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)\r
1155 respawntime: time till it respawns (default: 15 * g_balance_nex_respawntime_modifier)\r
1156 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1157 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1158 -------- SPAWNFLAGS --------\r
1159 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1160 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1161 model="models/weapons/g_nex.md3"\r
1162 */\r
1163 \r
1164 /*QUAKED weapon_rocketlauncher (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1165 the Rocket Launcher\r
1166 In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.\r
1167 -------- KEYS --------\r
1168 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)\r
1169 respawntime: time till it respawns (default: 15)\r
1170 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1171 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1172 -------- SPAWNFLAGS --------\r
1173 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1174 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1175 model="models/weapons/g_rl.md3"\r
1176 */\r
1177 \r
1178 /*QUAKED weapon_shotgun (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1179 the Shotgun. Note that unless you use\r
1180   settemp_for_type all g_start_weapon_shotgun 0\r
1181 in your mapinfo file, everyone will already spawn with one, making this pickup useless.\r
1182 -------- KEYS --------\r
1183 ammo_shells: initial shells of the weapon (if unset, g_pickup_shells is used)\r
1184 respawntime: time till it respawns (default: 15)\r
1185 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1186 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1187 -------- SPAWNFLAGS --------\r
1188 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1189 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1190 model="models/weapons/g_shotgun.md3"\r
1191 */\r
1192 \r
1193 /*QUAKED weapon_uzi (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1194 the Machine Gun\r
1195 -------- KEYS --------\r
1196 ammo_nails: initial bullets of the weapon (if unset, g_pickup_nails is used)\r
1197 respawntime: time till it respawns (default: 15)\r
1198 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1199 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1200 -------- SPAWNFLAGS --------\r
1201 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1202 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1203 model="models/weapons/g_uzi.md3"\r
1204 */\r
1205 \r
1206 /*QUAKED worldspawn (0 0 0) ? \r
1207 The world.\r
1208 If you see this, the currently selected brush is not of an entity.\r
1209 -------- KEYS --------\r
1210 fog: fog parameters of the map (density red green blue alpha mindist maxdist); works just like the "fog" console command\r
1211 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.\r
1212 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.\r
1213 _description: one-line description of the map. Will get copied to the "description" entry of the mapinfo file when none is present.\r
1214 -------- Q3MAP2 KEYS --------\r
1215 _blocksize: vector specifying the automatic vis subdivision block size (default: 1024 1024 1024)\r
1216 gridsize: lightgrid granularity vector (default: 64 64 128)\r
1217 _color: color of the global light parameters\r
1218 _ambient: light added to all surfaces\r
1219 _mingridlight: minimum grid light\r
1220 _minlight: minimum light value on both surfaces and lightgrid\r
1221 _keepLights: do not remove light entities from the map (useful e.g. for realtime lighting)\r
1222 _floodlight: flood light parameters (red green blue distance intensity), start with 240 240 255 1024 128\r
1223 _farplanedist: range after which everything is completely invisible by fog (when fog is being used)\r
1224 _noshadersun: turn off sun defined by shaders (useful if you defined your own light entity to be a sun)\r
1225 _ignoreleaks: ignore leaks when compiling\r
1226 _lightmapscale: light map resolution factor\r
1227 _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.\r
1228 _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.\r
1229 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.\r
1230 */\r
1231 \r
1232 /*QUAKED trigger_race_checkpoint (0 1 0) ? NOTOUCH STRICTTRIGGER CRUSH FINISH\r
1233 A checkpoint, for the race game mode. Be sure to make them quite long, so they actually catch a player reliably!\r
1234 -------- KEYS --------\r
1235 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!\r
1236 message: Death message, when touching checkpoints in the wrong order.\r
1237 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)\r
1238 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.\r
1239 target: when the checkpoint is passed, these entities are triggered. Useful for forcing items in certain areas using trigger_items\r
1240 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\r
1241 race_penalty_reason: reason to display when the penalty time is imposed. Default: "missing a checkpoint"\r
1242 -------- SPAWNFLAGS --------\r
1243 NOTOUCH: the checkpoint will not become active when touched, it HAS to be targeted\r
1244 STRICTTRIGGER: only trigger the targets when the checkpoint actually was reached in a valid way (that is, not when going back)\r
1245 CRUSH: the checkpoint kills when used at the wrong time\r
1246 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\r
1247 */\r
1248 \r
1249 /*QUAKED trigger_race_penalty (0 1 0) ? NOTOUCH\r
1250 A penalty trigger.\r
1251 -------- KEYS --------\r
1252 race_penalty: this penalty time is given if passing this trigger\r
1253 race_penalty_reason: reason to display when the penalty time is imposed. Default: "leaving the track"\r
1254 -------- SPAWNFLAGS --------\r
1255 NOTOUCH: the trigger will not become active when touched, it HAS to be targeted\r
1256 */\r
1257 \r
1258 /*QUAKED info_player_race (1 0.5 0) (-16 -16 -24) (16 16 45) \r
1259 Race spawn point.\r
1260 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.\r
1261 -------- KEYS --------\r
1262 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.\r
1263 target2: trigger all entities with this targetname when someone spawns\r
1264 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.\r
1265 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\r
1266 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)\r
1267 */\r
1268 \r
1269 /*QUAKED func_pointparticles (.5 .5 .5) ? START_ON IMPULSE\r
1270 A brush that emits particles.\r
1271 -------- KEYS --------\r
1272 mdl: particle effect name from effectinfo.txt\r
1273 impulse: when positive, number of particles to emit per second; when negative; number of particles to emit per second and 64^3 block\r
1274 velocity: particle direction and speed\r
1275 waterlevel: extra velocity jitter amount\r
1276 count: particle count multiplier (per spawned particle)\r
1277 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\r
1278 noise: sound to play when the particle is emitted\r
1279 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)\r
1280 volume: volume of the sound\r
1281 targetname: name to target this (then its state is toggled)\r
1282 bgmscript: emitter class from the BGM script\r
1283 bgmscriptattack: attack time of the effect strength (0 to 3.9)\r
1284 bgmscriptdecay: decay time of the effect strength (0 to 3.9)\r
1285 bgmscriptsustain: sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)\r
1286 bgmscriptrelease: release time of the effect strength (0 to 3.9)\r
1287 -------- SPAWNFLAGS --------\r
1288 START_ON: when targeted, the particle emitter will start switched on\r
1289 IMPULSE: only send the full amount of impulse particles when the entity is triggered\r
1290 -------- NOTES --------\r
1291 Use trigger_monoflop if you want the particles to turn off for a while, then turn back on.\r
1292 A BGM script is a .bgs file named like the map, in the maps directory. Its format is lines of the form\r
1293   <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>\r
1294 e.g.\r
1295   smokers 4.7 1\r
1296   smokers 4.9 0\r
1297 The lines MUST be sorted by emitter class as primary key, and by the time since start of the BGM as secondary key.\r
1298 */\r
1299 \r
1300 /*QUAKED trigger_flipflop (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON\r
1301 "Flip-flop" trigger gate... lets only every second trigger event through\r
1302 -------- KEYS --------\r
1303 target: trigger all entities with this targetname when triggered\r
1304 targetname: name that identifies this entity so it can be triggered\r
1305 -------- SPAWNFLAGS --------\r
1306 START_ON: assume it is already turned on (so the first event is NOT passed through)\r
1307 */\r
1308 \r
1309 /*QUAKED trigger_monoflop (.5 .5 .5) (-8 -8 -8) (8 8 8) FIXED\r
1310 "Mono-flop" trigger gate... turns trigger events into pairs of events\r
1311 -------- KEYS --------\r
1312 target: trigger all entities with this targetname when triggered\r
1313 targetname: name that identifies this entity so it can be triggered\r
1314 wait: time to wait until the "off" event is fired\r
1315 -------- SPAWNFLAGS --------\r
1316 FIXED: do pulses of fixed length (so the "off" delay is NOT extended as usual and new events are just ignored)\r
1317 */\r
1318 \r
1319 /*QUAKED trigger_multivibrator (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON\r
1320 "Multivibrator" trigger gate... repeatedly sends trigger events. When triggered, turns on or off.\r
1321 -------- KEYS --------\r
1322 target: trigger all entities with this targetname when it goes off\r
1323 targetname: name that identifies this entity so it can be triggered\r
1324 phase: phase of the multivibrator (it is added to the time)\r
1325 wait: "on" cycle time (default: 1)\r
1326 respawntime: "off" cycle time (default: same as wait)\r
1327 -------- SPAWNFLAGS --------\r
1328 START_ON: assume it is already turned on (when targeted)\r
1329 */\r
1330 \r
1331 /*QUAKED trigger_gamestart (.5 .5 .5) (-8 -8 -8) (8 8 8)\r
1332 Triggers once when the game starts, then no longer does anything.\r
1333 -------- KEYS --------\r
1334 target: trigger all entities with this targetname when starting the game\r
1335 target2: trigger all entities with this targetname when starting the game\r
1336 target3: trigger all entities with this targetname when starting the game\r
1337 target4: trigger all entities with this targetname when starting the game\r
1338 wait: wait so many seconds before triggering\r
1339 */\r
1340 \r
1341 /*QUAKED misc_follow (.5 .5 .5) (-8 -8 -8) (8 8 8) ATTACH LOCAL\r
1342 Makes one entity follow another. Will not work with all entities.\r
1343 -------- KEYS --------\r
1344 target: points to the entity to move (e.g. something that won't move by itself)\r
1345 killtarget: points to the entity that is to be used as the source (e.g. a func_plat)\r
1346 message: tag name to attach to (if ATTACH is used)\r
1347 punchangle: angle modifier (if LOCAL is used, and ATTACH is not)\r
1348 -------- SPAWNFLAGS --------\r
1349 ATTACH: attachment will be used instead of MOVETYPE_FOLLOW (mostly useful for attaching stuff to ZYM models)\r
1350 LOCAL: do not untransform the coordinates (that is, the map specifies local coordinates, not global ones). Mostly useful with ATTACH.\r
1351 */\r
1352 \r
1353 /*QUAKED weapon_minstanex (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1354 Placing this entity on a map kills your cat, voids the warranty on your toaster, and makes your map an unenjoyable campers' paradise.\r
1355 the MinstaGib Nex. Always kills with one shot.\r
1356 -------- KEYS --------\r
1357 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)\r
1358 respawntime: time till it respawns (default: 15)\r
1359 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1360 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1361 -------- SPAWNFLAGS --------\r
1362 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1363 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1364 model="models/weapons/g_minstanex.md3"\r
1365 */\r
1366 \r
1367 /*QUAKED weapon_porto (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1368 the Port-O-Launch. Only can be shot once.\r
1369 Portals cannot be made on noimpact surfaces, and the portal missile will bounce on slick surfaces.\r
1370 -------- KEYS --------\r
1371 respawntime: time till it respawns (default: 120)\r
1372 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1373 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1374 -------- SPAWNFLAGS --------\r
1375 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1376 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1377 model="models/weapons/g_porto.md3"\r
1378 */\r
1379 \r
1380 /*QUAKED target_items (0 0 1) (-8 -8 -8) (8 8 8) AND OR ANDNOT\r
1381 Sets the items of any player who triggers this.\r
1382 For the number fields, not specifying a value means not changing it. To clear armor, you need to explicitly set "armor" to "-1".\r
1383 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).\r
1384 -------- KEYS --------\r
1385 targetname: used to trigger this\r
1386 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"\r
1387 message: message to print\r
1388 ammo_shells: amount of shells\r
1389 ammo_nails: amount of bullets\r
1390 ammo_rockets: amount of rockets\r
1391 ammo_cells: amount of cells\r
1392 ammo_fuel: amount of fuel\r
1393 health: amount of health\r
1394 armorvalue: amount of armor\r
1395 strength_finished: if "strength" is specified, the time in seconds for which the strength will hold\r
1396 invincible_finished: if "invincible" is specified, the time in seconds for which the invincibility will hold\r
1397 -------- SPAWNFLAGS --------\r
1398 AND: any items not listed will get removed, and none will get added\r
1399 OR: the player may keep items not listed\r
1400 ANDNOT: the items listed will get removed from the player\r
1401 */\r
1402 \r
1403 /*QUAKED target_spawn (1 0 1) (-8 -8 -8) (8 8 8) - ONLOAD\r
1404 Spawns or modifies an entity when triggered.\r
1405 The entity field list is a single string of the form:\r
1406 'field' 'value' 'field' 'value' ... 'classname' 'item_bullets' ... 'field' 'value'\r
1407 The special "field" name $ calls a void(void) function, for example a spawn function.\r
1408 Special function names available are _setmodel and _setsize.\r
1409 Field values can use various variable replacements:\r
1410 $E\r
1411 $E.field\r
1412 $E.field+offset\r
1413 $E.field+offset+randomoffset\r
1414 where "E" can be self, activator, target (the entity being created/modified), killtarget, target2, target3, target4 and pusher.\r
1415 Example is a Mario-style question mark block which could throw a new weapon_nex when activated like this:\r
1416 {\r
1417 "classname" "func_button"\r
1418 "angle" "-1"\r
1419 "wait" "5"\r
1420 "target" "makenex"\r
1421 "speed" "1000"\r
1422 "lip" "64"\r
1423 ...\r
1424 }\r
1425 {\r
1426 "classname" "target_spawn"\r
1427 "origin" "0 0 448"\r
1428 "targetname" "makenex"\r
1429 "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"\r
1430 }\r
1431 -------- KEYS --------\r
1432 targetname: used to trigger this\r
1433 message: entity field list\r
1434 target: when set, target_spawn edits entities, instead of creating new ones\r
1435 count: make sure no more than count entities have been created by this (refuse to spawn new ones if exceeded)\r
1436 killtarget: reference entity (can be used as $killtarget)\r
1437 target2: reference entity (can be used as $target2)\r
1438 target3: reference entity (can be used as $target3)\r
1439 target4: reference entity (can be used as $target4)\r
1440 -------- SPAWNFLAGS --------\r
1441 ONLOAD: create a first entity on map load\r
1442 */\r
1443 \r
1444 /*QUAKED func_breakable (1 0 0) ? DISABLED INDICATE - - - - - - NOSPLASH\r
1445 This is a brush model which can be damaged.\r
1446 Once all health is consumed it'll disappear and trigger the targeted entity/entities.\r
1447 When triggered, it resets to full health, and unbreaks.\r
1448 -------- KEYS --------\r
1449 health: The damage this trigger can take\r
1450 target: The entity/entities to be triggered once this entity gets invisible\r
1451 targetname: The name other entities can use to target this entity\r
1452 mdl: particle effect name to show when destroyed\r
1453 count: particle effect multiplier\r
1454 mdl_dead: optional replacement model to show when destroyed\r
1455 debris: names of debris models to show when destroyed, separated by spaces\r
1456 noise: sound to play when destroyed\r
1457 dmg: damage to deal to the environment when destroyed\r
1458 dmg_edge: edge damage to deal to the environment when destroyed\r
1459 dmg_radius: damage radius\r
1460 dmg_force: damage force\r
1461 message: death message when a player gets hit by the explosion\r
1462 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)\r
1463 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\r
1464 debrissolid: solidity of the debris: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE\r
1465 debrisvelocity: initial velocity vector of the debris (static part)\r
1466 debrisvelocityjitter: initial velocity vector of the debris (random part)\r
1467 debrisavelocityjitter: initial angular velocity vector of the debris (random part)\r
1468 debristime: time till the debris fades (average)\r
1469 debristimejitter: time till the debris fades (random part)\r
1470 debrisfadetime: how long debris takes to fade\r
1471 debrisdamageforcescale: how much debris is affected by damage force (e.g. explosions)\r
1472 debrisskin: skin number of debris\r
1473 -------- SPAWNFLAGS --------\r
1474 DISABLED: do not allow damaging this until it is first activated\r
1475 INDICATE: indicate amount of damage already taken by coloring\r
1476 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)\r
1477 */\r
1478 \r
1479 /*QUAKED trigger_relay_if (0 1 0) (-8 -8 -8) (8 8 8) NEGATE\r
1480 Relays the trigger event if a cvar is set to a specified value.\r
1481 -------- KEYS --------\r
1482 target: The entity/entities to relay the trigger events to\r
1483 targetname: The name other entities can use to target this entity\r
1484 netname: The name of the cvar to check\r
1485 message: The value of the cvar to check\r
1486 count: The count of entities that must be found\r
1487 -------- SPAWNFLAGS --------\r
1488 NEGATE: trigger if the cvar does NOT match the value.\r
1489 */\r
1490 \r
1491 /*QUAKED weapon_hlac (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1492 the Heavy Laser Assault Cannon.\r
1493 -------- KEYS --------\r
1494 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)\r
1495 respawntime: time till it respawns (default: 30)\r
1496 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1497 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1498 -------- SPAWNFLAGS --------\r
1499 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1500 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1501 model="models/weapons/g_hlac.md3"\r
1502 */\r
1503 \r
1504 /*QUAKED weapon_hook (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1505 the on-hand Grappling Hook.\r
1506 -------- KEYS --------\r
1507 ammo_cells: initial cells of the weapon (if unset, g_pickup_cells is used)\r
1508 respawntime: time till it respawns (default: 30)\r
1509 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1510 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1511 -------- SPAWNFLAGS --------\r
1512 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1513 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1514 model="models/weapons/g_hookgun.md3"\r
1515 */\r
1516 \r
1517 /*QUAKED trigger_heal (.5 .5 .5) ?\r
1518 Any object touching this will be healed.\r
1519 -------- KEYS --------\r
1520 health: health to give per second (default 10)\r
1521 max_health: max health this trigger will give (default 200)\r
1522 noise: sound file to play (use misc/null.wav to make it silent), default = item_health_medium sound\r
1523 */\r
1524 \r
1525 /*QUAKED weapon_campingrifle (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1526 the Camping Rifle.\r
1527 -------- KEYS --------\r
1528 ammo_nails: initial bullets of the weapon (if unset, g_pickup_nails is used)\r
1529 respawntime: time till it respawns (default: 30)\r
1530 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1531 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1532 -------- SPAWNFLAGS --------\r
1533 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1534 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1535 model="models/weapons/g_campingrifle.md3"\r
1536 */\r
1537 \r
1538 /*QUAKED func_fourier (0 .5 .8) ?\r
1539 Solid entity that oscillates according to a sum of sine waves.\r
1540 -------- KEYS --------\r
1541 speed: amount of time in seconds for one complete oscillation cycle in the base frequency (default 4).\r
1542 height: sets the amount of travel of the oscillation movement (default 32). \r
1543 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).\r
1544 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).\r
1545 dmg: damage a player who gets crushed by it receives\r
1546 dmgtime: interval to apply dmg to a player who is s in the way\r
1547 message: death message when a player gets crushed\r
1548 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)\r
1549 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\r
1550 */\r
1551 \r
1552 /*QUAKED func_vectormamamam (0 .5 .8) ? PROJECT_ON_TARGETNORMAL TARGET2NORMAL_IS_DIRECTION TARGET3NORMAL_IS_DIRECTION TARGET4NORMAL_IS_DIRECTION\r
1553 Solid entity that moves according to the movement of multiple given entities (max 4)\r
1554 -------- KEYS --------\r
1555 target: first reference entity\r
1556 targetfactor: factor by which to take the first reference entity (default 1).\r
1557 targetnormal: if set, the first reference entity's location is first projected onto a plane with that normal\r
1558 target2: second reference entity\r
1559 target2factor: factor by which to take the second reference entity (default 1).\r
1560 target2normal: if set, the second reference entity's location is first projected onto a plane with that normal\r
1561 target3: third reference entity (optional)\r
1562 target3factor: factor by which to take the third reference entity (default 1).\r
1563 target3normal: if set, the third reference entity's location is first projected onto a plane with that normal\r
1564 target4: fourth reference entity (optional)\r
1565 target4factor: factor by which to take the fourth reference entity (default 1).\r
1566 target4normal: if set, the fourth reference entity's location is first projected onto a plane with that normal\r
1567 noise: path/name of .wav or .ogg file to play. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).\r
1568 dmg: damage a player who gets crushed by it receives\r
1569 dmgtime: interval to apply dmg to a player who is s in the way\r
1570 message: death message when a player gets crushed\r
1571 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)\r
1572 -------- SPAWNFLAGS --------\r
1573 PROJECT_ON_TARGETNORMAL: target's origin is projected onto the given direction vector, not on the plane perpendicular to it\r
1574 PROJECT_ON_TARGET2NORMAL: target2's origin is projected onto the given direction vector, not on the plane perpendicular to it\r
1575 PROJECT_ON_TARGET3NORMAL: target3's origin is projected onto the given direction vector, not on the plane perpendicular to it\r
1576 PROJECT_ON_TARGET4NORMAL: target4's origin is projected onto the given direction vector, not on the plane perpendicular to it\r
1577 */\r
1578 \r
1579 /*QUAKED trigger_relay_teamcheck (.5 .5 .5) (-8 -8 -8) (8 8 8) NOTEAM_TOO INVERT\r
1580 Works similar to trigger_relay, but only relays trigger events if the team of the activator matches this entity's team\r
1581 -------- KEYS --------\r
1582 target: trigger all entities with this targetname when triggered\r
1583 target2: trigger all entities with this targetname when triggered\r
1584 target3: trigger all entities with this targetname when triggered\r
1585 target4: trigger all entities with this targetname when triggered\r
1586 targetname: name that identifies this entity so it can be triggered\r
1587 delay: delay the triggering by the given time\r
1588 message: print this message to the player who activated the trigger\r
1589 killtarget: remove all entities with this targetname when triggered\r
1590 team: 5 for red, 14 for blue, 13 for yellow, 10 for pink team\r
1591 -------- SPAWNFLAGS --------\r
1592 NOTEAM_TOO: also relay events if the activator has no team set\r
1593 INVERT: only relay the event if this entity has the matching team\r
1594 */\r
1595 \r
1596 /*QUAKED trigger_disablerelay (.5 .5 .5) (-8 -8 -8) (8 8 8) \r
1597 Disables a trigger_relay temporarily (until triggered again)\r
1598 -------- KEYS --------\r
1599 target: disable/enable all relays with this targetname when triggered\r
1600 targetname: name that identifies this entity so it can be triggered\r
1601 */\r
1602 \r
1603 /*QUAKED nexball_redgoal (1 0 0) ?\r
1604 Red goal. Defended by the red team.\r
1605 -------- KEYS --------\r
1606 noise: sound played when a point is scored\r
1607 -------- SPAWNFLAGS --------\r
1608 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)\r
1609 */\r
1610 \r
1611 /*QUAKED nexball_bluegoal (0 0 1) ?\r
1612 Blue goal. Defended by the blue team.\r
1613 -------- KEYS --------\r
1614 noise: sound played when a point is scored\r
1615 -------- SPAWNFLAGS --------\r
1616 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)\r
1617 */\r
1618 \r
1619 /*QUAKED nexball_yellowgoal (1 1 0) ?\r
1620 Yellow goal. Defended by the yellow team. Needs both red and blue goals on the map to work.\r
1621 -------- KEYS --------\r
1622 noise: sound played when a point is scored\r
1623 -------- SPAWNFLAGS --------\r
1624 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)\r
1625 */\r
1626 \r
1627 /*QUAKED nexball_pinkgoal (1 0 1) ?\r
1628 Pink goal. Defended by the pink team. Needs red, blue and yellow goals on the map to work.\r
1629 -------- KEYS --------\r
1630 noise: sound played when a point is scored\r
1631 -------- SPAWNFLAGS --------\r
1632 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)\r
1633 */\r
1634 \r
1635 \r
1636 /*QUAKED nexball_fault (0.6 0.1 0) ?\r
1637 This acts as a goal that always gives points to the opposing team.\r
1638 -------- KEYS --------\r
1639 noise: sound played when a point is scored\r
1640 -------- SPAWNFLAGS --------\r
1641 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)\r
1642 */\r
1643 \r
1644 /*QUAKED nexball_out (0.1 0.6 0) ?\r
1645 When the ball touches this, it is returned.\r
1646 -------- KEYS --------\r
1647 noise: sound played when a point is scored\r
1648 -------- SPAWNFLAGS --------\r
1649 GOAL_TOUCHPLAYER: The trigger also affects ball-carrying players (the ball is then auto-dropped)\r
1650 */\r
1651 \r
1652 /*QUAKED nexball_football (.9 .9 .9) (-16 -16 -16) (16 16 16)\r
1653 The soccer type Nexball.\r
1654 -------- KEYS --------\r
1655 model: set this if you want to use your own model\r
1656 scale: if you're using your own model, change this to scale it to 32*32*32\r
1657 noise: played when the ball bounces\r
1658 noise1: played when the ball is dropped on the map\r
1659 */\r
1660 \r
1661 /*QUAKED nexball_basketball (.5 .2 0) (-16 -16 -16) (16 16 16)\r
1662 The basket ball type Nexball.\r
1663 -------- KEYS --------\r
1664 model: set this if you want to use your own model\r
1665 scale: if you're using your own model, change this to scale it to 32*32*32\r
1666 noise: played when the ball bounces\r
1667 noise1: played when the ball is dropped on the map\r
1668 noise2: played when the ball is stolen from the enemy\r
1669 */\r
1670 \r
1671 /*QUAKED item_fuel (.3 .3 1) (-30 -30 0) (30 30 32) FLOATING\r
1672 Jetpack fuel\r
1673 -------- KEYS --------\r
1674 ammo_fuel: fuel units gained by this item (if unset, g_pickup_fuel is used)\r
1675 respawntime: time till it respawns (default: 15)\r
1676 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1677 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1678 -------- SPAWNFLAGS --------\r
1679 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1680 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1681 model="models/items/g_fuel.md3"\r
1682 */\r
1683 \r
1684 /*QUAKED item_fuel_regen (1 .3 1) (-30 -30 0) (30 30 48) FLOATING\r
1685 Fuel regenerator\r
1686 -------- KEYS --------\r
1687 respawntime: time till it respawns (default: 120)\r
1688 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1689 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1690 -------- SPAWNFLAGS --------\r
1691 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1692 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1693 model="models/items/g_fuelregen.md3"\r
1694 */\r
1695 \r
1696 /*QUAKED item_jetpack (.3 .3 1) (-30 -30 0) (30 30 48) FLOATING\r
1697 Jetpack\r
1698 -------- KEYS --------\r
1699 ammo_fuel: fuel units gained by this item (if unset, g_pickup_fuel_jetpack is used)\r
1700 respawntime: time till it respawns (default: 120)\r
1701 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1702 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1703 -------- SPAWNFLAGS --------\r
1704 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1705 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1706 model="models/items/g_jetpack.md3"\r
1707 */\r
1708 \r
1709 /*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\r
1710 Triggers targets when a given magic word has been said\r
1711 -------- KEYS --------\r
1712 message: message to wait for (can start or end with * for wildcards)\r
1713 netname: replacement text (by default, no replacement is performed if empty)\r
1714 radius: radius in which the player has to be for this to match\r
1715 target: all entities with a matching targetname will be triggered.\r
1716 target2: all entities with a matching targetname will be triggered.\r
1717 target3: all entities with a matching targetname will be triggered.\r
1718 target4: all entities with a matching targetname will be triggered.\r
1719 -------- SPAWNFLAGS --------\r
1720 IGNORE_SAY: do not respond to "say" messages\r
1721 IGNORE_TEAMSAY: do not respond to "say_team" messages\r
1722 IGNORE_TELL: do not respond to "tell" messages\r
1723 IGNORE_INVALIDTELL: do not respond to "tell" messages of invalid syntax\r
1724 REPLACE_WHOLE_MESSAGE: replace the whole message by netname, or drop the message if netname is empty\r
1725 REPLACE_OUTSIDE: also perform the replacement when outside the radius (to hide the "secret word")\r
1726 CONTINUE: even if this magic ear matched, continue looking for further matches/replacements (useful for swear word filters)\r
1727 NODECOLORIZE: do not decolorize the input string before matching\r
1728 */\r
1729 \r
1730 /*QUAKED weapon_fireball (1 0 .5) (-30 -30 0) (30 30 32) FLOATING\r
1731 the Fireball\r
1732 -------- KEYS --------\r
1733 ammo_rockets: initial rockets of the weapon (if unset, g_pickup_rockets is used)\r
1734 respawntime: time till it respawns (default: 15)\r
1735 team: out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.\r
1736 cnt: weight of this item for random selection using "team". Set to a lower value for items you want to see less likely.\r
1737 -------- SPAWNFLAGS --------\r
1738 FLOATING: the item will float in air, instead of aligning to the floor by falling\r
1739 -------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------\r
1740 model="models/weapons/g_fireball.md3"\r
1741 */\r
1742 \r
1743 /*QUAKED trigger_warpzone (1 .5 1) ?\r
1744 A warp zone, i.e. seamlessly connecting two parts of the map.\r
1745 One surface of this entity must have the common/warpzone shader - this will be the warp plane - the others should be common/trigger.\r
1746 Must target, or be targeted by, another trigger_warpzone with a congruent common/warpzone surface.\r
1747 Should target a target_position, or be targeted by a misc_warpzone_position.\r
1748 Should be thick enough to fit a player entity (i.e. 32 units), preferably even thicker.\r
1749 -------- KEYS --------\r
1750 target: must point to another trigger_warpzone, or...\r
1751 targetname: must be pointed to by another trigger_warpzone. Should be pointed to by a misc_warpzone_position entity, or...\r
1752 killtarget: should point to a target_position entity, or\r
1753 */\r
1754 \r
1755 /*QUAKED misc_warpzone_position (1 .5 .25) (-8 -8 -8) (8 8 8) \r
1756 Orientation specification for a trigger_warpzone\r
1757 -------- KEYS --------\r
1758 target: must point to a trigger_warpzone\r
1759 angles: must point perpendicular to the common/warpzone surface of the trigger_warpzone, and away from the trigger brush\r
1760 origin: must be on the common/warpzone surface of the trigger_warpzone\r
1761 */\r
1762 \r
1763 /*QUAKED func_camera (1 .5 1) ?\r
1764 A camera, i.e. a surface that shows a view from another part of the map.\r
1765 One surface of this entity must have the common/camera shader, the others should be common/caulk.\r
1766 Must target a target_position that indicates the view to be shown (and whose angles also indicate the orientation of the view)\r
1767 -------- KEYS --------\r
1768 target: must point to a target_position\r
1769 */\r
1770 \r