//=================================================================================
// Urban Terror beta3.2 entities.def for QERadiant
//=================================================================================

// This file contains the entities for use in Urban Terror maps. They will only work
// with the Urban Terror mod.



//=================================================================================
// 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)

-------- 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.*/
*/

//	*	*	*	*	*	*	*	*

/*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 (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).

-------- 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
Single Player 1
Team Deathmatch 3
Team Survivor 4
Assasins 5
Capture And Hold 6
Capture The Flag 7
Bomb 8
*/

//	*	*	*	*	*	*	*	*

/*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.  Use the model2 key to create things like breakable pots -- see Wetwired's map "ricochet" for an example.
 - 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
Single Player 1
Team Deathmatch 3
Team Survivor 4
Assasins 5
Capture And Hold 6
Capture The Flag 7
Bomb 8
*/

//	*	*	*	*	*	*	*	*

//=================================================================================
// 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_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.
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
- 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).
*/

//	*	*	*	*	*	*	*	*

//=================================================================================
// 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: "4, 5, 6"

-------- NOTES --------
Urban Terror gametype mappings are:
Free For All 0
Single Player 1
Team Deathmatch 3
Team Survivor 4
Assasins 5
Capture And Hold 6
Capture The Flag 7
Bomb 8

You'd 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,4,5,6,7" (all teamplays) and then assign all
the eight a group id of "1" then you might do another eight and make their group id all "2". UT will choose a
"group" at the begining of a round and spawn all members of "team" there. Normally you'd have at few groups
of spawns so you could have lots of potential team starting positions.
*/

//	*	*	*	*	*	*	*	*

/*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 .2 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 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 (eg. music/sonic5.wav).
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.
gravity : gravity of level (default is normal gravity: 800).
enablePrecip : 0 - (default) none, 1 - rain, 2 - snow
precipAmount : up to 1024, number of drops/flakes (256 is good)
*/

//	*	*	*	*	*	*	*	*

/*QUAKED trigger_location (1 1 0) ? - - 
Speicifes 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 ut_mrsentry (1 .5 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.
*/

//	*	*	*	*	*	*	*	*

/*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 (eg. sound/world/growl1.wav - see Notes).
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
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).
-------- 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).
*/

//	*	*	*	*	*	*	*	*
