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