///
/// et_entities.def, Update jan 2004
///

/*QUAKED script_multiplayer (1.0 0.25 1.0) (-8 -8 -8) (8 8 8)
-------- KEYS --------
"scriptname" game_manager  - always use this scriptname
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
This is used for scripting.  Entity not displayed in game.
You MUST have one, and one only, of these in your map for it to function correctly.
*/

/*QUAKED worldspawn (0 0 0) ? NO_GT_WOLF NO_STOPWATCH - NO_LMS
-------- KEYS --------
"music" Music wav file
"gravity" 800 is default gravity
"message" - This text will not appear ingame in ET
"ambient" Ambient light value (must use '_color')
"_color" Ambient light color (must be used with 'ambient')
"sun" Shader to use for 'sun' image
"_blocksize" q3map always splits the BSP tree along the planes X=blocksize*n and Y=_blocksize*n. Default _blocksize value is 1024. Increase the _blocksize using larger powers of 2 to reduce compile times on very large maps with low structural brush density.
"gridsize" granularity of the light grid created by q3map. Values of three intergers by spaces, represents number of units between grid points in X, Y and Z. Default gridsize is 128 128 256. Use larger powers of 2 to reduce BSP size and compile time on very large maps.
"fogclip" Uses vis to exclude stuff beyond the specified distance. q3map support varies.
"mapcoordsmins"  Top left corner coordinate. Example "-256 256".
"mapcoordsmaxs"  Lower right corner coordinate. Example "256 -256". Both mapcoordsmins and mapcoordsmaxs must be set for command map and auto map to work properly.
-------- SPAWNFLAGS --------
NO_GT_WOLF regular wolf cannot be played on this map
NO_STOPWATCH stopwatch cannot be played on this map
NO_LMS lms cannot be played on this map
-------- NOTES --------
Every map should have exactly one worldspawn.
*/

/*QUAKED info_player_deathmatch (1 0 1) (-18 -18 -24) (18 18 48)
-------- KEYS --------
"angle" specs will face this direction when spawning here
"angles" specs will face this direction when spawning here, eg (45 0 30)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Spectators spawnpoint, always include one in a map. 
*/

/*QUAKED info_player_intermission (1 0 1) (-16 -16 -24) (16 16 32) AXIS ALLIED
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
AXIS This intermission point will be used if Axis win the match
ALLIED This intermission point will be used if Allies win the match
-------- NOTES --------
The intermission will be viewed from this point.
Target an info_notnull for the view direction.
*/

/*QUAKED info_null (0 0.5 0) (-4 -4 -4) (4 4 4)
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Used as a positional target for calculations in the utilities (spotlights, etc), but removed during gameplay.
*/

/*QUAKED info_notnull (0 0.5 0) (-4 -4 -4) (4 4 4)
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Used as a positional target for in-game calculation. eg aiming smoke 
*/

/*QUAKED info_notnull_big (0 0.5 0) (-32 -32 -32) (32 32 32)
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Used as a positional target for in-game calculation. eg aiming smoke 
*/

/*QUAKED func_group (0 .5 .8) ?
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Used to group brushes together just for editor convenience.  They are turned into normal brushes by the utilities.
*/

/*QUAKED light (0 1 0) (-8 -8 -8) (8 8 8) NONLINEAR ANGLE - - Q3MAP_NON-DYNAMIC
-------- KEYS --------
"light" overrides the default 300 intensity.
"radius" overrides the default 64 unit radius of a spotlight at the target point.
"fade" falloff/radius adjustment value. multiply the run of the slope by "fade" (1.0f default) (only valid for "Linear" lights) (wolf)
-------- SPAWNFLAGS --------
NONLINEAR checkbox gives inverse square falloff instead of linear 
Q3MAP_NON-DYNAMIC specifies that this light should not contribute to the world's 'light grid' and therefore will not light dynamic models in the game.(wolf)
ANGLE adds light:surface angle calculations (only valid for "Linear" lights) (wolf)
-------- NOTES --------
Non-displayed light.
Lights pointed at a target will be spotlights.
*/

/*QUAKED lightJunior (0 0.7 0.3) (-8 -8 -8) (8 8 8) NONLINEAR ANGLE NEGATIVE_SPOT NEGATIVE_POINT
-------- KEYS --------
"light" overrides the default 300 intensity.
"radius" overrides the default 64 unit radius of a spotlight at the target point.
"fade" falloff/radius adjustment value. multiply the run of the slope by "fade" (1.0f default) (only valid for "Linear" lights) (wolf)
-------- SPAWNFLAGS --------
NONLINEAR checkbox gives inverse square falloff instead of linear 
ANGLE adds light:surface angle calculations (only valid for "Linear" lights) (wolf)
-------- NOTES --------
Non-displayed light that only affects dynamic game models, but does not contribute to lightmaps
Lights pointed at a target will be spotlights.
*/

/*QUAKED misc_constructiblemarker (1 0.85 0) ?
-------- KEYS --------
"model2" optional model
"angles" angles for the model
"skin" optional .skin file to use for the model
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
The entity has to target the trigger_objective_info entity
belonging to the constructible.
Not used any more in the game. 
If used will behave like a func_static entity.
*/

/*QUAKED misc_model (1 0 0) (-16 -16 -16) (16 16 16) - SOLID FORCEMETA
-------- KEYS -------- 
"angle" sets the angle to the degree (0-360) 
"angles" set model rotation on all axis (0 90 360) 
"model"   arbitrary .md3 file to display 
"modelscale" scale multiplier (defaults to 1x) 
"modelscale_vec" scale multiplier (defaults to 1 1 1, scales each axis as requested) 
"modelscale_vec" Set scale per-axis.  Overrides "modelscale", so if you have both, the "modelscale" is ignored 
"_remap" this will force the use of another file for the models skin, keyvalues like this: "*;models/mapobjects/props_sd/snowrock_clip" 
"target" target another entitiy to include this entity into that entity (see notes)
-------- SPAWNFLAGS -------- 
SOLID - will make it solid (read note)
FORCEMETA - needs Q3Map2 by ydnar to work, forcemeta/lightmapped unless explicitly set as vertex lit in their shader(s). If u dont know what this is, leave it.
-------- NOTES -------- 
Model that will be compiled into the map.

A complex model with SOLID spawnflag may create (to) complex clipping and this will cause trouble, use with care.

You may target another entity with this entity (eg a script_mover). If so, this entity will be part of the targeted entity. It will move, rotate, hurt, blow etc accordingly. SOLID spawnflag works together with this feature. Both the model and the targeted entity will appear ingame. Any debris will spawn at the brush origin.
*/

/*QUAKED misc_gamemodel (1 0 0) (-16 -16 -16) (16 16 16) ORIENT_LOD START_ANIMATE
-------- KEYS --------
"model"	arbitrary .md3 file to display
"modelscale" scale multiplier (defaults to 1x, and scales uniformly)
"modelscale_vec" scale multiplier (defaults to 1 1 1, scales each axis as requested)
"skin" .skin file used to define shaders for model
"trunk" diameter of solid core (used for trace visibility and collision (not ai pathing))
"trunkheight" height of trunk
"frames" number of animation frames
"start" frame to start on
"fps" fps to animate with
"modelscale_vec" Set scale per-axis. Overrides "modelscale", so if you have both, the "modelscale" is ignored
-------- SPAWNFLAGS --------
ORIENT_LOD the entity will yaw towards the player when the LOD switches (digibob: non-functional?)
START_ANIMATE the entity will spawn animating
-------- NOTES --------
md3 placed in the game at runtime (rather than in the bsp)
*/

/*QUAKED misc_vis_dummy (1 .5 0) (-8 -8 -8) (8 8 8) 
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
If this entity is "visible" (in player's PVS) then it's target is forced to be active whether it is in the player's PVS or not.
This entity itself is never visible or transmitted to clients.
For safety, you should have each dummy only point at one entity (however, it's okay to have many dummies pointing at one entity)
*/

/*QUAKED misc_vis_dummy_multiple (1 .5 0) (-8 -8 -8) (8 8 8) 
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
If this entity is "visible" (in player's PVS) then it's target is forced to be active whether it is in the player's PVS or not.
This entity itself is never visible or transmitted to clients.
This entity was created to have multiple speakers targeting it
*/

/*QUAKED shooter_mortar (1 0 0) (-16 -16 -16) (16 16 16) SMOKE_FX FLASH_FX
-------- KEYS --------
"random" the number of degrees of deviance from the target. (1.0 default)
-------- SPAWNFLAGS --------
LAUNCH_FX a smoke effect will play at the origin of this entity.
FLASH_FX a muzzle flash effect will play at the origin of this entity.
-------- NOTES --------
Lobs a mortar so that it will pass through the info_notnull targeted by this entity
*/

/*QUAKED shooter_rocket (1 0 0) (-16 -16 -16) (16 16 16)
-------- KEYS --------
"random" the number of degrees of deviance from the target. (1.0 default)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Fires (a panzerfaust) at either the target or the current direction.
*/

///*QUAKED shooter_grenade (1 0 0) (-16 -16 -16) (16 16 16)
//-------- KEYS --------
//"random" is the number of degrees of deviance from the target. (1.0 default)
//-------- SPAWNFLAGS --------
//(none)
//-------- NOTES --------
//Fires at either the target or the current direction.
//*/

/*QUAKED corona (0 1 0) (-4 -4 -4) (4 4 4) START_OFF
-------- KEYS --------
"scale" will designate a multiplier to the default size.  (so 2.0 is 2xdefault size, 0.5 is half)
-------- SPAWNFLAGS --------
START_OFF starts non-visible
-------- NOTES --------
Use color picker to set color or key "color".  values are 0.0-1.0 for each color (rgb).
*/

/*QUAKED dlight (0 1 0) (-12 -12 -12) (12 12 12) FORCEACTIVE STARTOFF ONETIME
-------- KEYS --------
"style" value is an int from 1-19 that contains a pre-defined 'flicker' string.
"stylestring" set your own 'flicker' string.  (ex. "klmnmlk"). NOTE: this should be all lowercase
"offset" change the initial index in a style string.  So val of 3 in the above example would start this light at 'N'.  (used to get dlights using the same style out of sync).
"atten" offset from the alpha values of the stylestring.  stylestring of "ddeeffzz" with an atten of -1 would result in "ccddeeyy"
"shader" name of shader to apply
"sound" sound to loop every cycle (this actually just plays the sound at the beginning of each cycle)
-------- SPAWNFLAGS --------
FORCEACTIVE	toggle makes sure this light stays alive in a map even if the user has r_dynamiclight set to 0.
STARTOFF means the dlight doesn't spawn in until ent is triggered
ONETIME	when the dlight is triggered, it will play through it's cycle once, then shut down until triggered again
-------- NOTES --------
Stylestring characters run at 10 cps in the game. (meaning the alphabet, at 24 characters, would take 2.4 seconds to cycle)
Use color picker to set color or key "color".  values are 0.0-1.0 for each color (rgb).

styles:
1 - "mmnmmommommnonmmonqnmmo"
2 - "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba"
3 - "mmmmmaaaaammmmmaaaaaabcdefgabcdefg"
4 - "ma"
5 - "jklmnopqrstuvwxyzyxwvutsrqponmlkj"
6 - "nmonqnmomnmomomono"
7 - "mmmaaaabcdefgmmmmaaaammmaamm"
8 - "aaaaaaaazzzzzzzz"
9 - "mmamammmmammamamaaamammma"
10 - "abcdefghijklmnopqrrqponmlkjihgfedcba"
11 - "mmnommomhkmmomnonmmonqnmmo"
12 - "kmamaamakmmmaakmamakmakmmmma"
13 - "kmmmakakmmaaamammamkmamakmmmma"
14 - "mmnnoonnmmmmmmmmmnmmmmnonmmmmmmm"
15 - "mmmmnonmmmmnmmmmmnonmmmmmnmmmmmmm"
16 - "zzzzzzzzaaaaaaaa"
17 - "zzzzzzzzaaaaaaaaaaaaaaaa"
18 - "aaaaaaaazzzzzzzzaaaaaaaa"
19 - "aaaaaaaaaaaaaaaazzzzzzzz"
*/

/*QUAKED misc_mg42 (1 0 0) (-16 -16 -24) (16 16 24) HIGH NOTRIPOD
-------- KEYS --------
"harc" horizonal fire arc, default 115
"varc" vertical fire arc, default 45
"health" how much damage can it take, default 50
"damage" determines how much the weapon will inflict if a non player uses it
"accuracy" all guns are 100% accurate an entry of 0.5 would make it 50% 
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Emplaced MG42 weapon.
*/

/*QUAKED func_door (0 .5 .8) ? START_OPEN TOGGLE CRUSHER TOUCH
-------- KEYS --------
"key" -1 for locked, 0 for open, default 0, -1 if door is targeted
"model2" .md3 model to also draw
"angle" determines the opening direction
"target" fires target when opened and closed
"targetname" target the door to open it from a distance
"speed" movement speed (100 default)
"closespeed" optional different movement speed for door closing
"wait" wait before returning (3 default, -1 = never return)
"lip" lip remaining at end of move (8 default)
"dmg" damage to inflict when blocked (2 default)
"color" constantLight color
"light" constantLight radius
"health" if set, the door will open when shot/ hurt
"team" team name.  other doors with same team name will open/close in syncronicity
"type" use sounds based on construction of door
"allowteams" used to enable a covop with uniform to pass through a one-team-only door
-------- SPAWNFLAGS --------
START_OPEN the door to moves 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 doors).
TOGGLE - requires beeing triggered (by scripting) before closing 
CRUSHER - will hurt a blocking player and keep trying to move
TOUCH - opens when touched 
-------- NOTES --------
if targeted, key is in most cases by default -1 (locked)

allowteams: possible values are:
"axis" - only axis
"allies" - only allies
"axis,cvops" - axis and cvops with uniforms
"allies,cvops" - allies and cvops with uniforms

sound types:
     0 - nosound (default)
     2 - stone
     4 - wood
     5 - iron/jail
     6 - portcullis

*/


/*QUAKED func_plat (0 .5 .8) ?
Platform which moves up/ down when stepped on
-------- KEYS --------
"lip" default 8, protrusion above rest position
"height" total height of movement, defaults to model height (+/- for up/down)
"speed"	overrides default 200.
"dmg" overrides default 2
"model2" .md3 model to also draw
"color"	constantLight color
"light"	constantLight radius
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Plats are always drawn in the extended position so they will light correctly.
*/

/*QUAKED path_corner (.5 .3 0) (-8 -8 -8) (8 8 8)
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Train path corners.
*/

/*QUAKED path_corner_2 (.5 .3 0) (-8 -8 -8) (8 8 8)
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Train path corners. 
This version will not contribute towards ingame entity count.
*/

/*QUAKED func_static (0 .5 .8) ? START_INVIS PAIN
A brush model that just sits there, doing nothing. 
Can be used for conditional walls and models.
-------- KEYS --------
"model2" .md3 model to also draw
"color"	constantLight color
"light"	constantLight radius
"targetname" If targeted, it will toggle existance when triggered
"target" may fire targets when hurt, see PAIN
"delay" time, in seconds, before targets can be fired again when using PAIN default 1
"health" if set (and _not_ pain spawnflag) damage will turn the entity invisible, when pain flag is set, default health is 9999

-------- SPAWNFLAGS --------
START_INVIS will start the entity as non-existant, if targeted, it will toggle existance when triggered
PAIN  - will fire its targets when hurt/ pain
-------- NOTES --------
When using pain you will need to specify the delay time

After death is called, targets are not triggered when hurt. Health can be restored with "constructible_health" scriptcommand in the "pain" script function to avoid this.
*/

/*QUAKED func_rotating (0 .5 .8) ? START_ON STARTINVIS X_AXIS Y_AXIS 
-------- KEYS --------
"model2" .md3 model to also draw
"speed" determines how fast it moves; default value is 100.
"dmg" damage to inflict when blocked (2 default)
"color"	constantLight color
"light"	constantLight radius
-------- SPAWNFLAGS --------
X_AXIS rotate around the x-axis
Y_AXIS rotate around the y-axis
STARTINVIS Spawn triggered 
START_ON Initially turning upon start of map
-------- NOTES --------
You need to have an origin brush as part of this entity.
The center of that brush will be the point around which it is rotated.
It will rotate around the Z axis by default.
*/

/*QUAKED func_bobbing (0 .5 .8) ? X_AXIS Y_AXIS
-------- KEYS --------
"model2" .md3 model to also draw
"height" amplitude of bob (32 default)
"speed"	seconds to complete a bob cycle (4 default)
"phase"	the 0.0 to 1.0 offset in the cycle to start at
"dmg" damage to inflict when blocked (2 default)
"color"	constantLight color
"light"	constantLight radius
-------- SPAWNFLAGS --------
X_AXIS bobs on the x-axis
Y_AXIS bobs on the y-axis
-------- NOTES --------
Normally bobs on the Z axis
*/

/*QUAKED func_pendulum (0 .5 .8) ?
-------- KEYS --------
"model2" .md3 model to also draw
"speed"	the number of degrees each way the pendulum swings, (30 default)
"phase"	the 0.0 to 1.0 offset in the cycle to start at
"dmg" damage to inflict when blocked (2 default)
"color"	constantLight color
"light"	constantLight radius
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
You need to have an origin brush as part of this entity.
Pendulums always swing north / south on unrotated models.  Add an angles field to the model to allow rotation in other directions.
Pendulum frequency is a physical constant based on the length of the beam and gravity.
*/


/*QUAKED func_door_rotating (0 .5 .8) ? - TOGGLE X_AXIS Y_AXIS REVERSE FORCE STAYOPEN
Door rotating on an axis.
-------- KEYS --------
"key" -1 for locked, 0 for open. default 0, -1 if door is targeted
"model2" .md3 model to also draw
"degrees" determines how many degrees it will turn (90 default)
"speed" movement speed (100 default)
"closespeed" optional different movement speed for door closing
"time" how many milliseconds it will take to open 1 sec = 1000
"dmg" damage to inflict when blocked (2 default)
"color" constantLight color
"light" constantLight radius
"type" use sounds based on construction of door:
"team" team name.  other doors with same team name will open/close in syncronicity
"allowteams" used to enable a covop with uniform to pass through a one-team-only door
"target" will fire its targets when opened and closed
"targetname" target door to open it from a distance
-------- SPAWNFLAGS --------
TOGGLE - requires beeing triggered (by scripting) before closing
FORCE - door opens in one direction only (set with +/- on degrees)
REVERSE - use with team function to have doors open in the same direction
STAYOPEN - never closes after opened
-------- NOTES --------
You need to have an origin brush as part of this entity.
The center of that brush will be the point around which it is rotated. It will rotate around the Z axis by default.  You can check either the X_AXIS or Y_AXIS box to change that (only one axis allowed. If both X and Y are checked, the default of Z will be used).

if targeted, key is in most cases by default -1 (locked)

allowteams: possible values are:
"axis" - only axis
"allies" - only allies
"axis,cvops" - axis and cvops with uniforms
"allies,cvops" - allies and cvops with uniforms

sound types:
     0 - nosound (default)
     2 - stone
     4 - wood
     5 - iron/jail
     6 - portcullis

*/

/*QUAKED target_script_trigger (1 .7 .2) (-8 -8 -8) (8 8 8)
-------- KEYS --------
"target"  The name of the trigger
"scriptname" Name of the script routine to use
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
must have a target
when used it will run the trigger event relating to it's target within it's routine
*/

/*QUAKED target_kill (.5 .5 .5) (-8 -8 -8) (8 8 8) KILL_ACTIVATOR
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
KILL_ACTIVATOR - also kill activating player
-------- NOTES --------
Kills all targets when activated
*/

/*QUAKED target_effect (0 .5 .8) (-6 -6 -6) (6 6 6) TNT EXPLODE SMOKE - - - -
-------- KEYS --------
"mass" defaults to 15.  This determines how much debris is emitted when it explodes.  (number of pieces)
"dmg" defaults to 0.  damage radius blast when triggered
"type" rubble mdel type
-------- SPAWNFLAGS --------
TNT Big explosion when triggered
EXPLODE explosion when triggered
SMOKE Produces smoke when triggered
-------- NOTES --------
rubble types:
	"glass"
	"wood" (default)
	"metal"
	"gibs"
	"brick"
	"rock"
*/

/*QUAKED func_explosive (0 .5 .8) ? START_INVIS TOUCHABLE USESHADER LOWGRAV - TANK
-------- KEYS --------
"model2" optional md3 to draw over the solid clip brush
"wait" how long (in seconds) to leave the model after it's 'dead'.  '-1' leaves forever.
"dmg" how much radius damage should be done, defaults to 0
"health" defaults to 100.  If health is set to '0' the brush will not be shootable.
"targetname" if set, no touch field will be spawned and a remote button or trigger field triggers the explosion.
"scriptname" script whose death is triggered when the object is destroyed
"type" type of debris ("glass", "wood", "metal", "gibs", "brick", "rock", "fabric") default is "wood"
"mass" defaults to 75.  This determines how much debris is emitted when it explodes.  You get one large chunk per 100 of mass (up to 8) and one small chunk per 25 of mass (up to 16).  So 800 gives the most.
"noise" sound to play when triggered.  The explosive will default to a sound that matches it's 'type'.  Use the sound name "nosound" (case in-sensitive) if you want it silent.
-------- SPAWNFLAGS --------
TOUCHABLE means automatic use on player contact.
USESHADER will apply the shader used on the brush model to the debris.
LOWGRAV specifies that the debris will /always/ fall slowly
START_INVIS spawn trigger
TANK Will show as a tank on a command map if linked to by a trigger_objective_info
-------- NOTES --------
the default sounds are:
  "wood"	- "sound/world/boardbreak.wav"
  "glass"	- "sound/world/glassbreak.wav"
  "metal"	- "sound/world/metalbreak.wav"
  "gibs"	- "sound/player/gibsplit1.wav"
  "brick"	- "sound/world/brickfall.wav"
  "stone"	- "sound/world/stonefall.wav"

If you use model2, you must have an origin brush in the explosive with the center of the origin at the origin of the model
If you want an explosion, set dmg and it will do a radius explosion of that amount at the center of the bursh.
*/

/*QUAKED func_invisible_user (.3 .5 .8) ? STARTOFF - NO_OFF_NOISE NOT_KICKABLE
-------- KEYS --------
"delay" time (in seconds) before it can be used again
"offnoise" specifies an alternate sound
"cursorhint" overrides the auto-location of targeted entity (list below)
-------- SPAWNFLAGS --------
NO_OFF_NOISE no sound will play if the invis_user is used when 'off'
NOT_KICKABLE kicking doesn't fire, only player activating
STARTOFF isn't functional till toggled
-------- NOTES --------
when activated will use its target

cursorhint types:
	HINT_NONE
	HINT_ACTIVATE
	HINT_CHAIR - gives "not useable" icon
	HINT_DOOR
	HINT_DOOR_LOCKED (& HINT_LOCKPICK)
	HINT_BREAKABLE
	HINT_LADDER
	HINT_BUILD (& HINT_CONSTRUCTIBLE)
	HINT_TANK

	HINT_SATCHELCHARGE
	HINT_DYNAMITE
	HINT_DISARM

	HINT_REVIVE
	HINT_WATER
	HINT_KNIFE
	HINT_UNIFORM
	HINT_LANDMINE

When used, calls standard scripting functions:
activate allies - if used by allies
activate axis - if used by axis
activate - when used

Probably outdated info:
Normally when a player 'activates' this entity, if the entity has been turned 'off' (by a scripted command) you will hear a sound to indicate that you cannot activate the user.
The sound defaults to "sound/movers/invis_user_off.wav"
*/

/*QUAKED props_chair (.8 .6 .2) (-16 -16 0) (16 16 32)
-------- KEYS --------
"health" default 10
"wait" default 5, how many shards to spawn ( try not to exceed 20 )
"shard" type of shard to spawn
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
shard types:
	0 = glass
	1 = wood
	2 = metal
	3 = ceramic
*/

/*QUAKED props_skyportal (.6 .7 .7) (-8 -8 0) (8 8 16)
-------- KEYS --------
"fov" for the skybox default is 90
"fogcolor" (r g b) (values 0.0-1.0)
"fognear" distance from entity to start fogging
"fogfar" distance from entity that fog is opaque
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Allows you to place a static "far away" looking scene around the map.
*/


/*QUAKED script_mover (0.5 0.25 1.0) ? TRIGGERSPAWN SOLID EXPLOSIVEDAMAGEONLY RESURECTABLE COMPASS ALLIED AXIS MOUNTED_GUN
-------- KEYS --------
"modelscale" Scale multiplier (defaults to 1, and scales uniformly)
"modelscale_vec" Set scale per-axis.  Overrides "modelscale", so if you have both, the "modelscale" is ignored
"model2" optional md3 to draw over the solid clip brush
"scriptname" name used for scripting purposes
"health" optionally make this entity damagable
"tagent" target entity a mounted gun will be attached to
"gun" variable gun type, only other option other than default is "browning"
-------- SPAWNFLAGS --------
TRIGGERSPAWN wont spawn until activated
SOLID non-solid unless set
EXPLOSIVEDAMAGEONLY will only take damage from explosive weapons
RESURECTABLE will not disappear when fully damaged
COMPASS shows up on compass
ALLIED only axis can damage
AXIS only allies can damage
MOUNTED_GUN has a mounted gun attached to it
-------- NOTES --------
Scripted brush entity. A simplified means of moving brushes around based on events.

Health needs to be set for MOUNTED_GUN to work
The health can be updated via scripting with the constructible_health command. (regardless of beeing constructible or not)
Triggering a dead script_mover with resurrectable spawnflag will reset the health.

*/

/*QUAKED target_delay (1 1 0) (-8 -8 -8) (8 8 8)
-------- KEYS --------
"wait" seconds to pause before firing targets.
"random" delay variance, total delay = delay +/- random seconds
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Fires off targets after a delay.
*/

/*QUAKED target_speaker (1 0 0) (-8 -8 -8) (8 8 8) LOOPED_ON LOOPED_OFF GLOBAL ACTIVATOR VIS_MULTIPLE NO_PVS
-------- KEYS --------
"noise"	wav file to play
"wait" Seconds between auto triggerings, 0 = don't auto trigger
"random" wait variance, default is 0
"volume" allows variance of the volume of the speaker, default is 255 (limit is 65535, but digital distortion will cut in long before then)
-------- SPAWNFLAGS --------
NO_PVS - this sound will not turn off when not in the player's PVS
-------- NOTES --------
A global sound will play full volume throughout the level.
Activator sounds will play on the player that activated the target.
Global and activator sounds can't be combined with looping.
Normal sounds play each time the target is used.
Looped sounds will be toggled by use functions.
Multiple identical looping sounds will just increase volume without any speed cost.
*/

/*QUAKED target_fog (1 1 0) (-8 -8 -8) (8 8 8)
-------- KEYS --------
"distance" sets fog distance.  Use value '0' to give control back to the game (and use the fog values specified in the sky shader if present)
"near" is fog start distance when using distance fog
"time" time it takes to change fog to new value.  default time is 1 sec
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
color picker chooses color of fog
distance value sets the type of fog.  values > 1 are distance fog (ex. 2048), values < 1 are density fog (ex. .0002)
*/

/*QUAKED target_smoke (1 0 0) (-32 -32 -16) (32 32 16) BLACK WHITE SMOKEON GRAVITY
-------- KEYS --------
"delay" this is the maximum smoke that will show up, default 100ms
"time" time before the smoke disipates, default 5000ms
"duration" time before the smoke starts to alpha, default 2000ms
"start_size" default 24
"end_size" default 96
"wait" the rate at which it will travel up, default 50
"shader" custom shader to use, overrides spawnflags
-------- SPAWNFLAGS --------
BLACK black smoke
WHITE white/grey smoke
SMOKEON starts on
GRAVITY check this to move smoke downwards
-------- NOTES --------
A particle emmiter
target an info_notnull to angle the smoke
*/


/*QUAKED target_relay (1 1 0) (-8 -8 -8) (8 8 8) RED_ONLY BLUE_ONLY RANDOM - - -
Fires its targets.
-------- KEYS -------- 
target and targetname
-------- SPAWNFLAGS -------- 
RED_ONLY - only triggers by axis accepted
BLUE_ONLY - only trigger by allied accepted 
RANDOM - only one of the targets will be fired, not all of them.
-------- NOTES -------- 
(none)
*/ 

/*QUAKED target_rumble (0 0.75 0.8) (-8 -8 -8) (8 8 8) STARTOFF 
-------- KEYS --------
"wait" time the entity will enable rumble effect, default 2
"pitch" value from 1 to 10 default is 5
"yaw" value from 1 to 10 default is 5
"rampup" how much time it will take to reach maximum pitch and yaw in seconds
"rampdown" how long till effect ends after rampup is reached in seconds
"startnoise" startingsound
"noise" the looping sound entity is to make
"endnoise" endsound
"duration" the amount of time the effect is to last ei 1.0 sec 3.6 sec
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Causes clients' views to shake
Will cause an error if triggered again before finished rumbling
*/

/*QUAKED team_CTF_redspawn (1 0 0) (-18 -18 -24) (18 18 48) INVULNERABLE STARTACTIVE
-------- KEYS --------
angle - player faces this direction when spawning
target - fires targets when a player spawns
targetname - may be targeted by a team_WOLF_checkpoint
-------- SPAWNFLAGS --------
INVULNERABE player always spawn invulnerable, so the usage of this flag
is unknown. The official ET maps seem to always set it. 
STARTACTIVE this spawn is active at map start
-------- NOTES --------
ET spawnpoint
If target is set, point spawnpoint toward target activation
*/

/*QUAKED team_CTF_bluespawn (0 0 1) (-18 -18 -24) (18 18 48) INVULNERABLE STARTACTIVE
-------- KEYS --------
angle - player faces this direction when spawning
target - fires targets when a player spawns
targetname - may be targeted by a team_WOLF_checkpoint
-------- SPAWNFLAGS --------
INVULNERABE player always spawn invulnerable, so the usage of this flag
is unknown. The official ET maps seem to always set it. 
STARTACTIVE this spawn is active at map start
-------- NOTES --------
ET spawnpoint
If target is set, point spawnpoint toward target activation
*/


/*QUAKED team_CTF_redflag (1 0 0) (-16 -16 -16) (16 16 16)
Objective which can be picked up.
-------- KEYS --------
"model"		Set model to display in game
"message"	Name of object in game (ex: the Radar Parts)
"scriptname"	name used for scripting purposes
"count"	 number of objects spawned
"targetname" do ->_NOT_<- set this, it will cause problems 
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Used for dual objectives in ET. Only allies can pick this up.
objects picked up here is delivered to a trigger_flagonly_multiple.

This entity will call specific trigger functions in its script routine.
trigger stolen - when the objective is taken
trigger dropped - when the player carrying the objective is killed
trigger returned - when defending team touches the dropped objective
trigger captured - when the objective is delivered to its deliverypoint
*/

/*QUAKED team_CTF_blueflag (0 0 1) (-16 -16 -16) (16 16 16)
Objective which can be picked up.
-------- KEYS --------
"model"		Set model to display in game
"message"	Name of object in game (ex: the Radar Parts)
"scriptname"	name used for scripting purposes
"count"	 number of objects spawned
"targetname" do ->_NOT_<- set this, it will cause problems
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Used for dual objectives in ET. Only axis can pick this up.
objects picked up here is delivered to a trigger_flagonly_multiple.

This entity will call specific trigger functions in its script routine.
trigger stolen - when the objective is taken
trigger dropped - when the player carrying the objective is killed
trigger returned - when defending team touches the dropped objective
trigger captured - when the objective is delivered to its deliverypoint
*/

/*QUAKED team_WOLF_checkpoint (.6 .9 .6) (-16 -16 0) (16 16 128) SPAWNPOINT CP_HOLD AXIS_ONLY ALLIED_ONLY 
This is the flagpole players touch to gain control of a checkpoint, usually connected to forward spawnpoints.
-------- KEYS -------- 
"model"      model to use (will use same animations as flagpole however) 
"scriptname" name of script which contains allied_capture and axis_capture triggers 
-------- SPAWNFLAGS -------- 
SPAWNPOINT - if spawnpoint flag is set, capture will turn on targeted spawnpoints for capture team and turn *off* targeted spawnpoints for opposing team
AXIS_ONLY & ALLIED_ONLY - for building axis or allie only forward spawns, which can be turned off by the opposing team
-------- NOTES -------- 
the CP_HOLD spawnflag is leftover from something unfinished in RTCW, so probably does not do anything

This entity will call specific trigger funtions in its script routine. 
When allies capture, it will call "trigger allied_capture". 
When axis capture, it will call "trigger axis_capture". 

this entity must have a scriptname
*/ 


/*QUAKED team_WOLF_objective (1 1 0.3) (-16 -16 -24) (16 16 32) DEFAULT_AXIS DEFAULT_ALLIES
This is the clickable spawnpoint flags seen on the commandmap
-------- KEYS --------
"description" short text that shows on the commandmap
"targetname" target an info_limbo_camera ast this
-------- SPAWNFLAGS --------
DEFAULT_AXIS This spawn region belongs to the Axis at the start of the map
DEFAULT_ALLIES This spawn region belongs to the Alles at the start of the map
-------- NOTES --------
When active, this will make a player spawn at the team_CTF spawnpoint closest to it.
The description key is also used for 'setautospawn' scripting command
*/

/*QUAKED trigger_multiple (.5 .5 .5) ? AXIS_ONLY ALLIED_ONLY - - SOLDIER_ONLY FIELDOPS_ONLY MEDIC_ONLY ENGINEER_ONLY COVERTOPS_ONLY
-------- KEYS --------
"wait" Seconds between triggerings, 0.5 default, -1 = one time only.
"random" wait variance, default is 0
-------- SPAWNFLAGS --------
AXIS_ONLY only axis may trigger this
ALLIED_ONLY only allies may trigger this
SOLDIER_ONLY only soldiers may trigger this
FIELDOPS_ONLY only fieldops may trigger this
MEDIC_ONLY only medics may trigger this
ENGINEER_ONLY only engineers may trigger this
COVERTOPS_ONLY only covertops may trigger this
-------- NOTES --------
Variable sized repeatable trigger.  Must be targeted at one or more entities.
so, the basic time between firing is a random time between
(wait - random) and (wait + random)
*/

/*QUAKED trigger_always (.5 .5 .5) (-8 -8 -8) (8 8 8)
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
A trigger which fires at map start, redundant through script usage.
*/

/*QUAKED target_push (.5 .5 .5) (-8 -8 -8) (8 8 8) BOUNCEPAD
-------- KEYS --------
"speed"	defaults to 1000
-------- SPAWNFLAGS --------
BOUNCEPAD play bounce noise instead of windfly
-------- NOTES --------
Pushes the activator in the direction.of angle, or towards a target apex.
*/

/*QUAKED trigger_hurt (.5 .5 .5) ? START_OFF - SILENT NO_PROTECTION SLOW ONCE
-------- KEYS --------
"dmg" default 5
"life"	time this brush will exist if value is 0 will live for ever i.e. 0.5sec 2sec default 0
-------- SPAWNFLAGS --------
SILENT		supresses playing the sound
SLOW			changes the damage rate to once per second
NO_PROTECTION	*nothing* stops the damage
-------- NOTES --------
Any entity that touches this will be hurt.
It does dmg points of damage each server frame
Targeting the trigger will toggle its on / off state.
The entity must be used first before it will count down its life 
*/

/*QUAKED func_timer (0.3 0.1 0.6) (-8 -8 -8) (8 8 8) START_ON
-------- KEYS --------
"wait" base time between triggering all targets, default is 1
"random" wait variance, default is 0
-------- SPAWNFLAGS --------
START_ON starts enabled
-------- NOTES --------
This should be renamed trigger_timer...
Repeatedly fires its targets.
Can be turned on or off by using.

So, the basic time between firing is a random time between (wait - random) and (wait + random)
*/

/*QUAKED trigger_once (.5 .5 .5) ? AXIS_ONLY ALLIED_ONLY - - SOLDIER_ONLY FIELDOPS_ONLY MEDIC_ONLY ENGINEER_ONLY COVERTOPS_ONLY
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
AXIS_ONLY only axis may trigger this
ALLIED_ONLY only allies may trigger this
SOLDIER_ONLY only soldiers may trigger this
FIELDOPS_ONLY only fieldops may trigger this
MEDIC_ONLY only medics may trigger this
ENGINEER_ONLY only engineers may trigger this
COVERTOPS_ONLY only covertops may trigger this
-------- NOTES --------
Must be targeted at one or more entities.
Once triggered, this entity is destroyed
(you can actually do the same thing with trigger_multiple with a wait of -1)
*/

/*QUAKED trigger_objective_info (.5 .5 .5) ? AXIS_OBJECTIVE ALLIED_OBJECTIVE - MOBILE_TANK IS_OBJECTIVE IS_HEALTHAMMOCABINET IS_COMMANDPOST
-------- KEYS --------
"customimage" image used on the commandmap, overrides the team-individual ones
"customaxisimage" image to show axis players on the commandmap
"customalliesimage" image to show allied players on the commandmap
"track"	Mandatory, this text will be appended to "You are near "
"target" You may target dynamitable objectives
"score" If targeting a dynamitable objective, give this score when blown.
"shortname" Name to display on the command map
-------- SPAWNFLAGS --------
AXIS_OBJECTIVE  Set if targeting an objective owned by AXIS, then only allied dynamite will blow it up.
ALLIED_OBJECTIVE Set if targeting an objective owned by ALLIES, then only axis dynamite will blow it up.
MOBILE_TANK enables moving the icon on the commandmap, default icon: tank
IS_COMMANDPOST Will use a command post icon on the command map
IS_HEALTHAMMOCABINET Will use a healthammo cabinet icon on the command map
IS_OBJECTIVE Will use a standard objective icon on the command map
-------- NOTES --------
Players in this field will see a message saying that they are near an objective.
Also, if targeting a dynamitable objective, the dynamite must be armed inside
of the trigger to blow up the objective.
*/

/*QUAKED info_train_spline_main (0 1 0) (-8 -8 -8) (8 8 8)
-------- KEYS --------
"targetname" name of this point
"target" target spline point
"control" sets a control point for this spline
"controlX" (where X is a number greater than or equal to 2) sets additional control points
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Defines a main point for a spline curve.
The spline between this point and next point is named after this point, ie use this point's targetname
*/

/*QUAKED info_train_spline_control (1 .5 1) (-8 -8 -8) (8 8 8)
-------- KEYS --------
"targetname" - the "control" key in a main splinepoint references to this
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Defines a control point for a spline curve.
*/

/*QUAKED func_constructible (.9 .75 .15) ? START_BUILT INVULNERABLE AXIS_CONSTRUCTIBLE ALLIED_CONSTRUCTIBLE
-------- KEYS --------
"track"	functions as a group name. All entities with the same 'track' as the func_constructible will be constructed at the same time.
"constages"	list of target func_brushmodel entities (up to 3) that make up the construction stages (example: "stage1;stage2;")
"desstages"	list of target func_brushmodel entities (up to 3) that make up the destruction stages (example: "desstage1;desstage2;")
-------- SPAWNFLAGS --------
START_BUILT : building starts built
INVULNERABLE : building can't be destroyed
AXIS_CONSTRUCTIBLE : building is constructible by axis
ALLIED_CONSTRUCTIBLE : building is constructible by allies
-------- NOTES --------
A constructible object that functions as target for engineers.

This entity will call standard triggers in its script routine:
buildstart <X>
decayed <X>
built <X>
destroyed <X>
death
where <X> is stage1, stage2 or final
*/

/*QUAKED func_brushmodel (.9 .50 .50) ?
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
A brushmodel that gets deleted on the fourth frame. We use this to hijack it's brushmodel in func_constructible
entities that are based around staged construction.
*/

/*QUAKED trigger_flagonly_multiple (.5 .5 .5) ? RED_FLAG BLUE_FLAG
-------- KEYS --------
"scriptName"	The routine name in the script file
-------- SPAWNFLAGS --------
RED_FLAG only trigger if player is carrying red flag
BLUE_FLAG only trigger if player is carrying blue flag
-------- NOTES --------
Player must be carrying the proper flag for it to trigger.
It will call the "death" function in the object's script.
Axis carries blueflags, Allies redflags.
*/

/*QUAKED misc_beam (0 .5 .8) (-8 -8 -8) (8 8 8)
-------- KEYS --------
"target"	start of beam
"message"	end of beam
"shader"	the shader
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
When on, displays a electric beam from target to target2.
Used by the cranes in railgun.
*/

/*QUAKED target_explosion (0 .5 .8) (-32 -32 -32) (32 32 32) LOWGRAV
-------- KEYS --------
"type" type of debris
-------- SPAWNFLAGS --------
LOWGRAV the explosive debris will move with low gravity
-------- NOTES --------
debris types:
	"glass"
	"wood" (default)
	"metal"
	"gibs"
	"brick"
	"rock"
	"fabric"
*/

/*QUAKED trigger_heal (.5 .5 .5) ?
-------- KEYS --------
"healrate" rate of healing per second, default 20 (whole numbers only)
"healtotal" the maximum of healing this trigger can do. if <= 0, it's unlimited. default 0 (whole numbers only)
"target" cabinet that this entity is linked to
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Any entity that touches this will be healed at a specified rate up to a specified maximum.
*/

/*QUAKED trigger_ammo (.5 .5 .5) ?
-------- KEYS --------
"ammorate"		rate of ammo clips per second. default 1. (whole number only)
"ammototal"		the maximum clips of ammo this trigger can add. if <= 0, it's unlimited. default 0 (whole numbers only)
"target"		cabinet that this entity is linked to
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Any entity that touches this will get additional ammo a specified rate up to a specified maximum.
*/

/*QUAKED misc_cabinet_health (.5 .5 .5) (-20 -20 0) (20 20 60)
model="models/mapobjects/supplystands/stand_health.md3"
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Entity to link trigger_heal entity to, for visual display
*/

/*QUAKED misc_cabinet_supply (.5 .5 .5) (-20 -20 0) (20 20 60)
model="models/mapobjects/supplystands/stand_ammo.md3"
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Entity to link trigger_ammo entity to, for visual display
*/

/*QUAKED func_debris (.5 .5 .5) ?
-------- KEYS --------
"speed" modifies how fast the debris starts at default 800
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Target at an entity for direction of travel
This entity MUST have a targetname
*/

/*QUAKED _decal (0 1.0 0) ?
-------- KEYS --------
"target" the name of the entity targetted at for projection
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Compiler-only entity that specifies a decal to be projected. Should contain 1 or more patch meshes (curves) and target an info_null entity. The distance between the center of the _decal entity and the target is the axis and distance of projection.
*/

/*QUAKED info_limbo_camera (0.5 0 0) (-8 -8 -8) (8 8 8) LMS_ONLY ALL_MODES
-------- KEYS ---------
"objective" a number starting from 0 possibly going anywhere up to 8, but maybe more later. (only required for objectives, not spawns)
a value of 0 corresponds to the default, non-objective view in the limbo screen
-------- SPAWNFLAGS --------
DEFAULT is all modes NOT including LMS mode.
LMS_ONLY is used for limbo cameras that only appear in LMS mode.
ALL_MODES is used for limbo cameras that appear in all modes including LMS.
-------- NOTES --------
Target an "info_notnull" entity EXCEPT for cameras overlooking SPAWNS (which target the "yellow blob", AKA team_WOLF_objective).
*/

/*QUAKED misc_commandmap_marker (0 0.85 .85) (-16 -16 0) (16 16 16) ONLY_AXIS ONLY_ALLIED
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
ONLY_AXIS only shows for axis players
ONLY_ALLIED only shows for allied players
-------- NOTES --------
Has to be targetted by a trigger_objective_info to work.
Command map marker entity. When set to state default it shows, any other state and it isn't visible.
*/
