//=================================================================================
// Urban Terror entity definition file for GtkRadiant
//=================================================================================





//=================================================================================
// Structural entities (doors, breakables, etc.)
//=================================================================================

//	*	*	*	*	*	*	*	*

/*QUAKED func_button (0 .5 .8) ?
When a button is touched by a player, it moves in the direction set by the "angle" key, triggers all its targets, stays pressed by an amount of time set by the "wait" key, then returns to it's original position where it can be operated again.
-------- KEYS --------
angle : Determines the direction in which the button will move (up = -1, down = -2).
target : All entities with a matching targetname will be triggered.
speed : Speed of button's displacement (default 40).
wait : Number of seconds button stays pressed (default 1, -1 = return immediately).
lip : Lip remaining at end of move (default 4 units).
health : If set to a non-zero value, the button must be damaged by "health" amount of points to operate.
light : ConstantLight radius of .md3 model included with entity. Has no effect on the entity's brushes (default 0).
color : ConstantLight color of .md3 model included with entity. Has no effect on the entity's brushes (default 1 1 1).
model2 : Path/name of model to include (eg: models/mapobjects/pipe/pipe02.md3).
origin : Alternate method of setting XYZ origin of .md3 model included with entity (See Notes).
notfree : When set to 1, entity will not spawn in "Free for all" and "Tournament" modes.
notteam : When set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
notsingle : When set to 1, entity will not spawn in Single Player mode (bot play mode).
push_sound : Sound that gets played when button gets pushed ("none" for nothing, defaults to a elevator Q3 sound).
-------- Q3MAP2 KEYS --------
targetname : Used to attach a misc_model entity to this entity.
_lightmapscale : Floating point value scales the resolution of lightmaps on brushes/patches in this entity (default 1.0).
_cs OR _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.
_rs OR _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.
_celshader : Sets the cel shader used for this geometry. Note: Omit the "textures/" prefix.
-------- Q3MAP2 TERRAIN KEYS --------
_indexmap OR alphamap : Path/name for the art file used to guide the mapping of textures on the terrain surface.
_layers OR layers : Integer value denotes number of unique root shaders that will be used on the terrain.
_shader OR shader : Path to the metashader used to assign textures to the terrain entity. Note: Omit the "textures/" prefix.
-------- NOTES --------
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.

Target this entity with a misc_model to have the model attached to the entity (set the model's "target" key to the same value as this entity's "targetname").

When the entity activates its targets, all shaders/textures in the map that were originally the same name as the targetShaderName value, will be changed to the targetShaderNewName value. For example, turning a light on:
"targetShaderName" "textures/proto2/redlight_off"
"targetShaderNewName" "textures/proto2/redlight_on"
And this would turn it back off:
"targetShaderName" "textures/proto2/redlight_off"
"targetShaderNewName" "textures/proto2/redlight_off"
*/

//	*	*	*	*	*	*	*	*

/*QUAKED func_door (0 .5 .8) ? START_OPEN - CRUSHER
Normal sliding door entity. By default, the door will activate when player walks close to it or when damage is inflicted to it.
-------- KEYS --------
angle : Determines the opening direction of door (up = -1, down = -2).
speed : Determines how fast the door moves (default 100).
wait : Number of seconds before door returns (default 2, -1 = return immediately).
lip : Lip remaining at end of move (default 8).
targetname : If set, a func_button or trigger is required to activate the door.
health : If set to a non-zero value, the door must be damaged by "health" amount of points to activate (default 0).
dmg : Damage to inflict on player when he blocks operation of door (default 4). Door will reverse direction when blocked unless CRUSHER spawnflag is set.
team : Assign the same team name to multiple doors that should operate together (see notes).
only : Set to allow only one team to use this entity, used for CTF or other respawn type modes to create spawn rooms. Values: blue or red - Default: anyone
CloseWhenIdle: When set to 1, the door will close as soon as there are no players in the triggering brush (For CTF Spawn Room doors, SEE NOTES!)
trigger_only : Set to 1 if the door can only be opened by a switch or trigger (ie: prevents a player from opening it manually)
pos1 : Sound to play when door starts moving ("none" for nothing, defaults to a creak)
pos2 : Sound to play when door stops moving ("none" for nothing, defaults to a creak)
noise : Looping sound as door is moving
light : ConstantLight radius of .md3 model included with entity. Has no effect on the entity's brushes (default 0).
color : ConstantLight color of .md3 model included with entity. Has no effect on the entity's brushes (default 1 1 1).
model2 : Path/name of model to include (.md3 files only, e.g. models/mapobjects/pipe/pipe02.md3).
origin : Alternate method of setting XYZ origin of .md3 model included with entity (see notes).
notfree : When set to 1, entity will not spawn in "Free for all" and "Tournament" modes.
notteam : When set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
notsingle : When set to 1, entity will not spawn in Single Player mode (bot play mode).
-------- Q3MAP2 KEYS --------
_lightmapscale : Floating point value scales the resolution of lightmaps on brushes/patches in this entity (default 1.0).
_cs OR _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.
_rs OR _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.
_celshader : Sets the cel shader used for this geometry. Note: Omit the "textures/" prefix.
-------- Q3MAP2 TERRAIN KEYS --------
_indexmap OR alphamap : Path/name for the art file used to guide the mapping of textures on the terrain surface.
_layers OR layers : Integer value denotes number of unique root shaders that will be used on the terrain.
_shader OR shader : Path to the metashader used to assign textures to the terrain entity. Note: Omit the "textures/" prefix.
-------- SPAWNFLAGS --------
START_OPEN : The door will spawn in the open state and operate in reverse.
CRUSHER : Door will not reverse direction when blocked and will keep damaging player until he dies or gets out of the way.
-------- NOTES --------
To use the CloseWhenIdle setting for CTF Spawn Room doors, you must also set trigger_only, and use a trigger_multiple to open the door. This will cause the door to remain open only as long as a player is in the triggering brush.  Set the 'wait' key on the trigger_multiple to a very low value( < 1 like .25 )
Unlike in Quake 2, doors that touch are NOT automatically teamed. If you want doors to operate together, you have to team them manually by assigning the same team name to all of them. 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.
*/

//	*	*	*	*	*	*	*	*

/*QUAKED func_rotating_door (1 0 0) ? 
-------- KEYS --------
pos1 : sound to play when door starts moving ("none" for nothing, defaults to a creak)
pos2 : sound to play when door stops moving ("none" for nothing, defaults to a creak)
noise : looping sound to play as door is moving (defaults to no sound)
targetname : name of a target to trigger when door opens
color :	constantLight color
light : constantLight radius
direction : force door to open in a set direction: -1 is clockwise, 1 is ccw
speed : defaults to 100, speed at which door opens
wait : how long to wait until door auto-closes (default is 0, which means stay open)
trigger_only : set to 1 if the door can only be opened by a switch or trigger(ie: prevents a player from opening it manually)
axis : door rotation axis, values: 0 (for x-axis), 1(for y-axis), 2(for z-axis) (if not given, default is 2 for z-axis)
damage : damage door does to a player if they block it (leave out in most cases)
gamemode_open : gametypes to have the door locked in the open position
gamemode_shut : gametypes to have the door locked in the closed position
only : set to allow only one team to use this entity, used for CTF or other respawn type modes to create spawn rooms. Values: blue or red - Default: anyone
-------- NOTES --------
Rotating doors cannot be shot open, and will only close or open if activated by a player.  They will not automatically close after a period either.  In game modes not listed under either gamemode_open or gamemode_shut, the doors will open and close normally.

You construct a rotating door just like a FUNC_ROTATING: it needs an origin brush to act as the hinge.

Urban Terror gametype mappings are:
	Free For All 0
	Last Man Standing 1 (use FFA 0 for entities)
	Team Deathmatch 3
	Team Survivor 4
	Assasins 5
	Capture And Hold 6
	Capture The Flag 7
	Bomb 8
	Jump Mode 9
*/

//	*	*	*	*	*	*	*	*

/*QUAKED func_breakable (0 .5 .8) ?
A breakable thing just sits there, doing nothing, 
but will break if damaged or collided with.
-------- KEYS --------
model2 : path/name of model to include (eg: models/mapobjects/pipe/pipe02.md3).
color : constantLight color
light : constantLight radius
type : 0: glass 1: wood 2: ceramic 3: plastic 4: metal-normal 5: metal-explosives 6: metal-hk69 7: stone-explosives 8: stone-hk69 9: wood-explosives 10: wood-hk69(SEE NOTES)
axis : 1 - x, 2 - y, 4 - z
health : health of object
model2 : path/name of model to include (eg: models/mapobjects/pipe/pipe02.md3).
shards : number of shards object should shatter into (0-255)
bombable : allows the entity to be destroyed by the bomb in bomb mode. The size of blast shown when the entity breaks is determined by this value (Values : 1 none - 255 huge blast).
-------- NOTES --------
 - For glass windows that break easily, set health to 1.
 - Any func_breakable with a health of less than 10 will slowly weaken if a player is in contact with it.  You can make a roof that collapses in after a period of time by setting the health to a value like 5.  This will mean that a player standing on such a surface for around 5 seconds will fall thru.  The effect is cumulative: if you stand there for 3 seconds and then come back you can only stand on it for another 2 seconds.
 - The type parameter selects the shader that is used for fragments and sets the sound the object makes when it breaks.
 - If the brush you are making is on an angle (for example, a skylight in a sloping roof) then you will need to set the break axis to "4" if you want it to break when people stand on it.
 - You can build anything to break using the breakables. You can make a model breakable without having to use the model2 key. Just right click with it selected and choose func_breakable.
 - Set shards as high as you want (it maxes out at 32 anyway) - players can reduce the number of shards they see using cg_maxFragments
 - Bombable key is to be used for things that can only be broken by the Bomb Mode bomb explosion. For example a large propane tank near a bomb target. The key's value will determine the size of the explosion graphics from this entity when broken, with a value of 1 being no explosion and a value of 255 being a large secondary blast.
 - Type values info for 1,2,3,4 - The game will attenuate the damage caused by each hit to a value of 1-3. Health values above 10 will choose a random health between 6 and 10. Specifics are as follows: 0: is for glass/windows 1: is for all woods 2: is for ceramics and pottery 3: is for various plastics 4: is for metal that can be broken by normal means
 - Type values info for 5,6,7,8,9,10 - The game will use the literal health value compared to the weapon damages. They should be set quite high (metals and stone at 50+). Specifics are as follows: 5: is for metal that requires explosives to break (HE grenade or hk69) 6: is for metal that requires the hk69 to break 7: is for stone that requires explosives to break (HE grenade or hk69) 8: is for stone that requires the hk69 to break 9: is for wood that requires explosives to break (HE grenade or hk69) 10: is for wood that requires the hk69 to break
*/

//	*	*	*	*	*	*	*	*

/*QUAKED func_wall (0 .5 .8) ?  
-------- KEYS --------
gametype : gametypes to have the wall appear in, list types in this format: 01234 (default none)
-------- NOTES --------
This entity is any brush or combination of brushes that you wish to have appear in gametypes specified.
Common uses are to cut of map sections to streamline gameplay for TS, or to expand the map for CTF or Bomb.
You cannot use a model as a func_wall.

Create your brush(es), select it (or them), then make them a func_wall and set gametype keys.

Urban Terror gametype mappings are:
	Free For All 0
	Last Man Standing 1 (use FFA 0 for entities)
	Team Deathmatch 3
	Team Survivor 4
	Assasins 5
	Capture And Hold 6
	Capture The Flag 7
	Bomb 8
	Jump Mode 9
*/

//	*	*	*	*	*	*	*	*

//=================================================================================
// Train entities (Anything that has anything to do with the func_ut_train)
//=================================================================================

//	*	*	*	*	*	*	*	*

/*QUAKED func_ut_train (.6 .1 .8) ? START_ON TOGGLE BLOCK_STOPS CRUSHER
A train is a mover that moves between path_ut_stop target points.
-------- KEYS --------
model2 : .md3 model to also draw
name : to associate with a set of control buttons
noise : looping sound to play when the train is in motion
color : constantLight color
light : constantLight radius
speed : default 350
dmg : default 0
target : first path_ut_stop, train spawns here
interface : the targetname of the func_keyboard_interface that belongs to this train
id : to uniquely associate it with a set of control buttons
startSound : sound to play when train begins moving to a new destination
stopSound : sound to play when train arrives at a final stop
noise : constant looping sound to always be playing where the train is
-------- NOTES --------
- Trains MUST HAVE AN ORIGIN BRUSH.
- The train spawns at the first target it is pointing at.
- The train will move to any stop from any stop. See the description for the func_keyboard_interface for more info.

*/

//	*	*	*	*	*	*	*	*

/*QUAKED func_keyboard_interface (.5 .6 .5) ?
keyboard menu interface
-------- KEYS --------
display : if 0, menu is not dispayed, if 1, menu is displayed, default 1
id : id of the func_ut_train that this interface associates with
targetname : id for the func_ut_train key "interface" to associate it with the right func_ut_train
option1 : text message to describe the first destination
option2 : text message to describe the second destination
option3 : text message to describe the third destination
option4 : text message to describe the fourth destination
option5 : text message to describe the five destination
stop1 : targetname of first destination
stop2 : targetname of second destination
stop3 : targetname of third destination
stop4 : targetname of fourth destination
stop5 : targetname of fifth destination
stop2from1 : beginning of path from 1 to 2
stop3from1 : beginning of path from 1 to 3
stop4from1 : beginning of path from 1 to 4
stop5from1 : beginning of path from 1 to 5
stop1from2 : beginning of path from 2 to 1
stop3from2 : beginning of path from 2 to 3
stop4from2 : beginning of path from 2 to 4
stop5from2 : beginning of path from 2 to 5
stop1from3 : beginning of path from 3 to 1
stop2from3 : beginning of path from 3 to 2
stop4from3 : beginning of path from 3 to 4
stop5from3 : beginning of path from 3 to 5
stop1from4 : beginning of path from 4 to 1
stop2from4 : beginning of path from 4 to 2
stop3from4 : beginning of path from 4 to 3
stop5from4 : beginning of path from 4 to 5
stop1from5 : beginning of path from 5 to 1
stop2from5 : beginning of path from 5 to 2
stop3from5 : beginning of path from 5 to 3
stop4from5 : beginning of path from 5 to 4
-------- NOTES --------
- All the stopXfromY (where X and Y are numbers) should target a path_ut_stop
- The stopX keys (where X is a number) should target the ending path_ut_stop, i.e. the last stop at location X.
- The optionX keys (where X is a number) corresponds to the stopX keys. So if you set the name "top floor" for option1, make sure that stop1 actually is at the "top floor"
*/

//	*	*	*	*	*	*	*	*

/*QUAKED path_ut_stop (.5 .3 0) (-8 -8 -8) (8 8 8)
Train path stops.
-------- KEYS --------
target : next path stop and other targets to fire
trainID : the id of the train that this stop is for
wait : the amount of time train should wait at this stop, default is 0
rotationTime : the amount of time (in milleseconds) that the train should rotate for at this stop according to yawSpeed, pitchSpeed, and rollSpeed
yawSpeed : the speed of yaw rotation that the train will do once at this stop for rotationTime amound of milleseconds
pitchSpeed : the speed of pitch rotation that the train will do once at this stop for rotationTime amound of milleseconds
rollSpeed : the speed of roll rotation that the train will do once at this stop for rotationTime amound of milleseconds
-------- NOTES --------
- Pitch and roll doesn't work very well right now because of the collision handling of Q3. This makes it hard to make things that the player is supposed to ride work properly. Trial and error would probably be the best method to find out what works and what doesn't.
- You can have the path_ut_stop trigger almost anything. For example, you could use it to open a door or to trigger a func_button.
*/

//	*	*	*	*	*	*	*	*

//=============================================================================
// Active entities (Non-structural, trigger type entities)
//=============================================================================

//	*	*	*	*	*	*	*	*

/*QUAKED trigger_location (1 .5 0) ? - - 
Specifies the name of a location when the player is within this trigger.
-------- KEYS --------
message : Name of the location (text string). Displayed in parentheses in front of all team chat and order messages.
count : Color of the location text displayed in parentheses during team chat. Set to 0-7 for color.
//Attacking_Team : For Bomb Mode ONLY - when set to 1, the BLUE team will be the attacker, set to 0 if you want the RED team to attack. Default 0 (RED is Attacker)
notfree : when set to 1, entity will not spawn in "Free for all" and "Tournament" modes.
notteam : when set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
notsingle : when set to 1, entity will not spawn in Single Player mode (bot play mode).
-------- NOTES --------
The values for the colors that can be set in the count key are as follows:
	0 : white (default)
	1 : red
	2 : green
	3 : yellow
	4 : blue
	5 : cyan
	6 : magenta
	7 : white
*/

//	*	*	*	*	*	*	*	*

/*QUAKED target_speaker (0 .7 .7) (-8 -8 -8) (8 8 8) LOOPED_ON LOOPED_OFF GLOBAL ACTIVATOR
Sound generating entity that plays .wav files. Normal non-looping sounds play each time the target_speaker is triggered. Looping sounds can be set to play by themselves (no activating trigger) or be toggled on/off by a trigger.
-------- KEYS --------
noise : Path/name of .wav file to play (e.g. sound/world/growl1.wav - see notes).
wait : Delay in seconds between each time the sound is played ("random" key must be set - see notes).
random : Random time variance in seconds added or subtracted from "wait" delay ("wait" key must be set - see notes).
targetname : The activating button or trigger points to this.
notfree : When set to 1, entity will not spawn in "Free for all" and "Tournament" modes.
notteam : When set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
notsingle : When set to 1, entity will not spawn in Single Player mode (bot play mode).
gametype : Specifies gametypes to play the sound in. If this key is not used, sound will play in all gametypes. List types in this format: 01234
-------- SPAWNFLAGS --------
LOOPED_ON : Sound will loop and initially start on in level (will toggle on/off when triggered).
LOOPED_OFF : Sound will loop and initially start off in level (will toggle on/off when triggered).
GLOBAL : Sound will play full volume throughout the level.
ACTIVATOR : Sound will play only for the player that activated the target.
-------- NOTES --------
The path portion value of the "noise" key can be replaced by the implicit folder character "*" for triggered sounds that belong to a particular player model. For example, if you want to create a "bottomless pit" in which the player screams and dies when he falls into, you would place a trigger_multiple over the floor of the pit and target a target_speaker with it. Then, you would set the "noise" key to "*falling1.wav". The * character means the current player model's sound folder. So if your current player model is Visor, * = sound/player/visor, if your current player model is Sarge, * = sound/player/sarge, etc. This cool feature provides an excellent way to create "player-specific" triggered sounds in your levels.

The combination of the "wait" and "random" keys can be used to play non-looping sounds without requiring an activating trigger but both keys must be used together. The value of the "random" key is used to calculate a minimum and a maximum delay. The final time delay will be a random value anywhere between the minimum and maximum values: (min delay = wait - random) (max delay = wait + random).
*/

//	*	*	*	*	*	*	*	*

/*QUAKED trigger_multiple (.5 .5 .5) ?
Variable size repeatable trigger. It will fire the entities it targets when touched by player. Can be made to operate like a trigger_once entity by setting the "wait" key to -1. It can also be activated by another trigger that targets it.
-------- KEYS --------
target : This points to the entity to activate.
targetname : Activating trigger points to this.
targetShaderName : Points to the name of the original shader to swap out for triggerable shader entities (see notes).
targetShaderNewName : Points to the name of the new shader to swap in for triggerable shader entities (see notes).
wait : Time in seconds until trigger becomes re-triggerable after it's been touched (default 0.2, -1 = trigger once, see notes).
random : Random time variance in seconds added or subtracted from "wait" delay (default 0 - see notes).
only : set to allow only one team to use this entity, used for CTF or other respawn type modes to create spawn rooms. Values: blue or red - Default: anyone
notfree : When set to 1, entity will not spawn in "Free for all" and "Tournament" modes.
notteam : When set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
notsingle : When set to 1, entity will not spawn in Single Player mode (bot play mode).
-------- NOTES --------
Set the 'wait' key to .25 if using the CloseWhenIdle key when triggering a door.
Do not set the 'wait' key to 0 as it causes the trigger to malfunction and not trigger again most of the time after one activation.

When the random key is set, its value is used to calculate a minimum and a maximum delay. The final time delay will be a random value anywhere between the minimum and maximum values: (min delay = wait - random) (max delay = wait + random).

When the entity activates its targets, all shaders/textures in the map that were originally the same name as the targetShaderName value, will be changed to the targetShaderNewName value. For example, turning a light on:
"targetShaderName" "textures/proto2/redlight_off"
"targetShaderNewName" "textures/proto2/redlight_on"
And this would turn it back off:
"targetShaderName" "textures/proto2/redlight_off"
"targetShaderNewName" "textures/proto2/redlight_off"
*/

//	*	*	*	*	*	*	*	*

//=================================================================================
// Gametype entities (Special UT gametype entities)
//=================================================================================

//	*	*	*	*	*	*	*	*

/*QUAKED info_ut_spawn (1 .5 0) (-16 -16 -24) (16 16 32) initial
potential spawning position for Urban Terror.
-------- KEYS --------
team : team that this spawn belongs to ("red" or "blue")
group : this spawn groups with others of same groupID. A team chooses spawns from a certain group. 
g_gametype : a list of gametypes on which to use this spawn eg: "3, 5, 6"
-------- NOTES --------
	Urban Terror gametype mappings are:
	Free For All 0
	Last Man Standing 1 (use FFA 0 for entities)
	Team Deathmatch 3
	Team Survivor 4
	Assasins 5
	Capture And Hold 6
	Capture The Flag 7
	Bomb 8
	Jump Mode 9

You would use the groups key in maps if you wanted to make sure a team will spawn together in a certain location, so you might take 8 spawn points, give them all gametypes of "3, 5, 6, 7, 8" (all teamplays except gametype 4 TS, gametype 4 should be in separate groups for each team) and then assign all eight a group id of "1" then you might do another eight and make their group id all "2". Then do the same for the other team e.g.: 8 spawns for both red and blue teams with group 1 and another 8 spawns for both red and blue teams with group 2. UT will choose a "group" at the begining of a round and spawn all members of the "teams" there. Normally you'd have a few groups of spawns so you could have lots of potential team starting positions. Note: The game treats TS (gametype 4) spawns differently. It chooses the spawns based on furthest distance from each other rather than in paired groups. So if you wanted two spawn areas for each team you would do team blue group 1, team red group 2, team blue group 3, team red group 4.
*/

//	*	*	*	*	*	*	*	*

/*QUAKED team_CAH_capturepoint (0 .2 1) (-32 -32 -16) (32 32 76)
zone that can be captured in the Capture and Hold gametype (CAH)
-------- NOTES --------
The capture point will be represented with a flag and a player must touch the flag to capture it.
The name of the location of the capturepoint will be retrieved from either the trigger_location or the nearest target_location.
*/

//---------------------------------------------------------------------------------
// Bomb Mode!
//---------------------------------------------------------------------------------

/*QUAKED info_ut_bombsite (0 .8 1) (-16 -16 -24) (16 16 32)
-------- NOTES --------
This entity cannot hover, it must be placed directly on the surface that you wish the bomb to be placed on.
NEW in 3.2: Bomb plant range is locked to 64 units. Once the bomb is planted, it will snap to the center of the entity for easier diffusing.
WARNING: You MUST have 2 bomb sites per map or the map will crash upon loading into bomb mode.
*/

//	*	*	*	*	*	*	*	*

//=================================================================================
// Misc entities (Everything that didn't fit in anywhere else)
//=================================================================================

//	*	*	*	*	*	*	*	*

/*QUAKED ut_mrsentry (1 1 0) (-16 -16 -24) (16 16 32)
Spawn location for the CTF Spawn Room Sentry Cannon.
-------- KEYS --------
team : Team that Mr. Sentry belongs to. Will eliminate opposing team members within range (SEE NOTES). ("red" or "blue")
angle : Inital and idle angle for the turret. Generally point this at or near the Spawn Room doors for highest effectiveness.
gametype : gametypes to have Mr. Sentry appear in, list types in this format: 01234
-------- NOTES --------
Mr. Sentry is designed to be used in conjunction with CTF Spawn Rooms (see the Notes on the func_door entity) to prevent enemy team players from surviving if they enter the opposing team's spawn room. Even though the properly set up doors will generally prevent this, Mr. Sentry also has one other function. It will kill any Flag Carrier that enters it's range no matter what team that player is on. This will prevent players from grabbing the flag and retreating the the complete safety of their Spawn Room and waiting out the rest of the map time with the flag.

For the anti-flag-camp feature to work properly, the entire spawn room must be enclosed with a 'nodrop' (a brush with the 'nodrop' texture on all sides). If this brush (or group of brushes) isn't placed, then Mr. Sentry will kill the Flag Carrier, and the flag will remain at that location, which is bad.
*/


//====================
// Cube Map Probe
//====================

/*QUAKED cubemap_probe (1.0 0.5 0.8)(-8 -8 -8) (8 8 8)
Location of camera for cube map for specular mapping. Place at head height in the centre of an area. There are no keys.
*/

//      *       *       *       *        *       *       *       *

//====================
// Trigger Gravity
//====================

/*QUAKED trigger_gravity (1.0 0 1.0)(-12 -12 -12) (12 12 12)
Any player that touches this will change his gravity

-------- KEYS --------
gravity: fraction of gravity to use. (Default 1.0)
target : this points to the entity to activate.
targetname : activating trigger points to this.
notfree : when set to 1, entity will not spawn in "Free for all" and "Tournament" modes.
notteam : when set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
notsingle : when set to 1, entity will not spawn in Single Player mode (bot play mode).
*/

//      *       *       *       *        *       *       *       *

//====================
// Jump Mode
//====================

/*QUAKED ut_jumpstart (0.5 0.0 0.7)(-16 -16 -16) (16 16 16) 
Start line for jump maps.Attach this entity to a trigger where you want the timer to be tripped at the beginning of the jump route. 
-------- KEYS --------
targetname : activating trigger points to this.
notfree : when set to 1, entity will not spawn in "Free for all" and "LMS" modes.
notteam : when set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
name : Name of the way that the gamer will see when he crosses the start line.
type : Way number for alternate routes.
*/

/*QUAKED ut_jumpstop (1.0 0.0 0.0)(-16 -16 -16) (16 16 16) 
Stop line for jump maps. Attach this entity to a trigger where you want the timer to stop at the end of the jump route.
-------- KEYS --------
targetname : activating trigger points to this.
notfree : when set to 1, entity will not spawn in "Free for all" and "LMS" modes.
notteam : when set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
name : Name of the way that the gamer will see when he crosses the start line.
type : Way number for alternate routes.
*/

/*QUAKED ut_jumpcancel (1.0 1.0 0.0)(-16 -16 -16) (16 16 16)
Timer cancelation for jump maps. Attach this entity to a trigger where you want the timer to cancel timing a particular route eg: a by-pass for beginners around a difficult jump.
-------- KEYS --------
name : Name of the way that the gamer will see when he cancels the run.
type : Way number for alternate routes. Should match the type number of the route you want to cancel or 0 to cancel all routes.
targetname : activating trigger points to this.
notfree : when set to 1, entity will not spawn in "Free for all" and "LMS" modes.
notteam : when set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
color: If not used, it will default to white.
Valid color numbers are:
0 Black
1 Red
2 Green
3 Yellow
4 Blue
5 Cyan
6 Magenta
7 White
*/

//	*	*	*	*	*	*	*	*

//=============================================================================
// WORLDSPAWN ENTITY
//=============================================================================

//	*	*	*	*	*	*	*	*

/*QUAKED worldspawn (0 0 0) ?
Only used for the world.
-------- KEYS --------
message : Text to print at user logon. Used for name of level.
music : Path/name of looping .wav file used for level's music (e.g. music/sonic5.wav).
_ambient OR ambient : Adds a constant value to overall lighting. Use is not recommended. Ambient light will have a tendency to flatten out variations in light and shade.
_color : RGB value for ambient light color (default 0 0 0).
gravity : Gravity of level (default 800 = normal gravity).
enablePrecip : 0 - (default) none, 1 - rain, 2 - snow
precipAmount : up to 1024, number of drops/flakes (256 is good)
gridsize : Granularity of the lightgrid created by q3map. Value is three integers separated by spaces, representing number of units between grid points in X Y Z. Default gridsize value is 128 128 256. Use larger powers of 2 to reduce BSP size and compile time on very large maps.
_blocksize : Q3Map always splits the BSP tree along the planes X=_blocksize*n and Y=_blocksize*n. Increase the blocksize using larger powers of 2 to reduce compile times on very large maps with a low structural brush density (default 1024 1024 0, 0 values = disable). 
-------- Q3MAP2 KEYS --------
_floodlight : RGB distance intensity eg; .8 .8 .8 512 32. Adds radiosity lighting.
lightdensity : New key that allows the mapper to brighten the textures more than is possible normally. You can test this in game by starting a devmap and using /r_lightdensity 1.3 (or whatever value you like).
_color : RGB value for ambient light color.
globalfog : RGB density eg: .25 .25 0 0.00001 Adds a soft global haze. Not to be used for convential fog. This can be tested in game by starting a devmap and using r_fogdensity "0.0001" r_fog_r ".25" r_fog_g ".25" r_fog_b ".25".
_minlight : Minimum light value, levelwide. Uses the _color key to set color. Does not add, unlike ambient.
_minvertexlight : Minimum vertex lighting, levelwide.
_mingridlight : Minimum lightgrid (dynamic entity lighting) levelwide.
_keeplights : Keep light entities in the BSP. Normally stripped out by the BSP process and read from the .map file by the lighting phase.
_noshadersun : Ignore q3map_sun/sun directives in sky shaders and ONLY use entity sun lights.
_farplanedist : Limit on how many units the vis phase of compilation can see. Used in combination with level-wide fog, it can help reduce r_speeds on large, open maps.
_foghull : Shader to use for "fog hull". Foghull shader should be a sky shader. Omit the "textures/" prefix.
_lightmapscale : Floating point value scales the resolution of lightmaps on brushes/patches in the world. Can be overridden in func_group (or other entities) (default 1.0).
_cs OR _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.
_rs OR _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.
_celshader : Sets the cel shader used for this geometry. Note: Omit the "textures/" prefix. Overridable in entities.
_styleNalphaGen : *IMPORTANT* Replace "N" in the key "_styleNalphaGen" with an integer between 1 and 31 as your style index. Values takes standard shader waveform functions (e.g. wave sin 0.5 0.3 0.25 1.5)
_styleNrgbGen : *IMPORTANT* Replace "N" in the key "_styleNrgbGen" with an integer between 1 and 31 as your style index. Values take standard shader waveform functions (e.g. wave sin 0.5 0.3 0.25 1.5)
-------- Q3MAP2 TERRAIN KEYS --------
_indexmap OR alphamap : Path/name for the art file used to guide the mapping of textures on the terrain surface.
_layers OR layers : Integer value denotes number of unique root shaders that will be used on the terrain.
_shader OR shader : Path to the metashader used to assign textures to the terrain entity. Note: Omit the "textures/" prefix.
*/
