///
/// et_entities.def
///

/*QUAKED script_multiplayer (1.0 0.25 1.0) (-8 -8 -8) (8 8 8)
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
This is used to script multiplayer maps.  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" Text to print during connection process
"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 --------
"nobots" will prevent bots from using this spot.
"nohumans" will prevent non-bots from using this spot.
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Potential spawning position for deathmatch games.
Targets will be fired when someone spawns in on them.
If the start position is targeting an entity, the players camera will start out facing that ent (like an info_notnull)
*/

/*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, like jumppad targets.
target_position does the same thing
*/

/*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, like jumppad targets.
target_position does the same thing
*/

/*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)
-------- KEYS --------
"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
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Model that will be compiled into the map.
*/

/*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, key number for which key opens, 0 for open.  default '0' unless door is targeted.  (trigger_aidoor entities targeting this door do /not/ affect the key status)
"model2" .md3 model to also draw
"angle" determines the opening direction
"targetname" if set, no touch field will be spawned and a remote button or trigger field activates the door.
"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 must be shot open
"team" team name.  other doors with same team name will open/close in syncronicity
"type" use sounds based on construction of door
-------- SPAWNFLAGS --------
TOGGLE wait in both the start and end states for a trigger event.
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 or takedamage doors).
-------- NOTES --------
sound types:
     0 - nosound (default)
     1 - metal
     2 - stone
     3 - lab
     4 - wood
     5 - iron/jail
     6 - portcullis
     7 - wood (quiet)
*/


/*QUAKED func_plat (0 .5 .8) ?
-------- KEYS --------
"lip" default 8, protrusion above rest position
"height" total height of movement, defaults to model height
"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
-------- KEYS --------
"model2" .md3 model to also draw
"color"	constantLight color
"light"	constantLight radius
-------- SPAWNFLAGS --------
START_INVIS will start the entity as non-existant, if targeted, it will toggle existance when triggered
-------- NOTES --------
A bmodel that just sits there, doing nothing.
Can be used for conditional walls and models.
*/

/*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
-------- KEYS --------
"key" -1 for locked, key number for which key opens, 0 for open.  default '0' unless door is targeted.  (trigger_aidoor entities targeting this door do /not/ affect the key status)
"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
-------- SPAWNFLAGS --------
FORCE door opens even if blocked
-------- 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).

sound types:
     0 - nosound (default)
     1 - metal
     2 - stone
     3 - lab
     4 - wood
     5 - iron/jail
     6 - portcullis
     7 - wood (quiet)
*/

/*QUAKED target_script_trigger (1 .7 .2) (-8 -8 -8) (8 8 8)
-------- KEYS --------
"target"  The name of the trigger
"scriptname" This corrisponds to the block
-------- 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)
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
(none)
-------- 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"

Yf 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
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"

cursorhint types:
	HINT_NONE
	HINT_FORCENONE
	HINT_PLAYER
	HINT_ACTIVATE
	HINT_DOOR
	HINT_DOOR_ROTATING
	HINT_DOOR_LOCKED
	HINT_DOOR_ROTATING_LOCKED
	HINT_MG42
	HINT_BREAKABLE
	HINT_BREAKABLE_DYNAMITE
	HINT_CHAIR
	HINT_ALARM
	HINT_HEALTH
	HINT_TREASURE
	HINT_KNIFE
	HINT_LADDER
	HINT_BUTTON
	HINT_WATER
	HINT_CAUTION
	HINT_DANGER
	HINT_SECRET
	HINT_QUESTION
	HINT_EXCLAMATION
	HINT_CLIPBOARD
	HINT_WEAPON
	HINT_AMMO
	HINT_ARMOR
	HINT_POWERUP
	HINT_HOLDABLE
	HINT_INVENTORY
	HINT_SCENARIC
	HINT_EXIT
	HINT_NOEXIT
	HINT_PLYR_FRIEND
	HINT_PLYR_NEUTRAL
	HINT_PLYR_ENEMY
	HINT_PLYR_UNKNOWN
	HINT_BUILD
	HINT_DISARM
	HINT_REVIVE
	HINT_DYNAMITE
	HINT_CONSTRUCTIBLE
	HINT_UNIFORM
	HINT_LANDMINE
	HINT_TANK
	HINT_SATCHELCHARGE
	HINT_LOCKPICK
	HINT_BAD_USER
	HINT_NUM_HINTS
*/

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

/*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 is affected by gravity
-------- NOTES --------
A particle emmiter
*/

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

/*QUAKED team_CTF_redspawn (1 0 0) (-18 -18 -24) (18 18 48) INVULNERABE STARTACTIVE
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
INVULNERABE player is invulnerable for 3 seconds after spawning
STARTACTIVE this spawn is active at map start
-------- NOTES --------
potential spawning position for axis team in wolfdm games.  

This allows spawnpoints to advance across the battlefield as new ones are 
placed and/or activated. If target is set, point spawnpoint toward target activation
*/

/*QUAKED team_CTF_bluespawn (0 0 1) (-18 -18 -24) (18 18 48) INVULNERABE STARTACTIVE
-------- KEYS --------
(none)
-------- SPAWNFLAGS --------
INVULNERABE player is invulnerable for 3 seconds after spawning
STARTACTIVE this spawn is active at map start
-------- NOTES --------
potential spawning position for allied team in wolfdm games.  

This allows spawnpoints to advance across the battlefield as new ones are 
placed and/or activated. If target is set, point spawnpoint toward target activation
*/

/*QUAKED team_CTF_redflag (1 0 0) (-16 -16 -16) (16 16 16)
-------- KEYS --------
"model"		Set model to display in game
"message"	Name of object in game (ex: the Radar Parts)
"scriptname"	name used for scripting purposes
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Used for dual objectives in ET.
*/

/*QUAKED team_CTF_blueflag (0 0 1) (-16 -16 -16) (16 16 16)
-------- KEYS --------
"model"		Set model to display in game
"message"	Name of object in game (ex: the Radar parts)
"scriptname"	name used for scripting purposes
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Used for dual objectives in ET.
*/

/*QUAKED team_WOLF_objective (1 1 0.3) (-16 -16 -24) (16 16 32) DEFAULT_AXIS DEFAULT_ALLIES
-------- KEYS --------
"description" short text key for objective name that will appear in objective selection in limbo UI.
-------- 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 --------
marker for objective

This marker will be used for computing effective radius for 
dynamite damage, as well as generating a list of objectives
that players can elect to spawn near to in the limbo spawn
screen.
*/

/*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 - 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.
TANK Will use a tank icon on the command map
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.
*/

/*QUAKED info_train_spline_control (1 .5 1) (-8 -8 -8) (8 8 8)
-------- KEYS --------
(none)
-------- 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.
*/

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

/*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 5 (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 1 possibly going anywhere up to 8, but maybe more later. (only required for objectives, not spawns)
-------- 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_null" entity EXCEPT for cameras overlooking SPAWNS (which target the "yellow blob").
*/

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

/*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 in Capture and Hold game scenarios. 

It will call specific trigger funtions in the map script for this object. 
When allies capture, it will call "allied_capture". 
When axis capture, it will call "axis_capture". 

// if spawnpoint flag is set, capture will turn on targeted spawnpoints 
// for capture team and turn *off* targeted spawnpoints for opposing team 
CP_HOLD spawnflag is possibly for unfinished Capture and Hold mode. 

"model" model to use (will use same animations as flagpole however) 
"scriptname" name of script which contains allied_capture and axis_capture triggers 
*/

