/*QUAKED worldspawn (0 0 0) ?
Settings for the world.
----------------------------------------------------------------------------------------------------
"gamemode" "#" Add the following values together to support multiple game modes:
  1 - Deathmatch
  2 - Single flag CTF
  4 - CTF
  8 - Siege
 16 - KOTH
 64 - Pong

Example: "gamemode" "6" for Single flag CTF (2) + CTF (4)

"gamemode" "#" can be applied to any entity to make it active or disabled for different game modes.  0 (default) means the entity is present in all modes.
----------------------------------------------------------------------------------------------------
"maxteams" "#" sets the max number of teams supported in the map - # options:
 2 - for two teams
 3 - for three teams
 4 - for four teams

"team#" "<teamcolor>" sets the color for the different teams - <teamcolor> can be one of the following:
 red - for a red team
 blue - for a blue team
 yellow - for a yellow team
 purple - for a purple team

Example: "maxteams" "2" for two teams
         "team1" "red" for a red first team
         "team2" "blue" for a blue second team
----------------------------------------------------------------------------------------------------
"message" "<messagetext>" sets a string while the map is loading.

Use \n for a new line.  There's a limit of 32 characters.
----------------------------------------------------------------------------------------------------
"sky" "<skyname>" sets a sky to your sky brushes - <skyname> can be one of the following:
 unit1_ - for an orange sunset sky
 pbsky1 - for a cloudy sky
 pbsky2 - for a sky with sun
 pbsky3 - for a starry sky
 pbsky4 - for a bright sunrise by hills
 riverscape1 - for mountains & river
 arctic1 - for snowy mountains and ocean

When using ArghRad (http://www.planetquake.com/arghrad/) you can use a sun to light maps with a sky.
These settings work well with the riverscape1 sky:
"_sun_angle" "200 -30"
"_sun_light" "250"
"_sun_surface" "120"

To find the optimal sun angle for your map, you can also put your crosshair on the sun,
then type "angles" in the console, and it will tell you what angles to use for the sun.
----------------------------------------------------------------------------------------------------
"requiredfiles" "<path> <path>" sets pathes for additional files required by the map
(such as scripts) that do not download by default - <path> is the path to your file.
Always use the forward slash. Keep filenames lowercase. Separate different pathes with a space.

Example: "requiredfiles" "scripts/maps/mymap1.txt scripts/maps/mymap2.txt" for two of your own files
----------------------------------------------------------------------------------------------------
"forcejail" "1" - forces eliminated players into jail spawns (no observer/ghosts).
----------------------------------------------------------------------------------------------------
"minclientbuild" "#" sets the minimum version a client must have to play the map (useful if you use advanced features)
----------------------------------------------------------------------------------------------------
"_ambient" "#" sets a general map ambient.
----------------------------------------------------------------------------------------------------
Visit http://www.digitalpaint.org for more info.
*/

/*QUAKED trigger_multiple (.5 .5 .5) ? MONSTER NOT_PLAYER TRIGGERED
Variable sized repeatable trigger.  Must be targeted at one or more entities.

"target" "<targetto>" sets the target to any other entities with the same targetname - <targetto> can be your own value.
"message" "<messagetext>" sets a string to be displayed when triggered - <messagetext> can be your own value.
"delay" "#" sets a delay before first firing when turned on (0 default).
"wait" "#" sets the seconds between triggerings (2 default).
"sounds" "#" sets a sound to be played when triggered - # options:
 1 - secret
 2 - beep beep
 3 - large switch
*/

/*QUAKED base (.5 .5 .5) ?
Base trigger.  A player must touch this while holding the flag to get points.

"teamnumber" "#" sets the team for the base.
"count" "#" sets a multiplier for the points scored when capturing.  Default is 5, so if you want a flag captured at this base to only be worth 1 point, you can set "count" ".2"
*/

/*QUAKED hill (.5 .5 .5) ?
Hill for gamemode KOTH.  When a player touches the hill, their team gets points. A flag with no teamnumber is also suggested,
so that it's easy to tell if somebody is on the hill (players can also get points by touching the flag itself).

"gamemode" "16" sets the gamemode (KOTH only, should always be 16).
*/

/*QUAKED func_teamwall (.5 .5 .5) ?
Wall that exists only when the team has no players.

"teamnumber" "#" sets the team for the base.
*/

/*QUAKED func_dsm (0 .5 .8) ? INVERT_BEHAVIOR
Dynamically Sizing Map entity.  Apply this to brushes to seal off/open areas depending on the number of players present.

"open_pcount_all" "#" - if # or more players are in the game, the entity will disappear, opening a new path.
"close_pcount_all" "#" - if # or fewer players are present, the entity will reappear and close off the path.

INVERT_BEHAVIOR closes off areas instead of open up when more players are present.
*/

/*QUAKED info_player_deathmatch (1 0 1) (-16 -16 -24) (16 16 40)
Spawning spot for players.

"teamnumber" "#" sets which team's players will spawn at this point.  Setting to 0 means any team can spawn here.
----------------------------------------------------------------------------------------------------
"angle" "#" sets the direction the player faces when spawning.  0 = right (East), 90 = up (North), 180 = left (West), 270 = down (South).
----------------------------------------------------------------------------------------------------
"givegun" "<weapontype>" sets the type of the weapon the player starts with instead of the pgp - <weapontype> can be one of the following:
 trracer - for spawning a Trracer
 stingray - for spawning a Stingray
 vm68 - for spawning a VM-68
 carbine - for spawning a 68 Carbine
 spyder - for spawning a Spyder SE
 autococker - for spawning an Autococker
 automag - for spawning an Automag
 low - for randomly spawning a Trracer or Stingray
 medium - for randomly spawning a VM-68, 68 Carbine or Spyder SE
 high - for randomly spawning an Autococker or Automag
----------------------------------------------------------------------------------------------------
"givehopper" "<hoppertype>" sets the type of the hopper the player starts with - <hoppertype> can be one of the following:
 100 - for spawning a hopper of 100
 200 - for spawning a hopper of 200
----------------------------------------------------------------------------------------------------
"giveammo" "<ammotype>" sets the type of the ammo pack the player starts with - <ammotype> can be one of the following:
  25 - for spawning an ammo pack of 25
  50 - for spawning an ammo pack of 50
 100 - for spawning an ammo pack of 100
 150 - for spawning an ammo pack of 150
 200 - for spawning an ammo pack of 200
 small - for randomly spawning an ammo pack of 25, 50 or 100
 medium - for randomly spawning an ammo pack of 50, 100 or 150
 large - for randomly spawning an ammo pack of 100, 150 or 200
----------------------------------------------------------------------------------------------------
"givebarrel" "<barreltype>" sets the type of the barrel the player starts with - <barreltype> can be one of the following:
 brass - for a brass barrel
 chrome - for a chrome barrel
 steel - for a steel barrel
----------------------------------------------------------------------------------------------------
"giveco2" "<co2type>" sets the type of the co2 tank the player starts with - <co2type> can be one of the following:
 12g - for spawning a co2 tank of 12g
 7oz - for spawning a co2 tank of 7oz
 12oz - for spawning a co2 tank of 12oz
 20oz - for spawning a co2 tank of 20oz
 small - for randomly spawning a co2 tank of 12g or 7oz
 medium - for randomly spawning a co2 tank of 7oz or 12oz
 large - for randomly spawning a co2 tank of 12oz or 20oz
----------------------------------------------------------------------------------------------------
"loadedco2" "<co2type>" sets the type of the loaded co2 the player starts with - <co2type> can be one of the following:
 12g - for spawning a co2 tank of 12g
 7oz - for spawning a co2 tank of 7oz
 12oz - for spawning a co2 tank of 12oz
 20oz - for spawning a co2 tank of 20oz
 small - for randomly spawning a co2 tank of 12g or 7oz
 medium - for randomly spawning a co2 tank of 7oz or 12oz
 large - for randomly spawning a co2 tank of 12oz or 20oz
----------------------------------------------------------------------------------------------------
"jail" "1" makes it a jail spawn for eliminated players.
*/

/*QUAKED func_model (.5 1 0) (-8 -8 -8) (8 8 8)
Places a model in the map.  Not affected by gravity.

"model" "<modelpath>" sets what model to use - <modelpath> can be the path of available / your own models
"angle" "#" sets the direction of the model. Rotate models with this.

Example: "model" "models/plants/bigleaf2.md2" for the plant model seen in several maps

Pay attention of additional files required by the model.  Add "requiredfiles" "<path>" to the worldspawn if necessary.
*/

/*QUAKED item_pballgrenade (.3 1 .6) (-16 -16 -16) (16 16 16)
Spawning spot for grenades. If no type is specified, the grenade will be random.

"type" "<grenadetype>" set the type of the grenade - <grenadetype> can be one of the following:
 paint - for a paint grenade
 smoke - for a smoke grenade

"angle" "-1" sets that the grenade will spawn exactly where you placed the entity and not somewhere in the area.
"count" "1" sets that grenades always spawn there in addition to the number of grenades set by the server.
"group" "<grouptext>" sets a group where randomly spawned grenades will be the same - <grouptext> can be your own value.
*/

/*QUAKED weapon_pballgun (.3 .3 1) (-16 -16 -16) (16 16 16)
Spawning spot for guns. If no type is specified, the gun will be random.

"type" "<weapontype>" sets the type of the weapon - <weapontype> can be one of the following:
 trracer - for spawning a Trracer
 stingray - for spawning a Stingray
 vm68 - for spawning a VM-68
 carbine - for spawning a 68 Carbine
 spyder - for spawning a Spyder SE
 autococker - for spawning an Autococker
 automag - for spawning an Automag
 low - for randomly spawning a Trracer or Stingray
 medium - for randomly spawning a VM-68, 68 Carbine or Spyder SE
 high - for randomly spawning an Autococker or Automag

"group" "<grouptext>" sets a group where randomly spawned guns will be the same - <grouptext> can be your own value.
*/

/*QUAKED item_pballhopper (.8 0 .8) (-16 -16 -16) (16 16 16)
Spawning spot for hoppers. If no type is specified, the hopper will be random.

"type" "<hoppertype>" sets the type of the hopper - <hoppertype> can be one of the following:
 100 - for spawning a hopper of 100
 200 - for spawning a hopper of 200

"group" "<grouptext>" sets a group where randomly spawned hoppers will be the same - <grouptext> can be your own value.
*/

/*QUAKED item_pballammo (.8 .5 .1) (-16 -16 -16) (16 16 16)
Spawning spot for ammo. If no type is specified, the ammo will be random.

"type" "<ammotype>" sets the type of the ammo pack - <ammotype> can be one of the following:
  25 - for spawning an ammo pack of 25
  50 - for spawning an ammo pack of 50
 100 - for spawning an ammo pack of 100
 150 - for spawning an ammo pack of 150
 200 - for spawning an ammo pack of 200
 small - for randomly spawning an ammo pack of 25, 50 or 100
 medium - for randomly spawning an ammo pack of 50, 100 or 150
 large - for randomly spawning an ammo pack of 100, 150 or 200
*/

/*QUAKED item_pballco2 (.8 0 0) (-16 -16 -16) (16 16 16)
Spawning spot for co2. If no type is specified, the co2 will be random.

"type" "<co2type>" sets the type of the co2 tank - <co2type> can be one of the following:
 12g - for spawning a co2 tank of 12g
 7oz - for spawning a co2 tank of 7oz
 12oz - for spawning a co2 tank of 12oz
 20oz - for spawning a co2 tank of 20oz
 small - for randomly spawning a co2 tank of 12g or 7oz
 medium - for randomly spawning a co2 tank of 7oz or 12oz
 large - for randomly spawning a co2 tank of 12oz or 20oz

"group" "<grouptext>" sets a group where randomly spawned co2 tanks will be the same - <grouptext> can be your own value.
*/

/*QUAKED item_pballbarrel (.8 .8 0) (-16 -16 -16) (16 16 16)
Spawning spot for barrels. If no type is specified, the barrel will be random.

"type" "<barreltype>" sets the type of the barrel - <barreltype> can be one of the following:
 brass - for a brass barrel
 chrome - for a chrome barrel
 steel - for a steel barrel

"group" "<grouptext>" sets a group where randomly spawned barrels will be the same - <grouptext> can be your own value.
*/

/*QUAKED flag (0 1 1) (-8 -16 -16) (8 16 48)
Flag entity that can be picked up an brought to a base to score points.

"teamnumber" "#" sets the team for the flag.  A player can pick up any flag but their own color.  If no teamnumber is specified, the flag will be white.

"count" "#" sets the multiplier for points.  The default point value is 5.
 0.2 - for a flag with one point
 0.4 - for a flag with two points
 0.6 - for a flag with three points
 0.8 - for a flag with four points
 1.0 - for a flag with five points
 1.2 - for a flag with six points
 1.4 - for a flag with seven points
 1.6 - for a flag with eight points
 1.8 - for a flag with nine points
 2.0 - for a flag with ten points
 ...
*/

/*QUAKED func_group (0 0 0) ?
Used to group brushes together just for editor convenience.
*/

/*QUAKED func_areaportal (0 0 0) ?
This is a non-visible object that divides the world into areas that are seperated when this portal is not activated.  Usually enclosed in the middle of a door.  This can help performance by not rendering areas that are behind closed doors.

Must be targeted.
*/

/*QUAKED path_corner (.5 .3 0) (-8 -8 -8) (8 8 8) TELEPORT
Set the direction of func_trains etc. Target it to the next path corner.

"targetname" "<targetfrom>" sets the target from the previous path_corner entity with the same target - <targetfrom> can be your own value.
"target" "<targetto>" sets the target to the next path_corner entity with the same targetname - <targetto> can be your own value.

TELEPORT will teleport func_trains instead of moving.
*/

/*QUAKED info_null (0 0.5 0) (-4 -4 -4) (4 4 4)
Used as a positional target for spotlights, etc.

"targetname" "<targetfrom>" sets the target from the light source with the same target - <targetfrom> can be your own value.
*/

/*QUAKED info_notnull (0 0.5 0) (-4 -4 -4) (4 4 4)
Used as a positional target jump pads, etc.

"targetname" "<targetfrom>" sets the target from the trigger_push with the same target - <targetfrom> can be your own value.
*/

/*QUAKED light (0 1 0) (-8 -8 -8) (8 8 8) START_OFF
Point light with no visible source.  Only applies lighting to the world.

"light" "#" sets the light power (300 default).
"style" "#" sets the light style (0 default).
"_color" "# # #" sets the light color (0 default).

"target" "<targetto>" sets the target for spotlights to the info_null entity with the same targetname - <targetto> can be your own value.
"_cone" "#" sets the size of light for spotlights (10 default)
*/

/*QUAKED func_wall (0 .5 .8) ? TRIGGER_SPAWN TOGGLE START_ON ANIMATED ANIMATED_FAST
This is just a solid wall if not inhibited.

TRIGGER_SPAWN the wall will not be present until triggered, it will then blink in to existance; it will kill anything that was in it's way.
TOGGLE only valid for TRIGGER_SPAWN walls, this allows the wall to be turned on and off.
START_ON only valid for TRIGGER_SPAWN walls, the wall will initially be present.
*/

/*QUAKED func_object (0 .5 .8) ? TRIGGER_SPAWN ANIMATED ANIMATED_FAST
This is solid bmodel that will fall if it's support is removed.
*/

/*QUAKED target_character (0 0 1) ?
Used with target_string (must be on same "team")
"count" "#" sets the position in the string (starts at 1)
*/

/*QUAKED target_string (0 0 1) (-8 -8 -8) (8 8 8)
*/

/*QUAKED func_clock (0 0 1) (-8 -8 -8) (8 8 8) TIMER_UP TIMER_DOWN START_OFF MULTI_USE
Target a target_string with this. The default is to be a time of day clock.

TIMER_UP and TIMER_DOWN run for "count" "#" seconds and the fire "pathtarget" "<targetto>" - <targetto> can be your own value.
If START_OFF, this entity must be used before it starts.

"style"	"#" - # options:
 0 - for a style like "xx"
 1 - for a style like "xx:xx"
 2 - for a style like "xx:xx:xx"
*/

/*QUAKED misc_teleporter (1 0 0) (-32 -32 -24) (32 32 -16)
Touching this will teleport players to the targeted misc_teleporter_dest object.

"target" "<targetto>" sets the target to the misc_teleporter_dest entity with the same targetname - <targetto> can be your own value.
*/

/*QUAKED misc_teleporter_dest (1 0 0) (-32 -32 -24) (32 32 -16)
Players who touched the "misc_teleporter" will appear here.

"targetname" "<targetfrom>" sets the target from the misc_teleporter entity with the same target - <targetfrom> can be your own value.
"angle" "#" sets the direction players will face after teleporting here. 0 = East, 90 = North, 180 = West, 270 = South
*/

/*QUAKED target_temp_entity (1 0 0) (-8 -8 -8) (8 8 8)
Fire an origin based temp entity event to the clients.

"targetname" "<targetfrom>" sets the target from a func_button, func_timer, etc. with the same target - <targetfrom> can be your own value.
"style" "#" - # options:
  5 - for a yellow explosion
 21 - for a blue explosion
 45 - for a smoke puff
 48 - for a cyllindrical explosion
 51 - for a large and fast spherical explosion
 52 - for a slow and smaller spherical explosion
Other values may also work, but can also crash the game, so be careful what you use.
*/

/*QUAKED target_speaker (1 0 0) (-8 -8 -8) (8 8 8) looped-on looped-off reliable
Normal sounds play each time the target is used.

"targetname" "<targetfrom>" sets the target from a func_button, func_timer, etc. with the same target - <targetfrom> can be your own value.
"noise" "<soundpath>" sets the .wav file to play - <soundpath> is the path to your file.
Example: "noise" "world/cricket.wav"
"volume" "#" sets the volume power - # options can be 0.0 to 1.0.
"attenuation" "#" - # options:
 -1 - for no falloff, send to whole level
  1 - for normal fighting sounds
  2 - for idle sound level
  3 - for ambient sound level (very rapid falloff)

Looped sounds are allways atten 3 / vol 1, and the use function toggles it on/off.
The reliable flag can be set for very important sounds like crucial voiceovers.
*/

/*QUAKED target_changelevel (1 0 0) (-8 -8 -8) (8 8 8)
Changes level when fired.
"map" "<mapname>" sets the level to change to.
*/

/*QUAKED target_splash (1 0 0) (-8 -8 -8) (8 8 8)
Creates a particle splash effect when used.

"dmg" "#" sets a radius damage to inflict at this location when it splashes (useful for lava/sparks)
"count" "#" sets how many pixels are in the splash.
"sounds" "#" sets a style (not a sound) - # options:
 1 - for sparks
 2 - for blue water
 3 - for brown water
 4 - for slime
 5 - for lava
 6 - for blood
*/

/*QUAKED target_spawner (1 0 0) (-8 -8 -8) (8 8 8)
Set target to the type of entity you want spawned.

Useful for spawning monsters and gibs in the factory levels.
For monsters:
 Set direction to the facing you want it to have.
For gibs:
 Set direction if you want it moving and speed how fast it should be moving otherwise it will just be dropped.
*/

/*QUAKED target_laser (0 .5 .8) (-8 -8 -8) (8 8 8) START_ON RED GREEN BLUE YELLOW ORANGE FAT
When triggered, fires a laser. You can either set a target or a direction.
*/

/*QUAKED target_lightramp (0 .5 .8) (-8 -8 -8) (8 8 8) TOGGLE
Makes a light fade in or fade out.

"targetname" "<targetfrom>" sets the target from a func_button, func_timer, etc. with the same target - <targetfrom> can be your own value.
"target" "<targetto>" sets the target to the light source with the same targetname - <targetto> can be your own value.
"speed" "#" sets how many seconds the ramping will take.
"message" "#" sets the starting lightlevel and the ending lightlevel in two letters - # options:
 az - for a light that fades in from dark to light
 za - for a light that fades in from light to dark
*/

/*QUAKED trigger_once (.5 .5 .5) ? x x TRIGGERED
Triggers once, then removes itself. Target it with any entity.

"target" "<targetto>" sets the target to any other entities with the same targetname - <targetto> can be your own value.
"message" "<messagetext>" sets a string to be displayed when triggered - <messagetext> can be your own value.
"delay" "#" sets a delay before first firing when turned on (0 default).
"sounds" "#" sets a sound to be played when triggered - # options:
 1 - secret
 2 - beep beep
 3 - large switch

TRIGGERED sets that this trigger must be triggered before it is live.
*/

/*QUAKED trigger_relay (.5 .5 .5) (-8 -8 -8) (8 8 8)
This fixed size trigger cannot be touched, it can only be fired by other events.
*/

/*QUAKED trigger_counter (.5 .5 .5) ? nomessage
Acts as an intermediary for an action that takes multiple inputs.
If nomessage is not set, it will print "1 more.. " etc when triggered and "sequence complete" when finished.
After the counter has been triggered "count" "#" times (default 2), it will fire all of it's targets and remove itself.
*/

/*QUAKED trigger_always (.5 .5 .5) (-8 -8 -8) (8 8 8)
This trigger will always fire.  It is activated by the world.

"target" "<targetto>" sets the target to any other entities with the same targetname - <targetto> can be your own value.
*/

/*QUAKED trigger_push (.5 .5 .5) ? PUSH_ONCE PUSH_ALL
Pushes players and grenades so they will hit the targeted info_notnull.

"target" "<targetto>" sets the target to the info_notnull entity with the same targetname - <targetto> can be your own value.

PUSH_ALL affects all entities (paint, guns, etc).
PUSH_ONCE causes the trigger_push to be removed after the first touch.
*/

/*QUAKED trigger_hurt (.5 .5 .5) ? START_OFF TOGGLE SILENT NO_PROTECTION SLOW
Any entity that touches this will be hurt.

"message" "<messagetext>" sets a string to be displayed when touched- <messagetext> can be your own value.
"dmg" "#" sets a damage to inflict when touches (5 default)

START_OFF when the trigger_hurt must be triggered by a func_button, func_timer, etc.
TOGGLE toggles this trigger between enabled and disabled states.
SILENT supresses playing the sound.
NO_PROTECTION makes that nothing can stop the damage.
SLOW changes the damage rate to once per second.
*/

/*QUAKED trigger_gravity (.5 .5 .5) ?
Changes the touching entites gravity. Unfortunately, this does not work for players.

"gravity" "#" sets the gravity value (1 default).
*/

/*QUAKED func_getoutofjail (.5 .5 .5) ?
Turns an eleminated player into a living player when touched.

"noise" "<soundpath>" sets the .wav file to play - <soundpath> is the path to your file.
*/

/*QUAKED info_player_start (1 0 0) (-16 -16 -24) (16 16 40)
Starting point for single player, which isn't really applicable here.
Players will spawn here if there are no info_player_deathmatches.

"angle" "#" sets the direction of the player spawning spot. Rotate player spawning spots with this.
*/

/*QUAKED info_player_intermission (1 0 1) (-16 -16 -24) (16 16 40)
This is where the camera will be placed at the end of the match when the scoreboard is shown.

"angles" "# # #" sets the direction (pitch-yaw-roll)
*/

/*QUAKED func_door (0 .5 .8) ? START_OPEN x CRUSHER NOMONSTER ANIMATED TOGGLE ANIMATED_FAST
Used for a simple door.

"targetname" "<targetfrom>" sets the target from a func_button, func_timer, etc. with the same target - <targetfrom> can be your own value.
"target" "<targetto>" sets the target to a func_areaportal or target_speaker with the same targetname - <targetto> can be your own value.
"message" "<messagetext>" sets a string to be displayed when triggered - <messagetext> can be your own value.
"team" "<teamtext>" sets that all doors with the same team value will open if any door of them gets activated - <teamtext> can be your own value.
"health" "1" sets that the door must be shoot open instead of touching it.
"angle" "#" sets the opening direction of the door (0 default; -1 = upwards; -2 = downwards).
"speed" "#" sets the movement speed (100 default).
"wait" "#" sets the seconds before returning (3 default, -1 = never return).
"lip" "#" sets the lip remaining at end of move (8 default).
"dmg" "#" sets a damage to inflict when blocked (2 default).
"_minlight" "#" sets that the door glows - # options can be 0.0 to 1.0.
"sounds" "#" - # options:
 1 - for a silent sound
 2 - for a light sound
 3 - for a medium sound
 4 - for a heavy sound

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).
CRUSHER door will not move back if blocked.
TOGGLE wait in both the start and end states for a trigger event.
*/

/*QUAKED func_door_rotating (0 .5 .8) ? START_OPEN REVERSE CRUSHER NOMONSTER ANIMATED TOGGLE X_AXIS Y_AXIS
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.

"distance" "#" sets the degrees the door will be rotated.
"targetname" "<targetfrom>" sets the target from a func_button, func_timer, etc. with the same target - <targetfrom> can be your own value.
"target" "<targetto>" sets the target to a func_areaportal or target_speaker with the same targetname - <targetto> can be your own value.
"message" "<messagetext>" sets a string to be displayed when triggered - <messagetext> can be your own value.
"team" "<teamtext>" sets that all doors with the same team value will open if any door of them gets activated - <teamtext> can be your own value.
"health" "1" sets that the door must be shoot open instead of touching it.
"angle" "#" sets the opening direction of the door.
"speed" "#" sets the movement speed (100 default).
"wait" "#" sets the seconds before returning (3 default, -1 = never return).
"lip" "#" sets the lip remaining at end of move (8 default).
"dmg" "#" sets a damage to inflict when blocked (2 default).
"_minlight" "#" sets that the door glows - # options can be 0.0 to 1.0.
"sounds" "#" - # options:
 1 - for a silent sound
 2 - for a light sound
 3 - for a medium sound
 4 - for a heavy sound

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).
REVERSE will cause the door to rotate in the opposite direction.
CRUSHER door will not move back if blocked.
TOGGLE causes the door to wait in both the start and end states for a trigger event.
X_AXIS or Y_AXIS will change the rotation axis.
*/

/*QUAKED func_plat (0 .5 .8) ? PLAT_LOW_TRIGGER
Plats are always drawn in the extended position, so they will light correctly.
If the plat is the target of another trigger or button, it will start out disabled in
the extended position until it is trigger, when it will lower and become a normal plat.

"height" #" sets the height the platform will move up (positive value) or moves down (negative value).
"speed" "#" sets movement speed (150 default).
"accel" "#" sets the acceleration when the plat starts to move.
"decel" "#" sets the deceleration when the plat ends to move.
"dmg" "#" sets a damage to inflict when blocked (2 default).
"_minlight" "#" sets that the plat glows - # options can be 0.0 to 1.0.
"sounds" "#" - # options:
 1 - for a base fast sound
 2 - for a chain slow sound
*/

/*QUAKED func_rotating (0 .5 .8) ? START_ON REVERSE X_AXIS Y_AXIS TOUCH_PAIN STOP ANIMATED ANIMATED_FAST
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.

"speed" "#" sets the movement speed (100 default).
"dmg" "#" sets a damage to inflict when blocked (2 default).
"_minlight" "#" sets that the rotating brush glows - # options can be 0.0 to 1.0.

START_ON will activate the rotation by the world.
REVERSE will cause the entity to rotate in the opposite direction.
X_AXIS or Y_AXIS will change the rotation axis.
STOP means it will stop moving instead of pushing entities.
*/

/*QUAKED func_water (0 .5 .8) ? START_OPEN
Func_water is a moveable water brush. It must be targeted to operate. Use a non-water texture at your own risk.

"speed" "#" sets the movement speed (25 default).
"wait" "#" sets the seconds before returning (-1 default, -1 = TOGGLE).
"lip" "#" sets the lip remaining at end of move (0 default).
"angle" "#" sets the moving direction of the water - # options:
 -1 - for moving upwards
 -2 - for moving downwards
"sounds" "#" - # options:
 0 - for no sounds
 1 - for a water sound
 2 - for a lava sound

START_OPEN causes the water to move to its destination when spawned and operate in reverse.
*/

/*QUAKED func_train (0 .5 .8) ? START_ON TOGGLE BLOCK_STOPS
Trains are moving platforms that players can ride (if toggle is set).
The targets origin specifies the min point of the train at each corner (path_corner).
The train spawns at the first target it is pointing at.
If the train is the target of a button or trigger, it will not begin moving until activated.

"target" "<targetto>" sets the target to a path corner with the same targetname - <targetto> can be your own value.
"targetname" "<targetfrom>" sets the target from a func_button, func_timer, etc. with the same target - <targetfrom> can be your own value
"speed" "#" sets the movement speed (100 default).
"dmg" "#" sets a damage to inflict when blocked (2 default).
"_minlight" "#" sets that the platform glows - # options can be 0.0 to 1.0.

START_ON will activate the rotation by the world.
TOGGLE will move the standing poeple with the train.
BLOCK_STOPS will stop the train while blocking (only if no dmg is set).
*/

/*QUAKED trigger_elevator (0.3 0.1 0.6) (-8 -8 -8) (8 8 8)
Entity to make a func_train behave like an elevator. Place path_corner's at each floor and
set the func_button at that floor to target the trigger_elevator and pathtarget the path_corner.

"targetname" "<targetfrom>" sets the target from a func_button, func_timer, etc. with the same target - <targetfrom> can be your own value.
"target" "<targetto>" sets the target to the func_train elevator with the same targetname - <targetto> can be your own value.
*/

/*QUAKED func_timer (0.3 0.1 0.6) (-8 -8 -8) (8 8 8) START_ON
Timer for trigger lots of stuff. Target it with any entity.

"target" "<targetto>" sets the target to any other entities with the same targetname - <targetto> can be your own value.
"wait" "#" sets the base time between triggering all targets (1 default).
"random" "#" sets the wait variance, so the basic time between firing is a random time (0 default).
"delay" "#" sets a delay before first firing when turned on (0 default).
"pausetime" "#" sets an additional delay used only the very first time and only if spawned with START_ON.

START_ON will activate the rotation by the world.
*/

/*QUAKED func_conveyor (0 .5 .8) ? START_ON TOGGLE
Conveyors are stationary brushes that move what's on them.
The brush should be have a surface with at least one current content enabled.

"speed" "#" sets the movement speed (100 default).
*/

/*QUAKED func_door_secret (0 .5 .8) ? always_shoot 1st_left 1st_down
A secret door. Slide back and then to the side.

"targetname" "<targetfrom>" sets the target from a func_button, func_timer, etc. with the same target - <targetfrom> can be your own value.
"target" "<targetto>" sets the target to a func_areaportal or target_speaker with the same targetname - <targetto> can be your own value.
"message" "<messagetext>" sets a string to be displayed when triggered - <messagetext> can be your own value.
"health" "1" sets that the door must be shoot open instead of touching it.
"angle" "#" sets the opening direction of the door.
"speed" "#" sets the movement speed (100 default).
"wait" "#" sets the seconds before returning (5 default, -1 = never return).
"dmg" "#" sets a damage to inflict when blocked (2 default).
"_minlight" "#" sets that the door glows - # options can be 0.0 to 1.0.

ALWAYS_SHOOT the door is shootebale even if targeted.
1ST_LEFT the 1st move is left of arrow.
1ST_DOWN the 1st move is down from arrow.
*/

/*QUAKED func_button (0 .5 .8) ?
When a button is touched, it moves some distance in the direction of it's angle, triggers all of it's targets,
waits some time, then returns to it's original position where it can be triggered again.

"target" "<targetto>" sets the target to any other entities with the same targetname - <targetto> can be your own value.
"health" "1" sets that the button must be killed instead of touched.
"angle" "#" sets the moving direction.
"speed" "#" sets the movement speed (40 default).
"wait" "#" sets the seconds before returning (1 default, -1 = never return).
"lip" "#" sets the lip remaining at end of move (4 default).
"delay" "#" sets a delay before first firing when turned on (0 default).
"_minlight" "#" sets that the button glows - # options can be 0.0 to 1.0.
"sounds" "#" - # options:
 1 - for a silent sound
 2 - for a steam metal sound
 3 - for a wooden clunk sound
 4 - for a metallic click sound
 5 - for an in-out sound
*/
