//=============================================================================
// ENTITIES DEF file
// 
// MOD    : AD v1.60 - (Arcane Dimensions)
// Date   : 16th June 2017
// Author : Simon "Sock" OCallaghan
// Website: www.simonoc.com
// Editor : GTK Radiant 1.3+, Trenchbroom 1 & 2
// Notes  : Has the latest compiler options (maybe not all)
//
//=============================================================================
//
//=============================================================================
//
// WORLDSPAWN
//
//=============================================================================
/*QUAKED worldspawn (0 0 0) ? x
Only used for the world.
-------- KEYS --------
worldtype   : World type 0 = medieval, 1 = metal, 2 = base
wad         : list of Wad Files used by compiler (; for seperation)
message     : Title of map
sounds      : CD Music track to play (4-11)

light       : Ambient light level (eg 5) 
sky         : 6 sided cube for sky brushes (night_)
_range      : Scales brightness range of all lights (useful for dirt)
_dist       : Scales the fade distance of all lights by a factor of n
_anglescale : Scaling factor for how much influence the angle of incidence
_gamma      : Adjust brightness of final lightmap

_sunlight          : Brightness of SUN (eg 100)
_sunlight_color    : Red/Green/Blue (0.78 0.86 1.00)
_sunlight_mangle   : Angle of sunlight (eg 0 -90 0)
_sun_mangle        : Duplicate version of sunlight_mangle
_sunlight_penumbra : Penumbra width, in degrees, of sunlight
_sunlight_dirt     : 1 = enables dirt mapping on sun

// Ambient bounce light (multiple suns in a dome)
_sunlight2       : Second SUN (eg 100)
_sunlight2_color : Red/Green/Blue (0.78 0.86 1.00)
_sunlight2_dirt  : 1 = enables dirt mapping on sun 2
_sunlight3       : Third SUN! (ask MFX)

_dirt       : 1 = enables dirtmapping (ambient occlusion) on all lights
_dirtmode   : Choose between ordered (def=0) and randomized (1)
_dirtscale  : Scale factor used in dirt calculations, def=1
_dirtgain   : Exponent used in dirt calculation, def=1
_dirtdepth  : Maximum depth of occlusion checking, def=128
_minlight_dirt : 1 enables dirtmapping (ambient occlusion) on minlight

gravity     : gravity of map (default = 800)
fog         : console command (Den/R/G/B - '0.05 0.3 0.3 0.3')
fog_density : Global fog density (works with trigger_fog)
fog_colour  : Global fog colour (XYZ = RGB)
fog_dpextra : extra DP fog parameters, default - '1 0 8192 1024 32'
water_alpha : Water Alpha, default - 1.00
particlemax : Amount of ACTIVE particles per map

no_item_offset  : All ammo/heal items use central point rotation
no_item_rotate  : No random rotated for all items
no_zaware       : Switch OFF zaware monster attacks
no_sgprojectile : Switches OFF ALL shotgun projectiles
no_sgcasing     : Switches OFF ALL shotgun casings
no_liquiddmg    : Switch OFF liquid (slime/lava) monster damage
knight_defskin  : Default skin (0-3) type for new knight model
bodyflrcheck    : All monster dead body check floor for gravity
bodyfadeaway    : All monster dead bodies fade away

upgrade_axe     : Upgrade Axe -1=disable, 1=enable
upgrade_ssg     : Upgrade Super Shotgun -1=disable, 1=enable
upgrade_lg      : Upgrade Lightning Gun -1=disable, 1=enable

give_weapons    : Bit flag for which weapons to give to the player
take_weapons    : 1=SG, 2=SSG, 4=NG, 8=SNG, 16=GL, 32=RL, 64=LG (excludes Axe)
max_health      : Update player health if below this value
reset_health    : Reset player health to this value (1-100)
currentammo     : =1 reset inventory, =0 minimum values
ammo_shells     : Setup starting shell quanity (reset/minimum)
ammo_nails      : Setup starting nails quanity (reset/minimum)
ammo_rockets    : Setup starting rockets quanity (reset/minimum)
ammo_cells      : Setup starting cells quanity (reset/minimum)
armortype       : Armour type to start with 1=Green, 2=Yellow, 3=Red
armorvalue      : Quantity of armour to reset player (100/150/200)
*/

//=============================================================================
//
// AMBIENT SOUNDS
//
//=============================================================================
/*QUAKED ambient_custom_sound (0.5 0.1 0.8) (-16 -16 -8) (16 16 8) x PLAYONCE x x x x STARTOFF x
Play a sound on a periodic basis
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target  : targets to trigger each time sound is played
volume  : volume of sound (default 1, capped at 1)
noise   : primary sound (ambience/windgust1a.wav)
noise1  : stop sound (anbience/switch_6off.wav)
noise2  : random sound (ambience/windgust1b.wav)
wait    : random time between sounds (default 20, =-1 no random element)
delay   : minimum time between sounds (default 2)
waitmin : Starting time (waitmin + random() x waitmin, =-1 no delay)
waitmin2: 1 = Will not silence any playing sound if switching off
impulse : channel on which to play sound (0-7) (0 automatic is default)
speed   : attenuation -1=no attenuation, 1=normal (default), 2=idle, 3=static, 4=quiet
-------- SPAWNFLAGS --------
PLAYONCE : When triggered plays once
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Play a sound on a periodic basis
*/

//-----------------------------------------------------------------------------
/*QUAKED ambient_custom_loop (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x x x x x x x x
Custom ambient (must be looped) sound, CANNOT toggle/switch state
-------- KEYS --------
volume : volume of sound (default 1, capped at 1)
noise : custom sound to play (looped)
-------- SPAWNFLAGS --------
-------- NOTES --------
Custom ambient (must be looped) sound, CANNOT toggle/switch state
*/

//-----------------------------------------------------------------------------
/*QUAKED ambient_comp_hum (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
Computer sound.
*/
/*QUAKED ambient_drip (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
Dripping sound.
*/
/*QUAKED ambient_drone (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
Drone sound. (slipgate)
*/
/*QUAKED ambient_flouro_buzz (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
Fluorescent light sound.
*/
/*QUAKED ambient_hum1 (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
Teleporter Hum sound.
*/
/*QUAKED ambient_light_buzz (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
Buzzing light.
*/
/*QUAKED ambient_suck_wind (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
ID Wind sound.
*/
/*QUAKED ambient_swamp1 (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
Swamp sound 1.
*/
/*QUAKED ambient_swamp2 (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
Swamp sound 2.
*/
/*QUAKED ambient_thunder (0.3 0.1 0.6) (-16 -16 -8) (16 16 8) x
Thunder sound.
*/

//-----------------------------------------------------------------------------
/*QUAKED ambient_custom_water (0.3 0.6 1.0) (-16 -16 -8) (16 16 8) x
Play a LOOPED water sound
-------- KEYS --------
volume  : volume of sound (default 0.75)
noise : custom sound to play (default = ambience/water1.wav)
-------- SPAWNFLAGS --------
-------- NOTES --------
Play a LOOPED water sound
*/

//-----------------------------------------------------------------------------
/*QUAKED ambient_custom_rain (0.0 0.0 1.0) (-16 -16 -8) (16 16 8) x
Play a rain sound (always starts off, must be triggered)
-------- KEYS --------
targetname : name of entity (once triggered will keep looping)
count   : Setup WAV file (1=long dripping, 2(default)=short downpour)
volume  : volume of sound (0.4=dripping, 0.5=downpour)
speed   : attenuation (dripping=2, downpour=1)
wait    : -1 Will loop with no pause (always set)
delay   : time of sound (6.9=dripping, 2.9=downpour)
-------- SPAWNFLAGS --------
-------- NOTES --------
Play a rain sound  (always starts off, must be triggered)
*/

//-----------------------------------------------------------------------------
/*QUAKED ambient_custom_chime (0.9 0.9 0.0) (-16 -16 -8) (16 16 8) x PLAYONCE x x x x STARTOFF x
Play a CHIME sound on a periodic basis
-------- KEYS --------
targetname : trigger entity (works with entity state system)
volume  : volume of sound (default 1)
speed   : attenuation (default 2)
wait    : random time between sounds (default 10)
delay   : minimum time between sounds (default 10)
waitmin : Starting time (default = 10 + random() x 10)
-------- SPAWNFLAGS --------
PLAYONCE : When triggered plays once
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Play a CHIME sound on a periodic basis
*/

//-----------------------------------------------------------------------------
/*QUAKED ambient_custom_rumble (0.4 0.4 0.4) (-16 -16 -8) (16 16 8) x PLAYONCE x x x x STARTOFF x
Play a RUMBLE sound on a periodic basis
-------- KEYS --------
targetname : trigger entity (works with entity state system)
count   : Setup WAV file (-1=random, 1-3, 0=def 1)
lefty   : 1 = Pick an alternative sound to randomly pick from
volume  : volume of sound (default 0.5)
wait    : random time between sounds (default 20)
delay   : minimum time between sounds (default 20)
waitmin : Starting time (default = 6 + random() x 6)
-------- SPAWNFLAGS --------
PLAYONCE : When triggered plays once
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Play a RUMBLE sound on a periodic basis
*/

//-----------------------------------------------------------------------------
/*QUAKED ambient_custom_wind (0.8 0.8 1.0) (-16 -16 -8) (16 16 8) x PLAYONCE x x x x STARTOFF x
Play a WIND sound on a periodic basis
-------- KEYS --------
targetname : trigger entity (works with entity state system)
count   : Setup WAV file (-1=random, 1-6, 0=def 1)
lefty   : 1 = Pick an alternative sound to randomly pick from
speed   : attenuation (default 2)
wait    : random time between sounds (default 10)
delay   : minimum time between sounds (default 10)
waitmin : Starting time (default = 4 + random() x 4)
-------- SPAWNFLAGS --------
PLAYONCE : When triggered plays once
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Play a WIND sound on a periodic basis
*/

//-----------------------------------------------------------------------------
/*QUAKED ambient_custom_wood (0.5 0.3 0.0) (-16 -16 -8) (16 16 8) x PLAYONCE x x x x STARTOFF x
Play a WOOD sound on a periodic basis
-------- KEYS --------
targetname : trigger entity (works with entity state system)
count   : Setup WAV file (-1=random, 1-4, 0=def 1)
lefty   : 1 = Pick an alternative sound to randomly pick from
speed   : attenuation (default 2)
wait    : random time between sounds (default 20)
delay   : minimum time between sounds (default 20)
waitmin : Starting time (default = 8 + random() x 8)
-------- SPAWNFLAGS --------
PLAYONCE : When triggered plays once
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Play a WOOD sound on a periodic basis
*/

//=============================================================================
//
// INFO entities
//
//=============================================================================
/*QUAKED info_player_start (1 0 0) (-16 -16 -24) (16 16 24) x x x x x x x x Not_Easy Not_Normal Not_Hard Not_DM Dyn_Easy Dyn_Normal Dyn_Hard Dyn_Night
{ model(":progs/player.mdl"); }
DEFAULT starting point for a player
-------- KEYS --------
target : triggered target(s) when used as a client destination
angle  : Starting view angle
-------- SPAWNFLAGS --------
-------- NOTES --------
DEFAULT starting point for a player
*/

//-----------------------------------------------------------------------------
/*QUAKED info_player_start2 (0.9 0 0) (-16 -16 -24) (16 16 24) x x x x x x x x Not_Easy Not_Normal Not_Hard Not_DM Dyn_Easy Dyn_Normal Dyn_Hard Dyn_Night
{ model(":progs/player.mdl"); }
Starting point for players with runes or startspawn2 system
-------- KEYS --------
target : triggered target(s) when used as a client destination
angle  : Starting view angle
startspawn2 : Unique spawn location number matching a trigger_changelevel
-------- SPAWNFLAGS --------
-------- NOTES --------
Starting point for players with runes or using the startspawn2 system
The startspawn2 system lets players move between maps using exact location
*/

//-----------------------------------------------------------------------------
/*QUAKED info_player_coop (1 0 1) (-16 -16 -24) (16 16 24) x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/player.mdl"); }
Starting position for coop games
-------- KEYS --------
target : triggered target(s) when used as a client destination
angle  : Starting view angle
-------- SPAWNFLAGS --------
STARTOFF : Starts off
-------- NOTES --------
Starting position for coop games
*/

//-----------------------------------------------------------------------------
/*QUAKED info_player_deathmatch (0 1 1) (-16 -16 -24) (16 16 24) x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/player.mdl"); }
Starting position for deathmatch games
-------- KEYS --------
target : triggered target(s) when used as a client destination
angle  : Starting view angle
-------- SPAWNFLAGS --------
STARTOFF : Starts off
-------- NOTES --------
Starting position for deathmatch games
*/

//-----------------------------------------------------------------------------
/*QUAKED info_teleport_destination (1 0.5 0.5) (-16 -16 -24) (16 16 24) x
Destination marker for a teleporter
-------- KEYS --------
targetname : link to trigger_teleport
target : triggered target(s) when used as a client destination
angles : Pitch Yaw Roll (viewing angle after teleporting)
-------- SPAWNFLAGS --------
-------- NOTES --------
Destination marker for a teleporter
*/

//-----------------------------------------------------------------------------
/*QUAKED info_skullwiz_destination (0.6 0 0.8) (-16 -16 -24) (16 16 40) x
Teleport destination for skull wizard ONLY
-------- KEYS --------
targetname : part of a chain group (required)
target   : next destination in the chain
distance : Minimum distance enemy needs to be before spawning
-------- SPAWNFLAGS --------
-------- NOTES --------
Teleport destination for skull wizard ONLY
*/

//-----------------------------------------------------------------------------
/*QUAKED info_intermission (1 0.5 0.5) (-16 -16 -16) (16 16 16) NO_INTERMIS SOLID x x x x x x Not_Easy Not_Normal Not_Hard Not_DM
This is the camera point for the intermission
-------- KEYS --------
target : triggered target(s) when used as a viewing camera
mangle : Pitch Yaw Roll
fog_density : fog density (Must be >0 to activate feature)
fog_colour  : fog colours (def=0.1 0.1 0.1)
speed       : fog time to change (def=2s)
-------- SPAWNFLAGS --------
NO_INTERMIS : Will not display when proper intermission active
SOLID       : Intermission camera interacts with world
-------- NOTES --------
mangle = up/down, angle, tilt left/right 'pitch roll yaw'
up/left = negative value, down/right = positive value
*/

//-----------------------------------------------------------------------------
/*QUAKED info_target (0.5 0.5 0.5) (-4 -4 -4) (4 4 4) x x x x
Invisible target entity (not removed)
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Invisible target entity (not removed)
*/

//-----------------------------------------------------------------------------
/*QUAKED info_null (0 0.5 0) (-4 -4 -4) (4 4 4) x x x x
Invisible entity
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Invisible entity. Used as a target for spotlights, etc. Removes itself.
*/

//-----------------------------------------------------------------------------
//QUAKED info_notnull (0 0.5 0) (-4 -4 -4) (4 4 4) x
/*QUAKED info_notnull (0 0.5 0) ? x
Invisible entity (not removed)
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Invisible entity (not removed)
*/

//=============================================================================
//
// ITEM entities
//
//=============================================================================
/*QUAKED item_health (0.3 0.3 1) (-16 -16 0) (16 16 32) ROTTEN MEGA x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/health_25.mdl"); }
15, 25 or 100 Health
-------- KEYS --------
targetname    : toggle state (use trigger ent for exact state)
angle         : = -1 Random rotation everytime spawned (default)
skin_override : Override world type 1=Base Green, 2=Medieval Wood
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
ROTTEN   : 15 health
MEGA     : MegaHealth +100 health, rot down to 100
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
Health box gives 15, 25 or 100 points depending on spawnflags.
*/

//-----------------------------------------------------------------------------
/*QUAKED item_shells (0 .5 .8) (-16 -16 0) (16 16 32) BIG LID x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/ammo_shells0.mdl"); }
20 or 40 Shells
-------- KEYS --------
targetname    : toggle state (use trigger ent for exact state)
frame_box     : special animation frame number for LID (1-7)
skin_override : Override world type 1=Base Green, 2=Medieval Wood
aflag         : Ammo quantity override
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
BIG      : Double Ammo and different model
LID      : Extra LID model positioned with box
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
20 or 40 Shells for the Shotgun (SG), SuperShotgun (SSG) and Riotgun (RG)
*/

//-----------------------------------------------------------------------------
/*QUAKED item_spikes (0 .5 .8) (-16 -16 0) (16 16 32) BIG LID x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/ammo_nails0.mdl"); }
25 or 50 Spikes
-------- KEYS --------
targetname    : toggle state (use trigger ent for exact state)
frame_box     : special animation frame number for LID (1-7)
skin_override : Override world type 1=Base Green, 2=Medieval Wood
aflag         : Ammo quantity override
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
BIG      : Double Ammo and different model
LID      : Extra LID model positioned with box
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
25 or 50 Spikes for the Perforator (NG) and Super Perforator (SNG)
*/

//-----------------------------------------------------------------------------
/*QUAKED item_rockets (0 .5 .8) (-16 -16 0) (16 16 32) BIG x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/ammo_rockets0.mdl"); }
5 or 10 Rockets
-------- KEYS --------
targetname    : toggle state (use trigger ent for exact state)
frame_box     : special animation frame number for box of ammo (1-7)
skin_override : Override world type 1=Base Green, 2=Medieval Wood
aflag         : Ammo quantity override
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
BIG      : Double Ammo and different model
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
5 or 10 Rockets for the Grenade (GL) or Rocket Launcher (RL)
*/

//-----------------------------------------------------------------------------
/*QUAKED item_cells (0 .5 .8) (-16 -16 0) (16 16 32) BIG x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/ammo_battery0.mdl"); }
6 or 12 Medieval Battery
-------- KEYS --------
targetname    : toggle state (use trigger ent for exact state)
skin_override : Override world type 1=Base Green, 2=Medieval Wood
aflag         : Ammo quantity override
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
BIG      : Double Ammo and different model
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
6 or 12 Medieval Battery (cells) for the Thunderbolt (LG)
*/

//-----------------------------------------------------------------------------
/*QUAKED item_plasma (0 .5 .8) (-16 -16 0) (16 16 32) BIG x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/ammo_cells0.mdl"); }
6 or 12 Cells
-------- KEYS --------
targetname    : toggle state (use trigger ent for exact state)
frame_box     : special animation frame number for box of ammo (1-7)
skin_override : Override world type 1=Base Green, 2=Medieval Wood
aflag         : Ammo quantity override
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
BIG      : Double Ammo and different model
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
6 or 12 Cells for the Thunderbolt (LG)
*/

//-----------------------------------------------------------------------------
/*QUAKED item_armor1 (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/armour.mdl"); }
Green Armour with 100 points of protection
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
Green Armour with 100 points of protection
*/

//-----------------------------------------------------------------------------
/*QUAKED item_armor2 (0 0.5 0.8) (-16 -16 0) (16 16 56) x BLUESKIN x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/armour.mdl"); }
Yellow Armour with 150 points of protection
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
BLUESKIN : Displays a blue skin instead of yellow
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
Yellow Armour with 150 points of protection
*/

//-----------------------------------------------------------------------------
/*QUAKED item_armorInv (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/armour.mdl"); }
Red Armour with 200 points of protection
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
Red Armour with 200 points of protection
*/

//-----------------------------------------------------------------------------
/*QUAKED item_key1 (0 0.5 0.8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/key_silver.mdl"); }
SILVER key, changes based on worldtype on worldspawn
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
SILVER key, changes based on worldtype on worldspawn
*/

//-----------------------------------------------------------------------------
/*QUAKED item_key2 (0 0.5 0.8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/key_gold.mdl"); }
GOLD key, changes based on worldtype on worldspawn
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
GOLD key, changes based on worldtype on worldspawn
*/

//-----------------------------------------------------------------------------
/*QUAKED item_keyx (0 .5 .8) (-16 -16 -24) (16 16 32) CKEY1 CKEY2 CKEY3 CKEY4 RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/key_medieval.mdl"); }
Custom key
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
mdl          : model name to load/display (progs/model.mdl)
netname      : XXX Part of pickup string "You got the XXX"
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
message2     : particle emitter types = KEYSILVER, KEYGOLD, KEYRED, KEYGREEN, KEYPURPLE, KEYWHITE
-------- SPAWNFLAGS --------
Ckey1 : Custom Key type 1
Ckey2 : Custom Key type 2
Ckey3 : Custom Key type 3
Ckey4 : Custom Key type 4
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Custom key
*/

//-----------------------------------------------------------------------------
/*QUAKED item_custom (0 .5 .8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/key_base.mdl"); }
Custom Pickup Item
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
mdl          : model name to load/display (progs/model.mdl)
netname      : XXX Part of pickup string "You got the XXX"
noise1       : Custom pickup sound (def=weapons/lock4.wav)
pos1         : Pickup bounding box minimum (def=-16 -16 -24)
pos2         : Pickup bounding box maximum (def=16 16 32)
bodyfadeaway : Model will fade away on pickup
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
respawn_time : time to wait before respawning (=-1 instant)
respawn_count: Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
part_active   : = 1 Enable particle burst on pickup
part_ofs      : Particle Origin Offset (def='0 0 0')
part_tcount   : Particle Quantity (def=20)
part_life     : Particle Life Time (def=2s)
part_style    : 1=yellow, 2=green, 3=red, 4=blue, 5=purple, 6=fire, 7=white
part_movetype : 2=center, 3=up, 4=shockwave, 5=skull, 6=lost, 7=minotaur
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
Custom Pickup Item
*/

//-----------------------------------------------------------------------------
/*QUAKED item_sigil (0 0.5 0.8) (-16 -16 -24) (16 16 32) Ep1 Ep2 Ep3 Ep4 RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/key_rune1.mdl"); }
End of episode sigil / rune
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
EP1 : Episode 1 Rune
EP2 : Episode 2 Rune
EP3 : Episode 3 Rune
EP4 : Episode 4 Rune
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
End of episode sigil / rune 
*/

//-----------------------------------------------------------------------------
/*QUAKED item_artifact_tomeofpower (0 .5 .8) (-16 -16 -24) (16 16 32) x x x x x FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/key_tome.mdl"); }
Custom event trigger
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
target       : trigger targets to fire when item touched
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message      : centerprint message when item is picked up
noise        : Custom pickup sound
-------- SPAWNFLAGS --------
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Custom event trigger
*/

//-----------------------------------------------------------------------------
/*QUAKED item_artifact_sharp_shooter (0 0.5 0.8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/artifact_sharp.mdl"); }
Reduces the bullet spread of all Shotguns
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message      : centerprint message when item is picked up
respawn_time : time to wait before respawning (=-1 instant)
respawn_count: Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
cnt          : override duration of artifact (default = 30s)
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
Reduces the bullet spread of all Shotguns
*/

//-----------------------------------------------------------------------------
/*QUAKED item_artifact_nail_piercer (0 0.5 0.8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/artifact_piercer.mdl"); }
All nail attacks will travel through monsters
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message      : centerprint message when item is picked up
respawn_time : time to wait before respawning (=-1 instant)
respawn_count: Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
cnt          : override duration of artifact (default = 30s)
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
All nail attacks will travel through monsters
*/

//-----------------------------------------------------------------------------
/*QUAKED item_artifact_envirosuit (0 0.5 0.8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/artifact_envsuit.mdl"); }
Player takes no damage from water or slime for 30 seconds
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
exactskin    : 0=Original, 1=Green, 2=Brown, 3=Aqua, 4=Blue
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message      : centerprint message when item is picked up
respawn_time : time to wait before respawning (=-1 instant)
respawn_count: Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
cnt          : override duration of artifact (default = 30s)
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Player takes no damage from water or slime for 30 seconds
Immume from Wraith Healing Debuff but take small damage instead
*/

//-----------------------------------------------------------------------------
/*QUAKED item_artifact_wetsuit (0 0.5 0.8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/artifact_wetsuit.mdl"); }
Player takes no damage from water for 5 mins (300s)
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
exactskin    : 0=Original, 1=Green, 2=Brown, 3=Aqua, 4=Blue
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message      : centerprint message when item is picked up
respawn_time : time to wait before respawning (=-1 instant)
respawn_count: Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
cnt          : override duration of artifact (default = 300s)
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Player takes no damage from water for 5 mins (300s)
Immume from Wraith Healing Debuff but take small damage instead
*/

//-----------------------------------------------------------------------------
/*QUAKED item_artifact_invulnerability (0 0.5 0.8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/artifact_pent.mdl"); }
Player is invulnerable for 30 seconds
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message      : centerprint message when item is picked up
respawn_time : time to wait before respawning (=-1 instant)
respawn_count: Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
cnt          : override duration of artifact (default = 30s)
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Player is invulnerable for 30 seconds
Immume from Wraith Healing Debuff
*/

//-----------------------------------------------------------------------------
/*QUAKED item_artifact_invisibility (0 0.5 0.8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/artifact_invis.mdl"); }
Player is invisible for 30 seconds
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message      : centerprint message when item is picked up
respawn_time : time to wait before respawning (=-1 instant)
respawn_count: Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
cnt          : Duration override of artifact (default = 30s)
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Player is invisible for 30 seconds
*/

//-----------------------------------------------------------------------------
/*QUAKED item_artifact_super_damage (0 0.5 0.8) (-16 -16 -24) (16 16 32) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/artifact_quad.mdl"); }
The next attack from the player will do 4x damage
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message      : centerprint message when item is picked up
respawn_time : time to wait before respawning (=-1 instant)
respawn_count: Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
cnt          : Duration override of artifact (default = 30s)
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
The next attack from the player will do 4x damage
*/

//-----------------------------------------------------------------------------
/*QUAKED item_backpack (0 .5 .8) (-16 -16 0) (16 16 56) SHELLS NAILS ROCKETS CELLS RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/w_backpack.mdl"); }
Backpack with random/exact amount of ammo
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
count        : random amount of ammo to give (works with spawnflags)
ammo_shells  : exact amount of shells
ammo_nails   : exact amount of spikes
ammo_rockets : exact amount of rockets
ammo_cells   : exact amount of cells
armorvalue   : armor shards (gives green armor if none present)
armortype    : 1 = random amount of armor shards (uses count)
exactskin    : 0=Original, 1=green, 2=blue, 3=red, 4=yellow, 5=swamp, 6=white, 7=pale
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
noise         : pickup sound (def=items/backpack_ammo.wav)
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
SHELLS  : ammo for SG / SSG / RG
NAILS   : ammo for NG / SNG
ROCKETS : ammo for GL / RL
CELLS   : ammo for LG
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Backpack with random/exact amount of ammo
*/

//-----------------------------------------------------------------------------
/*QUAKED item_backpack_armour (1 1 .25) (-16 -16 0) (16 16 56) GRN YEL RED x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/w_backpack.mdl"); }
Backpack with random/exact amount of armour
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
armorvalue   : armor (def=15) shards (gives green armor if none present)
armortype    : 1 = random amount of armor shards (uses count)
exactskin    : 0=Original, 1=green, 2=blue, 3=red, 4=yellow (def), 5=swamp, 6=white, 7=pale
message       : centerprint message when item is picked up
noise         : pickup sound (def=items/backpack_armour.wav)
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
GRN : Green armour type (green particle)
YEL : Yellow armour type (yellow particle)
RED : Red armour type (red particle)
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Backpack with random/exact amount of armour
*/

//=============================================================================
//
// WEAPON entities
//
//=============================================================================
/*QUAKED weapon_upgrade_axe (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_shadaxe.mdl"); }
Shadow Axe, extra dmg and gib zombies
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Shadow Axe, extra dmg and gib zombies
*/

//-----------------------------------------------------------------------------
/*QUAKED weapon_upgrade_ssg (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_shot3.mdl"); }
The Widowmaker Shotgun, extra dmg, triple shot
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
The Widowmaker Shotgun, extra dmg, triple shot
*/

//-----------------------------------------------------------------------------
/*QUAKED weapon_upgrade_lg (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_plasma.mdl"); }
The Plasma Gun, direct & splashdamage
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
The Plasma Gun, direct & splashdamage
*/

//-----------------------------------------------------------------------------
/*QUAKED weapon_shotgun (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_shot1.mdl"); }
Shotgun
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Shotgun
*/

//-----------------------------------------------------------------------------
/*QUAKED weapon_supershotgun (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_shot2.mdl"); }
Super Shotgun
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Super Shotgun
*/

//-----------------------------------------------------------------------------
/*QUAKED weapon_nailgun (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_nail.mdl"); }
Perforator (Nailgun)
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Perforator (Nailgun)
*/

//-----------------------------------------------------------------------------
/*QUAKED weapon_supernailgun (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_nail2.mdl"); }
Super Perforator (Super Nailgun)
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Super Perforator (Super Nailgun)
*/

//-----------------------------------------------------------------------------
/*QUAKED weapon_grenadelauncher (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_rock.mdl"); }
Grenade Launcher
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Grenade Launcher
*/

//-----------------------------------------------------------------------------
/*QUAKED weapon_rocketlauncher (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_rock2.mdl"); }
Rocket Launcher
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Rocket Launcher
*/

//-----------------------------------------------------------------------------
/*QUAKED weapon_lightning (0 0.5 0.8) (-16 -16 0) (16 16 56) x x x x RESPAWN FLOAT STARTOFF NOEFFECTS NOT_EASY NOT_NORMAL NOT_HARD NOT_DM
{ model(":progs/g_light.mdl"); }
Thunderbolt Cannon
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
upgrade_ssg  : = 1 will only spawn if shotgun upgrade active on server
upgrade_axe  : = 1 will only spawn if axe upgrade active on server
upgrade_lg   : = 1 will only spawn if lightning gun upgrade active on server
message       : centerprint message when item is picked up
respawn_time  : time to wait before respawning (=-1 instant)
respawn_count : Total amount of times to respawn (counts down to zero)
respawn_trig  : = 1 Wait for trigger before respawning
-------- SPAWNFLAGS --------
RESPAWN  : Can respawn after being picked up
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
NOEFFECTS: No particle or effects active
-------- NOTES --------
Thunderbolt Cannon
*/

//=============================================================================
//
// FUNCTIONS
//
//=============================================================================

/*QUAKED func_button (0 .5 .8) ? x x x x x STARTDIS STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Button (bmodel) with two states
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target : name of target(s) to trigger at the start of the wait phase
angle  : determines the move direction, use "360" for angle 0
speed  : Move Speed (def=40)
wait   : wait before returning (def=1, -1 = never return)
lip    : lip remaining at end of move. (def=4)
health : Can be damaged instead of touched
sounds : 0=steam metal, 1=wooden, 2=metallic, 3=in-out, 4=Silent, 5=Custom
noise  : custom sound - 1st movement
noise1 : custom sound - 2nd movement ('buttons/switch21.wav')
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
STARTDIS : Starts disabled and waits for trigger
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Button (bmodel) with two states
*/

//-----------------------------------------------------------------------------
/*QUAKED func_door (0 .5 .8) ? STARTOPEN SPAWNTRIG DONTLINK GOLD SILVER TOGGLE STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Door (bmodel) with 2 states
-------- KEYS --------
targetname : = "" door automatically opens, != "" requires trigger to open
if using entity state system set SPAWN_TRIG spawnflags to fix this problem
target   : name of target(s) to trigger at the start opening sequence
angle    : determines the opening direction, use "360" for angle 0
speed    : movement speed (def=100)
yaw_speed: return movement speed (def=self.speed)
wait     : wait before returning (def=3, -1 = never return)
lip      : lip remaining at end of move. (def=8)
health   : Can be damaged instead of touched
dmg      : damage to inflict when blocked. (def=2)
message  : centerprint message when touched (removed when opened)
sounds   : 0 = silent 1 = stone 2 = base 3 = stone chain 4 = screechy metal 5 = custom
locksounds : 0 = talktalk 1 = short rattle, 2 = medium rattle, 3 = long rattle
noise    : custom sound - door locked sound (targetname+message)
noise1   : custom sound - Moving/Open door (looping)
noise2   : custom sound - Stop/Close door 
noise3   : custom sound - Silver/Gold key try lock
noise4   : custom sound - Silver/Gold key OPEN
customkey : custom key required to open door (1-4 supported values)
message2 : custom key message (You need the custom key)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
STARTOPEN : door opens in reverse state (moved to dest at spawn)
SPAWNTRIG : Will spawn trigger around door even if targetname SETUP
DONTLINK  : Touching doors will not link into a single entity
GOLD      : Requires gold key to open
SILVER    : Requires silver key to open
TOGGLE    : Door waits in start and end states for a trigger
STARTOFF  : Starts off and waits for trigger
-------- NOTES --------
Door (bmodel) with 2 states
*/

//-----------------------------------------------------------------------------
/*QUAKED func_door_secret (0 .5 .8) ? OPEN_ONCE 1ST_LEFT 1ST_DOWN NO_SHOOT ALWAYS_SHOOT x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
A Door (bmodel) with 2 states and multiple stages
-------- KEYS --------
targetname : = "" door opens with damage, != "" requires trigger to open
if using entity state system set ALWAYS_SHOOT spawnflags to fix this problem
target    : name of target(s) to trigger at the start opening sequence
angle     : determines the opening direction, use "360" for angle 0
speed     : movement speed (default = 50)
yaw_speed : 2nd movement speed (default = speed)
t_width   : First Distance, override Width to move back (or height if going down)
t_length  : Second Distance, override Length to move sideways
wait      : wait before returning (default = 5)
dmg       : damage to inflict when blocked. (default = 2)
message   : centerprint message when touched (removed when opened)
sounds    : 1 =  medieval 2 = metal 3 = base(def) 4 = Silent 5 = custom
locksounds: 0 = talktalk 1 = short rattle, 2 = medium rattle, 3 = long rattle
noise     : custom sound - door locked sound (targetname+message)
noise1    : custom sound - Open
noise2    : custom sound - Opening (looping)
noise3    : custom sound - Closed
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
ONCE_ONLY : Stays Open
1ST_LEFT  : 1st move is left of arrow
1ST_DOWN  : 1st move is down from arrow
NO_SHOOT  : only opened by trigger
ALWAYS_SHOOT : Always Shootable, even if targeted
STARTOFF  : Starts off and waits for trigger
-------- NOTES --------
A Door (bmodel) with 2 states and multiple stages
*/

//-----------------------------------------------------------------------------
/*QUAKED func_plat (0 .5 .8) ? LOW_TRIGGER x MIN_TRIGGER START_LOWER START_OPEN STARTDIS STARTOFF x
A Platform (bmodel) with 2 states
-------- KEYS --------
targetname : = "" plat start low, != "" plat starts high and reqs trigger to work
if using entity state system set START_LOWER spawnflags to fix this problem
speed  : moving speed (def=150)
height : determines the distance to move, instead of bmodel bounds
sounds : 1=Base, 0 or 2=Medieval (def), 4=Silent, 5=Custom sounds
noise  : custom sound - moving (looping)
noise1 : custom sound - Stopped
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
LOW_TRIGGER : touch trigger will not keep the platform at the top, will reset
MIN_TRIGGER : uses the min bounding box (instead of max) to calculate trigger
START_LOWER : will start the platform lower regardless of targetname
START_OPEN : Used for lighting issues, place at bottom position
STARTDIS : Starts disabled and waits for trigger
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Platforms are always created in the upper position, so they can be lit better.
If targetname is defined the func_plat starts high and is locked until triggered
Once the func_plat has been triggered, it will become a normal platform.
*/

//-----------------------------------------------------------------------------
/*QUAKED func_train (0 .5 .8) ? STARTON NONSOLID MODEL TOUCH x REVERSE STARTOFF x
Bmodel platform moving around entity chain
-------- KEYS --------
targetname : = "" start moving straight away != "" wait for trigger
target : Name of first path_corner to start at (instant move)
mdl    : Specify a model for MODEL mode only (progs/object.mdl)
speed  : moving speed (def=100)
dmg    : block damage (def=2)
sounds : 0=Silent, 1=Ratchet Metal, 5=Custom sounds
noise  : custom sound - stopped
noise1 : custom sound - moving (looping)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
STARTON  : Start moving straight away if targetname is used
NONSOLID : No collision or blocking functionality (uses bmodel)
MODEL    : Model with no collision (use mdl key, def=empty model)
TOUCH    : Nonsolid or model trains have touch damage (dmg)
REVERSE  : Start going backward through path_corner chain
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
The target's origin specifies the min point of the train at each corner. 
The train spawns at the first target it is pointing at. 
Use a chain of path_corners to specify which direction to travel
*/

//-----------------------------------------------------------------------------
/*QUAKED path_corner (0.5 0.3 0) (-8 -8 -24) (8 8 24) EXACT INSTANT REVERSE NOPAUSE x x x x
Node based path routing system
-------- KEYS --------
targetname   : Name of current path corner
corner_event : Name of target(s) to trigger when used/touched
corner_route : Change path_corner route (1-3 routes, 4=exact, 5=random)
corner_switch: Change spawnflags REVERSE (-1=NO, 1=YES, 2=Toggle)
corner_pause : Change spawnflags NOPAUSE (-1=NO, 1=YES, 2=Toggle)
corner_speed : Change the speed of target path_corner, for train use only
state        : Starting route (1=forward, 2=alt forward, 3=backward)
target       : Targetname of FORWARD route
target2      : Alternative FORWARD route
targetback   : Override default BACKWARD route
wait   : fixed amount of time to pause at corner (=-1 stop)
delay  : random amount of time to pause at corner
alpha  : Override default for visual arrows (def=0.35)
speed  : Override default speed of func_train (def=100)
-------- SPAWNFLAGS --------
EXACT     : Exact route logic (def=random route choices)
INSTANT   : Move instantly to this corner if next destination
REVERSE   : Train direction is reversed for next corner
NOPAUSE   : Train does not pause on this path corner
-------- NOTES --------
Node based path routing system
*/

//-----------------------------------------------------------------------------
/*QUAKED func_wall (0 .5 .8) ? x AFRAME x x MODCHECK STATIC STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
A SOLID bmodel with toggled animated texture
-------- KEYS --------
targetname : trigger entity (works with entity state system)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
AFRAME   : Start with the A frame animated texture
MODCHECK : Will remove this entity if THIS mod is active
STATIC : Turn entity into static upon spawn (frame 0)
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
A SOLID bmodel with toggled animated texture
*/

//-----------------------------------------------------------------------------
/*QUAKED func_illusionary (0 .5 .8) ? x AFRAME x x x STATIC STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
A NON SOLID bmodel with texture toggle
-------- KEYS --------
targetname : trigger entity (works with entity state system)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
AFRAME   : Start with the A frame animated texture
STATIC : Turn entity into static upon spawn (frame 0)
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
A NON SOLID bmodel with texture toggle
*/

//-----------------------------------------------------------------------------
/*QUAKED func_episodegate (0 .5 .8) ? E1 E2 E3 E4 x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
SOLID bmodel when player has SELECTED rune(s)
-------- KEYS --------
targetname : trigger entity (works with entity state system)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
E1 : Episode 1
E2 : Episode 2
E3 : Episode 3
E4 : Episode 4
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
SOLID bmodel when player has SELECTED rune(s)
*/

//-----------------------------------------------------------------------------
/*QUAKED func_bossgate (0 .5 .8) ? x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
A NON SOLID bmodel when player has ALL runes
-------- KEYS --------
targetname : trigger entity (works with entity state system)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
A NON SOLID bmodel when player has ALL runes
*/

//-----------------------------------------------------------------------------
/*QUAKED func_laser (0 .5 .8) ? x SOLID NODMG x x x STARTOFF x
A togglable laser, hurts to touch, can be used to block players
-------- KEYS --------
targetname : trigger entity (works with entity state system)
message    : message to display when switched ON
message2   : message to display when switched OFF
wait       : -1 = will display the switching state messages only once
dmg        : damage to do on touch. default 1 per 0.1s
alpha      : alpha value will vary +/- 20% (def=0.5)
sounds     : 1=laser, 2=power, 4=silent, 5=custom
noise1     : switched ON sound
noise2     : switched OFF sound
spr_frame  : 1=Yellow, 2=Green, 4=Red, 8=Blue, 16=Purple, 32=Fire, 64=White
angle       : Direction of particles to move (def=-2 down)
part_limit : Maximum active quantity of particles (def=25)
part_life  : Lifetime of particle (def=2s)
part_velrand: Random movement of particles (def='4 4 4')
part_vol    : Size of area to spawn particles in (def=bmodel)
wakeup_dist : Distance to wakeup particle emitter (def=768)
spawn_base  : Minimum time frame to spawn particles (def=0.1s)
spawn_rand  : Random time amount to add to spawning times (def=0.1s)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
SOLID    : Will block anything
NODMG    : Touch damage disabled
STARTOFF : Requires trigger to activate
-------- NOTES --------
A togglable laser, hurts to touch, can be used to block players
*/

//-----------------------------------------------------------------------------
/*QUAKED func_explobox (0 0.5 0.8) ? x x x x x x STARTOFF x
Exploding box (bmodel)
-------- KEYS --------
target      : trigger events when box explodes
noise       : Explosion sound (def=weapons/r_exp3.wav)
health      : Amount of health before exploding (def=15)
dmg         : Override radius damage (def=160)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Exploding box (bmodel)
*/

//-----------------------------------------------------------------------------
/*QUAKED func_skill (0 .5 .8) ? STARTOPEN x x x x START_OFF x
This is a special bmodel that changes texture based on current skill level
Will keep checking skill level until triggered (based on door QC code)
-------- KEYS --------
targetname  : trigger entity (works with entity state system)
style       : Skill Level - 0 = easy, 1 = normal, 2 = hard, 3 = nightmare
message2    : Override message to display when bmodel is touched/damaged
target      : Particle emitters to switch on/off
target2     : target(s) to fire when touched/damaged
health      : Can be damaged instead of touched
angle       : movement direction for trigger event
speed       : movement speed (100 default)
lip         : lip remaining at end of move (8 default)
noise1      : Custom sound - Stop moving (doors/drclos4.wav)
noise2      : Custom sound - Start/Loop moving (doors/stndr1.wav)
noise3      : Custom sound - Touching (plats/medplat2.wav)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
STARTOPEN : bmodel works in reverse state (moved to dest at spawn)
STARTOFF  : Starts off and waits for trigger
-------- NOTES --------
Visual skill selection/update function
*/

//-----------------------------------------------------------------------------
/*QUAKED func_bob (0 .5 .8) ? x x NONSOLID x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
A SOLID bmodel that gently moves back and forth
-------- KEYS --------
targetname : trigger entity (works with entity state system)
angle    : direction movement, use "360" for angle 0
height   : direction intensity (def=4)
count    : direction cycle timer (def=2s, minimum=1s)
waitmin  : Speed up scale (def=1) 1+=non linear
waitmin2 : Slow down scale (def=0.75)
delay    : Starting time delay (def=0, -1=random)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
NONSOLID : Bmodel is non solid (only func_bob)
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
A SOLID bmodel that gently moves back and forth
*/

//=============================================================================
//
// TRIGGERS
//
//=============================================================================
/*QUAKED trigger_once (0.5 0 0.5) ? NOTOUCH x DEVMODE INVIEW MODCHECK MONSTERS STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Variable sized bmodel that uses once
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target  : trigger all these targets
upgrade_ssg : = 1 will only trigger if shotgun upgrade active on server
upgrade_axe : = 1 will only trigger if axe upgrade active on server
upgrade_lg  : = 1 will only trigger if lightning gun upgrade active on server
health  : Can be damaged instead of touched
wait    : Always -1
delay : delay before firing (after being triggered)
angle   : Facing Direction for trigger to work, use "360" for angle 0.
sounds  : 1=Secret,2=talk(def),3=switch,4=silent,5=custom,6=secret2
noise   : custom sound to play when triggered
message : message to display when triggered
t_length : Inview distance (less than) to activate trigger
-------- SPAWNFLAGS --------
NOTOUCH  : can only be triggered via other entities
DEVMODE  : Will only trigger if developer mode active
INVIEW   : Player has to be infront and look at trigger (>30 & <60)
MODCHECK : Will remove this entity if THIS mod is active
MONSTERS : can be touched/triggered by monsters
STARTOFF : Requires trigger to activate
-------- NOTES --------
Variable sized bmodel that uses once
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_multiple (0.5 0 0.5) ? NOTOUCH x x DEVMODE MODCHECK MONSTERS STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Variable sized bmodel that uses multiple times
------- KEYS --------
targetname : trigger entity (works with entity state system)
target  : trigger all these targets
upgrade_ssg : = 1 will only trigger if shotgun upgrade active on server
upgrade_axe : = 1 will only trigger if axe upgrade active on server
upgrade_lg  : = 1 will only trigger if lightning gun upgrade active on server
health  : Can be damaged instead of touched
wait    : time between re-triggering
delay : delay before firing (after being triggered)
angle   : Facing Direction for trigger to work, use "360" for angle 0.
sounds  : 1=Secret,2=talk(def),3=switch,4=silent,5=custom,6=secret2
noise   : custom sound to play when triggered
message : message to display when triggered
-------- SPAWNFLAGS --------
NOTOUCH  : can only be triggered via other entities
DEVMODE  : Will only trigger if developer mode active
MODCHECK : Will remove this entity if THIS mod is active
MONSTERS : can be touched/triggered by monsters
STARTOFF : Requires trigger to activate
------- NOTES --------
Variable sized bmodel that uses multiple times
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_secret (.5 0 .5) ? NOTOUCH NOMSG x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Update map secret counter
------- KEYS --------
targetname : trigger entity (works with entity state system)
target  : name of target(s) to trigger
upgrade_ssg : = 1 will only trigger if shotgun upgrade active on server
upgrade_axe : = 1 will only trigger if axe upgrade active on server
upgrade_lg  : = 1 will only trigger if lightning gun upgrade active on server
health  : Can be damaged instead of touched
wait    : Always -1
angle   : Facing Direction for trigger to work, use 360 for angle 0.
sounds  : 1=Secret(def),2=talk,3=switch,4=silent,5=custom,6=secret2
noise   : custom sound to play when triggered
message : message to display when triggered
-------- SPAWNFLAGS --------
NOTOUCH : can only be triggered via other entities
NOMSG   : Remove/Block any trigger secret message
STARTOFF : Requires trigger to activate
------- NOTES --------
Update map secret counter
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_relay (0.5 0 0.5) (-8 -8 -8) (8 8 8) x RANDOM x x x STARTDIS x x Not_Easy Not_Normal Not_Hard
Triggers target(s) with custom sounds and messages
-------- KEYS --------
targetname : trigger entity
target  : targets to trigger when relay is activated
target2 : secondary targets to trigger when activated
upgrade_ssg : = 1 will only trigger if shotgun upgrade active on server
upgrade_axe : = 1 will only trigger if axe upgrade active on server
upgrade_lg  : = 1 will only trigger if lightning gun upgrade active on server
wait    : -1 = will only fire targets once
delay   : delay before firing (after being triggered)
cnt     : random amount of time to add to delay
waitmin : % random chance between target/target2
sounds  : 1=Secret,2=talk(def),3=switch,4=silent,5=custom,6=secret2
noise   : custom sound to play when triggered
message : message to display when triggered
-------- SPAWNFLAGS --------
RANDOM : Will randomly select between target/target2
STARTDIS : Will start disabled, will req trigger_entitystate_on to enable
-------- NOTES --------
This fixed size trigger cannot be touched, it can only be fired by other events.  
Can contain killtargets, targets, delays, and messages.
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_counter (0.5 0 0.1) (-8 -8 -8) (8 8 8) NOMESSAGE x x x EXACTNO STARTDIS STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
A counter which triggers target(s) when complete
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target  : trigger target(s) when complete
message2 : message to display when complete (ignores NOMESSAGE spawnflag)
count   : number of triggers needed to fire own target, (def=2)
delay   : time delay to fire final trigger event
sounds  : 1=Secret,2=talk(def),3=switch,4=silent,5=custom,6=secret2
noise   : custom sound to play when complete
-------- SPAWNFLAGS --------
NOMESSAGE : disables count display
EXACTNO : display exact number when counting down
STARTDIS : Starts disabled and waits for trigger
STARTOFF : Requires trigger to activate
-------- NOTES --------
A counter which triggers target(s) when complete
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_engine (0 0 1) (-8 -8 -16) (8 8 16) FITZ DP FTE x RAIN SNOW x x
Triggers target(s) when certain engine active
-------- KEYS --------
targetname : trigger entity
target  : targets to trigger when relay is activated
wait    : -1 = will only fire targets once
delay   : delay before firing (after being triggered)
cnt     : random amount of time to add to delay
-------- SPAWNFLAGS --------
FITZ : Only trigger for Fitz engines (default type)
DP   : Only trigger for DP engine
FTE  : Only trigger for FTE/QSS engines
RAIN : Check for rain effect being active
SNOW : Check for snow effect being active
-------- NOTES --------
Triggers target(s) when certain engine active
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_teleport (0.5 0 0.5) ? PLAYER_ONLY SILENT STARTON x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Teleport player/monsters to target location
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target : Points to info_teleport_destination entity
wait   : -1 = trigger once condition (def=0)
speed  : forward momentum speed after teleporting (def=300)
volume : teleporter hum sound volume (def=0.5)
noise  : custom sound to play when active (must be looped, def=hum1.wav)
waitmin : the length of the custom sound (def=3.622 for hum1.wav)
-------- SPAWNFLAGS --------
PLAYER_ONLY : Can only be used by players (nothing else)
SILENT      : No teleporter hum sound regardless of state
STARTON     : Will start active regardless of targetname setting
STARTOFF    : Starts off and waits for trigger
-------- NOTES --------
Teleport player/monsters to target location
if targetname is setup, the teleporter requires a trigger to activate
This entity cannot be damaged and is always touchable once activated
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_push (0.5 0 0.5) ? PUSH_ONCE SILENT NOMONSTER x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Push the Player/Monsters and Grenade/Eggs!
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target : target entity for custom direction
angle  : direction of push (-2 is down, -1 up)
angles : Pitch Yaw Roll (up/down, angle, tilt left/right)
speed  : Speed of push direction (def=1000)
-------- SPAWNFLAGS --------
PUSH_ONCE : trigger_once functionality
SILENT : No wind sound for player
NOMONSTER : Monsters cannot be pushed by this trigger
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Push the Player/Monsters, player/ogre grenades and minion eggs!
This entity cannot be damaged and is always touchable once activated
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_fog (.5 .5 .5) ? x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Trigger change global fog to new value over time
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target  : name of target(s) to trigger
speed   : time (secs) to fade from current to new (-1 = instant, 2s = default)
wait    : time between re-triggering (def=2s, -1=once)
angle   : Facing Direction for trigger to work, use "360" for angle 0.
fog_density : new fog density (def=0.5, -1=debug mode)
fog_colour  : new fog colours (def=0.1 0.1 0.1)
-------- SPAWNFLAGS --------
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Trigger change global fog to new value over time
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_ladder (.5 .5 .5) ? x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Invisible brush based ladder (jump key to climb)
-------- KEYS --------
targetname : trigger entity (works with entity state system)
angle    : direction player must be facing to climb ladder (required)
waitmin  : time between climb sound (def = depends on sound type)
speed    : velocity speed to climb ladder (def=160)
sounds   : 1=metal, 2=wood, 3=rope, 4=silent, 5=custom (def=wood)
noise1-4 : custom sounds to play when climbing ladder
-------- SPAWNFLAGS --------
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Invisible brush based ladder (jump key to climb)
This entity cannot be damaged and is always touchable once activated
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_hurt (.5 .5 .5) ? x BUBBLES MONSTER_ONLY x MODCHECK FALLING STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Will hurt any touching entity
-------- KEYS --------
targetname : trigger entity (works with entity state system)
dmg     : damage from contact with trigger (def=5)
wait    : time between pain contact (def=1s)
angle   : Facing Direction for trigger to work, use "360" for angle 0.
speed   : used by falling spawnflag for velocity check (def=300)
height  : Maximum travel distance up for bubbles (default trigger size)
count   : total amount of active bubbles at once (default 5)
style   : 1-15 (grey,brown1,blue1,green1,red1,brown2,pinkyel,brown3,purp1,purp2,brown4,green2,yellow,blue2,red2)
yaw_speed : spawning rate (def=0.5) for bubbles (speed + random() x speed)
-------- SPAWNFLAGS --------
BUBBLES  : Spawn bubbles within trigger volume when active
MONSTER_ONLY : Will only affect monsters
MODCHECK : Will remove this entity if THIS mod is active
FALLING  : Only hurts if the player is falling (speed=velocity)
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Will hurt any touching entity that can take damage
This entity cannot be damaged and is always touchable once activated
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_heal (.5 .5 .5) ? x BUBBLES x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Heals any player who touches this trigger
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target  : trigger once when players stands in trigger (start cycle)
target2 : trigger once when healing expires (finish cycle)
wait    : time between healing (default 1s)
healamount : amount to heal each time touched (default 10)
max_health : total amount to heal (default 50, -1=no limit)
sounds  : 1=heal_15, 2=heal_25, 3=heal_100, 4=respawn, 5=custom (default 1)
noise   : Custom sound for healing
lip     : All messages are silent to the player (heal/expire) 1=block heal 2=block all
message : centerprints when players stands in trigger
message2 : centerprints when healing function has expired
height  : Maximum travel distance up for bubbles (default trigger size)
count   : total amount of active bubbles at once (default 5)
style   : 1-15 (grey,brown1,blue1,green1,red1,brown2,pinkyel,brown3,purp1,purp2,brown4,green2,yellow,blue2,red2)
yaw_speed : spawning rate (def=0.5) for bubbles (speed + random() x speed)
-------- SPAWNFLAGS --------
BUBBLES  : Spawn bubbles within trigger volume when active
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Heals any player who touches this trigger, can be triggered on/off and produces 
bubbles within the bounding box of the trigger when spawnflag enabled
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_touchsound (.5 .5 .5) ? x x WORLDGEO DRAIN x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Plays sounds when touched by the player
------- KEYS --------
targetname : trigger entity (works with entity state system)
sounds     : 1=Water (def) 2=Slime 3=Lava 4=silent 5=custom
noise      : Custom trigger touch sound
noise1     : Custom trigger exit sound
noise2     : Custom draining sound
speed      : Time (def=1.5s) to drain liquid
yaw_speed  : Vertical drain speed (def=0.05)
super_time : Time delay playing drain sound
water_alpha: Alpha value for liquid (override worldspawn)
-------- SPAWNFLAGS --------
WORLDGEO : Drawn bmodel (not just a trigger)
DRAIN    : Drain effect when trigger_disabled
STARTOFF : Requires trigger to activate
------- NOTES --------
Plays sounds when touched by the player
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_changelevel (0.5 0 0.5) ? NO_INTERMIS RESETINV SECSPAWN x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Finish current map, show intermission screen and loads next
-------- KEYS --------
targetname  : trigger entity (works with entity state system)
target      : name of target(s) to trigger before intermission
map         : The name of next map (e.g. e1m1) default=same map
startspawn2 : Special unique number (1-7) which must match info_player_start2
-------- SPAWNFLAGS --------
NO_INTERMIS : No Intermission screen 
RESETINV    : Reset player inventory to default (Shotgun+Shells)
SECSPAWN    : Start at second info_player spawn
STARTOFF    : Starts off and waits for trigger
-------- NOTES --------
Finish current map, show intermission screen and loads next
This entity cannot be damaged and is always touchable once activated
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_setskill (0.5 0 0.5) ? NOTOUCH x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Sets player skill level (via console)
-------- KEYS --------
targetname : trigger entity (works with entity state system)
health  : Can be damaged instead of touched
wait    : time between re-triggering (def=0.2s, -1=once)
angle   : Facing Direction for trigger to work, use "360" for angle 0.
message : Skill Level - 0 = easy, 1 = normal, 2 = hard, 3 = nightmare
-------- SPAWNFLAGS --------
NOTOUCH  : can only be triggered via other entities
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Sets player skill level (via console)
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_rune (0.5 0 0.5) ? R1 R2 R3 R4 x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
A Trigger that fires once if the player has certain runes
-------- KEYS --------
targetname : trigger entity (works with entity state system)
health  : Can be damaged instead of touched
angle   : Facing Direction for trigger to work, use "360" for angle 0.
target  : trigger to fire if player has MIXTURE of runes
noise1  : trigger to fire if player has rune 1
noise2  : trigger to fire if player has rune 2
noise3  : trigger to fire if player has rune 3
noise4  : trigger to fire if player has rune 4
wait    : = -1 Only trigger once if the player has runes
-------- SPAWNFLAGS --------
R1 : Rune 1
R2 : Rune 2
R3 : Rune 3
R4 : Rune 4
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
There are two ways this trigger can be used, a single check for multiple
runes using target key OR individual triggers for runes using noise 1-4 keys
This trigger is designed to work once when rune conditions are met
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_monsterjump (.5 .5 .5) ? x FLYING SWIMMING x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Push monsters in a certain direction
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target : target entity for custom direction
wait   : -1 = trigger_once functionality
angle  : direction of push (-2 is down, -1 up)
speed  : the speed thrown forward (def 200)
height : the speed thrown upwards (def 200)
noise1 : specify classname that CAN use this trigger (noise1=monster_dog)
-------- SPAWNFLAGS --------
FLYING   : Will affect flying monsters
SWIMMING  : Will affect swimming monsters
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Push monsters in a certain direction
This entity cannot be damaged and is always touchable once activated
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_drolejump (.5 .5 .5) ? x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Will only work for ENRAGED Droles
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target : target entity for custom direction
wait   : -1 = trigger_once functionality
angle  : direction of push (-2 is down, -1 up)
speed  : the speed thrown forward (def 200)
height : the speed thrown upwards (def 200)
-------- SPAWNFLAGS --------
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Will only work for ENRAGED Droles
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_nomonjump (.5 .5 .5) ?
Use trigger_monsternojump instead!
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Use trigger_monsternojump instead!
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_monsternojump (.5 .5 .5) ? x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Stop monsters from using jump attack
-------- KEYS --------
targetname : trigger entity (works with entity state system)
wait   : -1 = trigger_once functionality
delay  : time to delay jump attack by (def=0.5s)
waitmin: Re-trigger timer to stop touch flooding (def=0.1s)
noise1 : specify classname that CAN use this trigger (noise1=monster_dog)
-------- SPAWNFLAGS --------
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Stop monsters from using jump attack
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_monsterdrop (0 .5 .5) (-8 -8 -8) (8 8 8) x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Drop monster(s) to floor
-------- KEYS --------
targetname : trigger entity (works with entity state system)
wait   : -1 = trigger_once functionality
height : the speed thrown upwards (def 50)
-------- SPAWNFLAGS --------
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Drop monster(s) to floor
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_monsterturret (0.5 0.3 0) ? x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Temporarily turn a monster into a turret
-------- KEYS --------
targetname : trigger entity (works with entity state system)
wait   : -1 = Only trigger a monster turret function once
count  : random chance to pause; constant = -1, def = 0.25, range = 0 - 1
noise1 : only works with this type of monster (monster_ogre)
-------- SPAWNFLAGS --------
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Temporarily turn a monster into a turret
This entity cannot be damaged and is always touchable once activated
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_monstermovespeed (0.5 0 0.5) (-8 -8 -16) (8 8 16) x
Toggle the monster move speed state
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target  : this points to the monster(s) to affect
state   : -1 = No movement, 0 = Toggle, 1 = Free movement
wait    : -1 = trigger once only
-------- SPAWNFLAGS --------
-------- NOTES --------
Toggle the monster move speed state
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_itemrespawnupd (0.5 0 0.5) (-8 -8 -16) (8 8 16) x x x x RESPAWN x x x
Change the state of respawn flag on items
-------- KEYS --------
targetname : trigger entity
target  : this points to the item to affect
-------- SPAWNFLAGS --------
RESPAWN : Value of respawn flag to copy to item
-------- NOTES --------
Change the state of respawn flag on items
Useful for switching off respawning items after arena fight is over
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_clientmsg (0.5 0.5 0) (-8 -8 -16) (8 8 16) x
Centerprints a message to all clients
-------- KEYS --------
targetname : trigger entity
message : Text to center print
sounds  : 1=Secret,2=talk,3=switch,4=silent(def),5=custom,6=secret2
noise   : custom sound to play when triggered
-------- SPAWNFLAGS --------
-------- NOTES --------
Centerprints a message to all clients
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_monsterkill (0.5 0 0.5) (-8 -8 -16) (8 8 16) x x x x DEATH x x x
Remove monster(s) from the map
-------- KEYS --------
targetname : Name of this trigger entity
target  : Name of monster(s) to remove/stop
-------- SPAWNFLAGS --------
DEATH : kill monsters via death function
-------- NOTES --------
Remove monster(s) from the map
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_monsterattack (0.5 0 0.5) (-8 -8 -16) (8 8 16) x
Force a monster to attack a certain target
-------- KEYS --------
targetname : Name of this trigger entity
target  : Name of monster to affect
target2 : Name of entity to attack
-------- SPAWNFLAGS --------
-------- NOTES --------
Force a monster to attack a certain target
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_void (.5 0 .5) ? NO_CLIENT NO_MONSTER NO_AMMO NO_EGG NO_GIB NO_ITEM STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Garbage collector for bottom of skyboxes
------- KEYS --------
targetname : trigger entity (works with entity state system)
-------- SPAWNFLAGS --------
NO_CLIENT  : Ignore clients (anything flagged as a client)
NO_MONSTER : Ignore monsters (anything flagged as a monster)
NO_AMMO    : Ignore ammo types (all ammo projectile types)
NO_EGG     : Ignore minion eggs (affects shalrath, wraiths)
NO_TEMP    : Ignore temporary ents (gibs, sparks, smoke)
NO_ITEM    : Ignore items (weapons,armor,keys,runes,powerups)
STARTOFF : Requires trigger to activate
------- NOTES --------
Garbage collector for bottom of skyboxes
*/

//======================================================================
/*QUAKED trigger_entitystate_on (.7 .5 1) (-8 -8 -16) (8 8 16) x
Switch the target(s) entity state ON 
-------- KEYS --------
target : target entities to switch on
target2 : more target(s) to affect
-------- SPAWNFLAGS --------
-------- NOTES --------
Switch the target(s) entity state ON 
*/

/*QUAKED trigger_entitystate_off (.7 .5 1) (-8 -8 -16) (8 8 16) x
Switch the target(s) entity state OFF 
-------- KEYS --------
target : target entities to switch off
target2 : more target(s) to affect
-------- SPAWNFLAGS --------
-------- NOTES --------
Switch the target(s) entity state OFF 
*/

/*QUAKED trigger_entitystate_disable (.7 .5 1) (-8 -8 -16) (8 8 16) x
Switch the target(s) entity state DISABLE 
-------- KEYS --------
target : target entities to switch disable
target2 : more target(s) to affect
-------- SPAWNFLAGS --------
-------- NOTES --------
Switch the target(s) entity state DISABLE
*/

/*QUAKED trigger_entitystate_reset (.7 .5 1) (-8 -8 -16) (8 8 16) x
Switch the target(s) entity state RESET
-------- KEYS --------
target : target entities to switch disable
target2 : more target(s) to affect
-------- SPAWNFLAGS --------
-------- NOTES --------
Switch the target(s) entity state RESET
*/

/*QUAKED trigger_entitystate_aframe (.7 .5 1) (-8 -8 -16) (8 8 16) x
Switch the target(s) AFRAME state
-------- KEYS --------
target : target entities to switch disable
target2 : more target(s) to affect
state : 0 or 1 frame state (0=0-x, 1=A)
-------- SPAWNFLAGS --------
-------- NOTES --------
Switch the target(s) AFRAME state
*/

//=============================================================================
//
// MISC entities
//
//=============================================================================
/*QUAKED misc_particle (0 0.5 0.75) (-8 -8 -8) (8 8 8) x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
A particle emitter which can be turned on/off (use function)
-------- KEYS --------
targetname   : toggle state (use trigger ent for exact state)
target       : destination of effect (self -> target)
target2      : name of a particle template
message      : Particle style string (upper case) leave blank for custom
               ALTAR, ARMOR1, ARMOR2, ARMOR3, BOOK, ELECTRIC,
			   FCIRCLE, FLAMES, FLAMEL, JUMPPAD, 
			   KEYGOLD, KEYSILVER, KEYRED, KEYGREEN, KEYPURPLE, KEYWHITE,
			   MEGAH, PENT, PORTAL, QUAD, SIGIL, SRING, SUIT,
			   SKILL, BSKILL, GSKILL, PSKILL
-------- SPAWNFLAGS --------
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
A particle emitter which can be turned on/off (use function)
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_particle_burst (0 0.5 0.75) (-8 -8 -8) (8 8 8) x
A particle emitter that fires a burst
-------- KEYS --------
targetname    : Trigger Particle Emitter
part_ofs      : Particle Origin Offset (def='0 0 0')
part_tcount   : Particle Quantity (def=20)
part_life     : Particle Life Time (def=2s)
part_style    : 1=yellow, 2=green, 3=red, 4=blue, 5=purple, 6=fire, 7=white
part_movetype : 2=center, 3=up, 4=shockwave, 5=skull, 6=lost, 7=minotaur
-------- SPAWNFLAGS --------
-------- NOTES --------
A particle emitter that fires a burst
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_particletemplate (0 0.5 0.75) (-8 -8 -8) (8 8 8) x
A particle emitter template
-------- KEYS --------
targetname   : target name reference for misc_particle entities
spr_name1    : sprite name (def=progs/s_bubble_blue1.spr)
spr_name2    : sprite name (def=progs/s_bubble_wht.spr)
spr_name3    : sprite name (def=progs/s_dotmed_grey.spr)
part_movetype: Movetype of particle (def=8, check defs.qc)
part_limit   : Maximum amount of particles to emit at once (def=25)
part_life    : Life time (seconds) particle is active (def=1)
part_ofs     : Offset from emitter (def='0 0 0' XYZ vector)
part_veltype : Velocity type 0=Vol, 1=circle, 2=randcircle, 3=Spiral, 5=Explosion(def)
part_velbase : Base velocity (always this direction)
part_vel     : Velocity direction (can be linear or crandom addition)
part_velrand : Extra random velocity (designed for volume velocity)
part_velrot  : Velocity rotation (Y axis only)
part_vol     : Spawning volume around emitter (XYZ vector)
wakeup_dist  : Wake up distance for particle emitter (def=1024)
wakeup_timer : How often to check distance time (def=1)
spawn_base   : Spawn rate time - base value (def=0.1)
spawn_rand   : Spawn rate time - random adjustment (def=0)
dpp_name     : DP particle effect name in effectinfo.txt file (def="")
dpp_wait     : DP particle re-trigger timer (def=0.1)
dpp_rnd      : DP particle random multiplier for time (def=0)
dpp_vel      : Direction of DP particles to move towards (XYZ)
-------- SPAWNFLAGS --------
-------- NOTES --------
A particle emitter template
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_builtineffects (0 .5 .8) (-8 -8 -8) (8 8 8) x
Spawns a builtin particle effect, will toggle if active
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target  : destination of effect (self -> target)
wait    : time between firing of effect (def=0)
delay   : random time between firing of effect (def=0s)
count   : type of effect to fire
          0=TE_SPIKE (def), 1=TE_SUPERSPIKE, 2=TE_GUNSHOT, 
		  3=TE_EXPLOSION (sprites), 4=TE_TAREXPLOSION (purple ver)
		  5=TE_LIGHTNING1 (Shambler ver), 6=TE_LIGHTNING2 (Player ver)
		  7=TE_WIZSPIKE, 8=TE_KNIGHTSPIKE, 9=TE_LIGHTNING3 (boss ver)
		  10=TE_LAVASPLASH (boss wakeup), 11=TE_TELEPORT (sparkles)
-------- SPAWNFLAGS --------
-------- NOTES --------
Spawns a builtin particle effect, will toggle if active
Always starts off, requires triggers to activate
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_weather (0 0.5 0.75) ? x x x SNOW x x STARTOFF x
A particle emitter which produces weather effects
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
count      : Quantity of particles for volume
pos1       : Colour range of particles (Min/Max/0)
pos2       : Wind direction (X/Y) Speed (Z)
speed      : Random wind direction timer (-1=disable)
-------- SPAWNFLAGS --------
SNOW     : White wispy flakes falling (def=rain)
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
A particle emitter which produces weather effects
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_fireball (0 .5 .8) (-8 -8 -8) (8 8 8) x x x x x SLIME STARTOFF x
Lava Balls, with damage on impact
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
speed : vertical speed (default 1000)
dmg   : impact damage (default 5)
delay : base time between spawning fireballs (default 3)
wait  : random time default 5 (= time + self.delay + (random() x self.wait) ) 
-------- SPAWNFLAGS --------
SLIME  : Green slime version (smoke trail)
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
Lava Balls, with damage on impact
*/

//-----------------------------------------------------------------------------
/*QUAKED air_bubbles (0 .5 .8) (-8 -8 -8) (8 8 8) x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
sprite based bubble that floats upward
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
-------- SPAWNFLAGS --------
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
sprite based bubble that floats upward
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_drip (0 .5 .8) (-8 -8 -8) (8 8 8) x SILENT x x BLOOD SLIME STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Falling water drip with splash and sound
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
wait       : random time between drips (=random() + self.wait)
-------- SPAWNFLAGS --------
BLOOD    : Blood red drips
SLIME    : Slime green drips
SILENT   : Don't make any drip sound (good for multiple drips)
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
Falling water drip with splash and sound
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_smoke (.5 .5 .75) (-8 -8 -8) (8 8 192) x NODPMDL NODPFX x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Smoke model (DP only smoke particles)
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target     : targeting entity used for custom direction
angles     : 'pitch roll yaw' up/down, angle, tilt left/right 
exactskin  : 0=Gunsmoke, 1=Soot, 2=Steam, 3=Toxin, 4=Plague, 5=Incense, 6=Lithium, 7=Flames
alpha      : alpha value for model (def=0.65)
wait       : time between generation of smoke particles (def=0.1, min=0.01)
delay      : random amount of time delay ( time = wait + delay x random() )
height     : Percentage of velocity distance travelled (def=1, range=0-1+)
-------- SPAWNFLAGS --------
NODPMDL    : Do not draw smoke model in DP engine
NODPFX     : Do not draw DP smoke particle effect
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
Smoke model, DP only smoke particles (wait/delay/height DP only)
angles = 'pitch roll yaw' up/down, angle, tilt left/right 
up/left = negative value, down/right = positive value
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_spark (.5 .75 .5) (-8 -8 -8) (8 8 8) x BLUE PALE RED x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Produces a burst of sparks at random intervals
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target : If target is a light, will be switched on/off in sync
wait   : time delay between bursts Def=2, spark once=-1
cnt    : number of sparks in burst (0.5 + random() x 0.5) Def=16
angle  : direction of sparks to follow, use "360" for 0
fixangle: 1 = Random Y axis direction of sparks
speed  : velocity speed of sparks (def=40)
height : random velocity modifier (def=+/-20)
sounds : 1=sparks, 4=silent, 5=custom
noise  : custom sound for sparks
-------- SPAWNFLAGS --------
BLUE   : sparks are blue in colour (def=yellow)
PALE   : sparks are pale yellow in colour (def=yellow)
RED    : sparks are red in colour (def=yellow)
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
Produces a burst of sparks at random intervals
If targeting a light, it must start switched off (lights spawnflag=1)
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_shake (.5 .5 .9) (-16 -16 -8) (16 16 8) x VIEWONLY x x x x x x Not_Easy Not_Normal Not_Hard Not_DM
Shake players view and/or velocity around center of entity
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
count  : radius of shake (def = 200)
wait   : duration of shake (def = 2s)
dmg    : strength at center (def = 200)
sounds : 1=loud rumble (no default)
noise1 : noise to play when starting to shake
noise2 : noise to play when stopping
-------- SPAWNFLAGS --------
VIEWONLY : Shakes the view, but player movement is not affected
-------- NOTES --------
Shake players view and/or velocity around center of entity
Always starts off, requires triggers to activate
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_gtkmodel (1 .5 .25) (-16 -16 -16) (16 16 16) x COLLISION x x x STATIC STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
MDL files that can be setup with specific frame/skin and animate groups
-------- KEYS --------
mdl : specify model to load, full path (progs/misc_candle1.mdl)
targetname : toggle state (use trigger ent for exact state)
angles : 'pitch roll yaw' up/down, angle, tilt left/right 
ideal_yaw : = 1 Setup model with random Y axis rotation
pos1 : used for selection of frame(s) has several setups
  X=0, Y=0, Z=exact frame number
  X->Y, Z=0 Randomly pick a frame from the X,Y range
  X->Y, Z=-1 Animate between the X,Y range, can forward or backward setup
pos2 : used for the selection of skin(s) has several setups
  X=0, Y=0, Z=exact skin number
  X->Y, Z=0 Randomly pick a skin from the X,Y range
-------- SPAWNFLAGS --------
COLLISION : model bbox collision enabled
STATIC : Turn entity into static upon spawn (frame 0)
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
MDL files that can be setup with specific frame/skin and animate groups
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_model (1 .5 .25) (-16 -16 -16) (16 16 16) x COLLISION x x x STATIC STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
MDL files that can be setup with specific frame/skin and animate groups
-------- KEYS --------
mdl : specify model to load, full path (progs/candle.mdl)
targetname : toggle state (use trigger ent for exact state)
angle  : facing angle (-1 = random position)
angles : 'pitch roll yaw' up/down, angle, tilt left/right 
ideal_yaw : = 1 Setup model with random Y axis rotation
pos1 : used for selection of frame(s) has several setups
  X=0, Y=0, Z=exact frame number
  X->Y, Z=0 Randomly pick a frame from the X,Y range
  X->Y, Z=-1 Animate between the X,Y range, can forward or backward setup
pos2 : used for the selection of skin(s) has several setups
  X=0, Y=0, Z=exact skin number
  X->Y, Z=0 Randomly pick a skin from the X,Y range
-------- SPAWNFLAGS --------
COLLISION : model bbox collision enabled
STATIC : Turn entity into static upon spawn (frame 0)
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
MDL files that can be setup with specific frame/skin and animate groups
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_player (1 .5 .25) (-16 -16 -24) (16 16 32) BACK DOWN1 WALL DOWN2 DOWN3 SIDE STARTOFF x
Dead Player MDL for poses
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
angle  : facing angle (-1 = random position)
fixangle : 1=Use misc_player.mdl instead (less hassle)
frame  : body pose (49=on back, 67-69=against wall, 60/84/93=face down, 102=on side)
exactskin : -1= Random, 0-1 Original, 2-3 Green, 4-5 Yellow, 6-7 Red
-------- SPAWNFLAGS --------
BACK  : 49=On back
DOWN1 : 60=Face Down
WALL  : 69=Against wall
DOWN2 : 84=Face Down
DOWN3 : 93=Face Down
SIDE  : 102=On Side
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
Dead Player MDL for poses
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_demon (1 .5 .25) (-32 -32 -24) (32 32 64) x x x x x x STARTOFF x
Dead demon/fiend for poses
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
angle  : facing angle (-1 = random position)
frame : body pose (53=on back - def)
exactskin : -1= Random, 0= Original, 1= Green
-------- SPAWNFLAGS --------
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
Dead demon/fiend for poses
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_dknight (0.75 0.25 0) (-16 -16 -24) (16 16 40) x x x x x x STARTOFF x
Dead Death Knight for poses
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
angle  : facing angle (-1 = random position)
frame : body pose (223=on front, 237-243=on back - def)
-------- SPAWNFLAGS --------
STARTOFF : Always Starts off and waits for trigger
-------- NOTES --------
Dead Death Knight for poses
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_explobox (0 0.5 0.8) (-16 -16 0) (16 16 64) x x x x x FLOAT STARTOFF
{ model(":progs/explode_box1.mdl"); }
Large exploding box
-------- KEYS --------
target        : trigger events when box explodes
skin_override : 0=original, 1=rubicon2, 2=plasma, 3=toxic, 4-5=wood
noise         : Explosion sound (def=weapons/r_exp3.wav)
health        : Amount of health before exploding (def=15)
dmg           : Override radius damage (def=160)
-------- SPAWNFLAGS --------
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Large exploding box
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_explobox2 (0 0.5 0.8) (-16 -16 0) (16 16 32) x x x x x FLOAT STARTOFF
{ model(":progs/explode_box2.mdl"); }
Small exploding box
-------- KEYS --------
target        : trigger events when box explodes
skin_override : 0=original, 1=rubicon2, 2=plasma, 3=toxic, 4-5=wood
noise         : Explosion sound (def=weapons/r_exp3.wav)
health        : Amount of health before exploding (def=15)
dmg           : Override radius damage (def=160)
-------- SPAWNFLAGS --------
FLOAT    : No drop to floor test
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Small exploding box
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_breakable_pot1 (1 .5 .25) (-16 -16 -24) (16 16 24) STARTOFF NODAMAGE EXPLOSION SILENT DAMAGE NOMOSTER NOSOUND NOROTATE
{ model(":progs/misc_pot1.mdl"); }
Breakable ceramic Pot 1 with handles
-------- KEYS --------
target    : Additional targets to fire when model breaks
mangle    : Override model orientation (Pitch Yaw Roll)
health    : amount of damage to take before breaking (def 1)
count     : minimum quantity to spawn (def 4)
cnt       : random quantity to spawn (def 4) final qty = count + random(cnt)
dmg       : explosive radius damage (emits from center of func object)
pos1      : x=start particle colour, y=random range, z=quantity
brkvelbase : Base amount for velocity of broken parts (def "50 50 100")
brkveladd : Random additions for velocity of broken parts (def "100 100 150")
brkavel   : Amount of breaking object angle velocity (def 200)
brkfade   : Fade time before rubble fades away (def 4+random()x4)
angles    : direction to throw rubble (override default = impact direction)
brkgravity : will change the gravity for rubble, useful for underwater
-------- SPAWNFLAGS --------
STARTOFF  : Will wait for trigger to spawn
NODAMAGE  : Cannot be damaged or shot, trigger only
EXPLOSION : trigger sprite/particle explosion
SILENT    : No initial breakage sound
DAMAGE    : Spawning rubble can damage (def = 2, use dmg key for touch damage)
NOMONSTER : monsters cannot damage this breakable and/or spawning rubble will not damage monsters
NOSOUND   : Spawning rubble has no impact sounds
NOROTATE  : Spawning rubble has No Y rotation
-------- NOTES --------
Breakable ceramic Pot 1 with handles
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_textbook (0 .5 .5) (-16 -16 -8) (16 16 8) NOMODEL PLINTH1 PLINTH2 STORY COLLISION ANGLEONLY STARTOFF NOEFFECTS Not_Easy Not_Normal Not_Hard Not_DM
Display custom text messages
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target     : trigger event when book is opened (only works once)
target2    : name of story controller (only works with spawnflag)
angle      : facing angle for model or direction player must be standing
v_angle    : The viewing angle the book is active (def=30,60,0)
exactskin  : skin number for book type (1-8, Brown1/2,Green1/2,Blue1/2,Red1/2)
randomskin : Pick a random skin, range = 1-randomskin
pos1       : Touch trigger minimin size (def=-48 -48 -32)
pos2       : Touch trigger maximum size (def=48 48 32)
message    : header message
message2   : Body Text 1 (need to add linefeeds)
message3   : Body Text 2 (displayed after message2)
message4   : Body Text 3 (displayed after message3)
-------- SPAWNFLAGS --------
NOMODEL   : Will not use book model + particles
PLINTH1   : Setup book on top of plinth1 model
PLINTH2   : Setup book on top of plinth2 model
STORY     : Book is part of a story (use target2)
COLLISION : Use bounding box collision for plinth
ANGLEONLY : Will only work when standing infront of entity (angle key)
STARTOFF  : Starts off and waits for trigger
NOEFFECTS : No particle or effects active
-------- NOTES --------
Display custom text messages
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_textstory (0 0.5 1.0) (-16 -16 -8) (16 16 8) x
Text Book Story Chapters
-------- KEYS --------
targetname : name of current chapter
target     : name of next chapter
message    : header message
message2   : Body Text 1 (need to add linefeeds)
message3   : Body Text 2 (displayed after message2)
message4   : Body Text 3 (displayed after message3)
-------- SPAWNFLAGS --------
-------- NOTES --------
Text Book Story Chapters
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_textstoryctrl (0 0.1 1.0) (-16 -16 -8) (16 16 8) x
Text Book Story Controller
-------- KEYS --------
targetname : name of controller for story
target : name of first chapter
-------- SPAWNFLAGS --------
-------- NOTES --------
Text Book Story Controller
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_targetdummy (0 .5 .5) (-32 -32 -24) (32 32 64) KNIGHT WIZARD OGRE HELL_KNIGHT ZOMBIE DEMON SHALRATH SHAMBLER
Target practice dummy
------- KEYS --------
noise1 : Targetnumber tracking weapon used
noise2 : Targetnumber tracking enemy distance
noise3 : Targetnumber tracking damage
noise4 : Targetnumber tracking % efficency
wait   : Impact marker removal time (def=2)
-------- SPAWNFLAGS --------
KNIGHT      : Knight model
WIZARD      : Wizard model
OGRE        : Ogre model
HELL_KNIGHT : Hell Knight model
ZOMBIE      : Zombie model
DEMON       : Demon model
SHALRATH    : Shalrath model
SHAMBLER    : Shambler model
------- NOTES --------
Target practice dummy
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_targetnumber (.5 .5 0) (-4 -4 -8) (4 4 8) x
target number to display ingame
------- KEYS --------
targetname : required for numbers to updated
pos1       : X= top digit quantity, Y=Lower digit quantity
-------- SPAWNFLAGS --------
------- NOTES --------
target number to display ingame
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_bob (1 .5 .25) (-16 -16 -16) (16 16 16) x COLLISION x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
A MODEL that gently moves back and forth
-------- KEYS --------
targetname : trigger entity (works with entity state system)
mdl      : model to move back and forth (progs/key_runic.mdl)
angle    : direction movement, use "360" for angle 0
height   : direction intensity (def=4)
count    : direction cycle timer (def=2s, minimum=1s)
waitmin  : Speed up scale (def=1) 1+=non linear
waitmin2 : Slow down scale (def=0.75)
delay    : Starting time delay (def=0, -1=random)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
COLLISION : model bbox collision enabled
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
A MODEL that gently moves back and forth
*/

//=============================================================================
//
// TRAP entities
//
//=============================================================================
/*QUAKED trap_spikeshooter (0 0.5 0.8) (-8 -8 -8) (8 8 8) SNG LASER WIZARD HELLK x TOGGLE x TRACK Not_Easy Not_Normal Not_Hard Not_DM
When triggered, fires a SPIKE in the direction determined by angle
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target : targeting entity used for custom direction
angle  : direction for projectile to follow, use "360" for angle 0
wait   : time between projectiles (def=1s)
delay  : random time between projectile (def=0s)
speed  : Change projectile speed (def/sng=500, laser=600, wiz=500, hell=300)
-------- SPAWNFLAGS --------
SNG    : shoots large spike (SNG damage)
LASER  : shoots laser (Enforcer damage)
WIZARD : shoots acid spike (Wizard damage)
HELLK  : shoots fire spike (Hell Knight damage)
TOGGLE : Trigger will toggle the shooter on/off instead
TRACK  : Will update target entity origin before firing
-------- NOTES --------
When triggered, fires a SPIKE in the direction determined by angle
Use TOGGLE spawnflag and trigger to enable continuous mode
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_grenadeshooter (0 0.5 0.8) (-8 -8 -8) (8 8 8) LARGE x x x x TOGGLE x TRACK Not_Easy Not_Normal Not_Hard Not_DM
When triggered, fires a GRENADE in the direction determined by angle
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target : targeting entity used for custom direction
angle  : direction for projectile to follow, use "360" for angle 0
wait   : time between projectiles (def=1s)
delay  : random time between projectile (def=0s)
speed  : Change projectile speed (def=500, large=600)
-------- SPAWNFLAGS --------
LARGE  : shoots high damage grenade (Player damage, def=ogre)
TOGGLE : Trigger will toggle the shooter on/off instead
TRACK  : Will update target entity origin before firing
-------- NOTES --------
When triggered, fires a GRENADE in the direction determined by angle
Use TOGGLE spawnflag and trigger to enable continuous mode
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_rocketshooter (0 0.5 0.8) (-8 -8 -8) (8 8 8) LAVA FIRE JIM x x TOGGLE x TRACK Not_Easy Not_Normal Not_Hard Not_DM
When triggered, fires a ROCKET in the direction determined by angle
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target : targeting entity used for custom direction
angle  : direction for projectile to follow, use "360" for angle 0
wait   : time between projectiles (def=1s)
delay  : random time between projectile (def=0s)
speed  : Change projectile speed (def=1000, lava=300, fire=500)
-------- SPAWNFLAGS --------
LAVABALL : shoots Chthon lava ball (Player damage)
FIREBALL : shoots Gargoyle fire ball (low damage)
JIM FLYER: shoots Jim rocket (low damage)
TOGGLE : Trigger will toggle the shooter on/off instead
TRACK  : Will update target entity origin before firing
-------- NOTES --------
When triggered, fires a ROCKET in the direction determined by angle
Use TOGGLE spawnflag and trigger to enable continuous mode
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_lightningshooter (0 0.5 0.8) (-8 -8 -8) (8 8 8) LARGE x x DUST PART TOGGLE x TRACK Not_Easy Not_Normal Not_Hard Not_DM
When triggered, fires a LIGHTNING at the target entity (can be blocked)
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target   : targeting entity used for destination (required)
wait     : time between projectiles (def=1s)
delay    : random time between projectile (def=0s)
volume   : Lightning hit sound volume (def=0.75)
dmg      : Damage from lightning strike (def=15, large=30)
pos1     : Random XYZ wobble to source position
pos2     : Random XYZ wobble to target position
-------- SPAWNFLAGS --------
LARGE   : Cthton Boss Lightning
DUST    : Produce dust/smoke at point of impact
PARTICLE: Produce particles at point of impact
TOGGLE  : Trigger will toggle the shooter on/off instead
TRACK   : Will update target entity origin before firing
-------- NOTES --------
When triggered, fires a LIGHTNING at the target entity (can be blocked)
Use TOGGLE spawnflag and trigger to enable continuous mode
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_gasshooter (0 .5 .8) (-8 -8 -8) (8 8 8) STEAM FIRE POISON x SILENT TOGGLE x TRACK Not_Easy Not_Normal Not_Hard Not_DM
When triggered, fires a gas particle in the direction determined by angle
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target : targeting entity used for custom direction
angle  : direction for stream to follow, use "360" for angle 0
wait   : time between particles (def=0.05s)
speed  : velocity speed (def=200)
waitmin: auto switch off timer (def=0.5s)
dmg    : damage from contact with particles (def=1)
-------- SPAWNFLAGS --------
STEAM  : White hot clouds of steam (default)
FIRE   : Will add burning debuff to player
POISON : Will add poison debuff to player
SILENT : No on/off sound, its silent!
TOGGLE : Trigger will toggle the shooter on/off instead
TRACK  : Will update target entity origin before firing
-------- NOTES --------
When triggered, fires a gas particle in the direction determined by angle
Use TOGGLE spawnflag and trigger to enable continuous mode
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_gasleak (0 .5 .8) (-8 -8 -8) (8 8 8) x
Not used anymore, use trap_gasshooter instead
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_pendlong (0.5 0.75 0) (-8 -192 -24) (8 0 24) REVERSE ONESWING x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Long (192 units) Pendulum (From Rogue mission pack)
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
dmg      : Damage to do for each contact, def=5
waitmin  : Damage throttle to touch function, def=0.5s
wait     : amount of time (seconds) before starting swinging. def=0
-------- SPAWNFLAGS --------
REVERSE  : Starts at frame 12 instead 0
ONESWING : Will do a single swing (back + forth) when triggered
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Long (192 units) Pendulum (From Rogue mission pack)
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_pendlongx (0.5 0.75 0) (-192 -8 -24) (0 8 24) REVERSE ONESWING x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Long (192 units) Pendulum working on X axis only
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
dmg      : Damage to do for each contact, def=5
waitmin  : Damage throttle to touch function, def=0.5s
wait     : amount of time (seconds) before starting swinging. def=0
-------- SPAWNFLAGS --------
REVERSE  : Starts at frame 12 instead 0
ONESWING : Will do a single swing (back + forth) when triggered
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Long (192 units) Pendulum working on X axis only
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_pendshort (0.5 0.75 0) (-8 -128 -24) (8 0 24) REVERSE ONESWING x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Short (128 units) Pendulum
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
dmg      : Damage to do for each contact, def=5
waitmin  : Damage throttle to touch function, def=0.5s
wait     : amount of time (seconds) before starting swinging. def=0
-------- SPAWNFLAGS --------
REVERSE  : Starts at frame 12 instead 0
ONESWING : Will do a single swing (back + forth) when triggered
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Short (128 units) Pendulum
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_pendshortx (0.5 0.75 0) (-128 -8 -24) (0 8 24) REVERSE ONESWING x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Short (128 units) Pendulum working on X axis only
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target   : Name of first path_corner to start at (instant move)
dmg      : Damage to do for each contact, def=5
waitmin  : Damage throttle to touch function, def=0.5s
wait     : amount of time (seconds) before starting swinging. def=0
-------- SPAWNFLAGS --------
REVERSE  : Starts at frame 12 instead 0
ONESWING : Will do a single swing (back + forth) when triggered
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Short (128 units) Pendulum working on X axis only
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_sawbladey (0 .5 .8) (-4 -32 -32) (4 32 32) STARTON x x x x REVERSE STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Rotating Saw Blade on Y axis only
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target   : Name of first path_corner to start at (instant move)
speed    : Speed to follow path, def=100
yaw_speed : Rotation speed for Saw Blade (def=180)
dmg      : Damage to do for each contact, def=4
waitmin  : Damage throttle for ON touch function, def=0.1s
height   : Damage throttle for OFF touch function, def=1s
lip      : Deceleration time; def=2s, =-1 instant stop
sounds   : 0=Silent, 1=Woodmill, 5=Custom sounds
noise    : custom sound - stopped
noise1   : custom sound - moving (looping)
-------- SPAWNFLAGS --------
STARTON  : Start moving straight away if targetname is used
REVERSE  : Start going backward through path_corner chain
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Rotating Saw Blade on Y axis only
*/

//-----------------------------------------------------------------------------
/*QUAKED trap_sawbladex (0 .5 .8) (-32 -4 -32) (32 4 32) STARTON x x x x REVERSE STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
Rotating Saw Blade on X axis only
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
target   : Name of first path_corner to start at (instant move)
speed    : Speed to follow path, def=100
yaw_speed : Rotation speed for Saw Blade (def=180)
dmg      : Damage to do for each contact, def=4
waitmin  : Damage throttle for ON touch function, def=0.1s
height   : Damage throttle for OFF touch function, def=1s
lip      : Deceleration time; def=2s, =-1 instant stop
sounds   : 0=Silent, 1=Woodmill, 5=Custom sounds
noise    : custom sound - stopped
noise1   : custom sound - moving (looping)
-------- SPAWNFLAGS --------
STARTON  : Start moving straight away if targetname is used
REVERSE  : Start going backward through path_corner chain
STARTOFF : Starts off and waits for trigger
-------- NOTES --------
Rotating Saw Blade on X axis only
*/


//=============================================================================
//
// LIGHT entities
//
//=============================================================================
/*QUAKED light (0 1 0) (-8 -8 -8) (8 8 8) LIGHTOFF x x x x x x x
Non-displayed light
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
light : sets brightness, 300 is default
style : 0 = normal
1 = flicker (first variety)
2 = slow strong pulse
3 = candle (first variety)
4 = fast strobe
5 = gentle pulse
6 = flicker (second variety)
7 = candle (second variety)
8 = candle (third variety)
9 = slow strobe
10 = flourescent flicker
11 = slow pulse, not fading to black
styles 32-62 are assigned by the light program for switchable lights

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF : Starts off and waits for trigger
-------- NOTES --------
Non-displayed light. If targeted, it will toggle between on or off
*/

//-----------------------------------------------------------------------------
/*QUAKED light_fluoro (0 1 0) (-8 -8 -8) (8 8 8) LIGHTOFF NO_SOUND x x x x x x
Non-displayed light. Makes steady fluorescent humming sound
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
light : sets brightness, 300 is default

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF : Starts off and waits for trigger
NO_SOUND : No ambient sound
-------- NOTES --------
Non-displayed light. Makes steady fluorescent humming sound
*/

//-----------------------------------------------------------------------------
/*QUAKED light_fluorospark (0 1 0) (-8 -8 -8) (8 8 8) x NO_SOUND x x x x x x
Non-displayed light. Makes sparking, broken fluorescent sound
-------- KEYS --------
light : sets brightness, 300 is default

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
NO_SOUND  : No ambient sound
-------- NOTES --------
Non-displayed light. Makes sparking, broken fluorescent sound
*/

//-----------------------------------------------------------------------------
/*QUAKED light_globe (0 1 0) (-8 -8 -8) (8 8 8) LIGHTOFF x NO_STATIC x x x X x
{ model(":progs/s_light.spr"); }
Sphere globe light (sprite)
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
light : sets brightness, 300 is default

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF : Starts off and waits for trigger
NO_STATIC : Will not turn into static entity
-------- NOTES --------
Sphere globe light (sprite)
*/

//-----------------------------------------------------------------------------
/*QUAKED light_torch_small_walltorch (0 .5 0) (-10 -10 -20) (10 10 20) LIGHTOFF NO_SOUND NO_STATIC x x x x NOPARTICLES
{ model(":progs/flame.mdl"); }
Short wall torch
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
light : sets brightness, 300 is default

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF  : Starts off and waits for trigger
NO_SOUND  : No ambient sound
NO_STATIC : Will not turn into static entity
NOEFFECTS : No particle or effects active
-------- NOTES --------
Short wall torch
*/

//-----------------------------------------------------------------------------
/*QUAKED light_flame_small_yellow (0 1 0) (-8 -8 -8) (8 8 8) LIGHTOFF NO_SOUND NO_STATIC x x x x NOPARTICLES
{ model(":progs/flame2.mdl"); }
Small yellow flames
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
light : sets brightness, 300 is default

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF  : Starts off and waits for trigger
NO_SOUND  : No ambient sound
NO_STATIC : Will not turn into static entity
NOEFFECTS : No particle or effects active
-------- NOTES --------
Small yellow flames.
*/

//-----------------------------------------------------------------------------
/*QUAKED light_flame_large_yellow (0 1 0) (-8 -8 -8) (8 8 8) LIGHTOFF NO_SOUND NO_STATIC x x x x NOPARTICLES
{ model(":progs/flame2.mdl"); }
Large yellow flame
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
light : sets brightness, 300 is default

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF  : Starts off and waits for trigger
NO_SOUND  : No ambient sound
NO_STATIC : Will not turn into static entity
NOEFFECTS : No particle or effects active
-------- NOTES --------
Large yellow flame
*/

//-----------------------------------------------------------------------------
/*QUAKED light_candle (0 1 0) (-4 -4 -16) (4 4 16) LIGHTOFF FLAMEOFF x SHADOWS x STATIC x x
{ model(":progs/misc_candle1.mdl"); }
Wide variety of Candles (from Rogue Software)
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
angle      : 0=random angle, 1-360=specific
height     : size of candle 1=short, 2=medium, 3=regular, -1=random
t_width    : width of candle 1=regular, 2=fat, 3=thin, -1=random
lip        : Moves model down to ground plane (default = 16)
light      : sets brightness, 300 is default

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient
mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF : Starts off and waits for trigger
FLAMEOFF : The candle is displayed off (no flame)
SHADOWS : Turn on shadows in DP engine
STATIC   : Turn entity into static upon spawn (frame 0)
-------- NOTES --------
Wide variety of Candles (from Rogue Software)
*/

//-----------------------------------------------------------------------------
/*QUAKED light_postlight (0 .5 0) (-10 -10 -20) (10 10 20) LIGHTOFF x x x x x x x
{ model(":progs/misc_lightpost.mdl"); }
light post (from Quoth)
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
light : sets brightness, 300 is default

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF : Starts off and waits for trigger
-------- NOTES --------
light post (from Quoth)
*/

//-----------------------------------------------------------------------------
/*QUAKED light_tubelight (0 .5 0) (-10 -10 -20) (10 10 20) LIGHTOFF x x x x x x x
{ model(":progs/misc_lighttube.mdl"); }
light Tube (from Quoth)
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
light : sets brightness, 300 is default

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF : Starts off and waits for trigger
-------- NOTES --------
light Tube (from Quoth)
*/

//-----------------------------------------------------------------------------
/*QUAKED light_fixture1 (0 .5 0) (-10 -10 -20) (10 10 20) LIGHTOFF x x x x x x x
{ model(":progs/misc_fixture1.mdl"); }
light Fixture (from Rubicon)
-------- KEYS --------
targetname : toggle state (use trigger ent for exact state)
light : sets brightness, 300 is default
fixangle : angle the model should be facing; set it to face away from the wall

_color : Light color - R/G/B (def='1 1 1')
wait : Fade distance multiplier (def=1)
delay : Attenuation 0=Linear, 1=inverse, 2=Squared, 3=NoFalloff, 4=Minlight, 5=Good Ambient

mangle : Spotlight direction
angle : Spotlight cone angle (def=40)

_dirt : Dirt map (override)
_dirtscale : Dirt scale (override)
_deviance : Deviance
_samples : No. of Deviance lights (def=16)
_surface : Surface light texture name
_surface_offset : Surface light offset (def=2)
_softangle : Spotlight soft angle (def=0)
_anglescale : Light angle scale (def=0.5)
-------- SPAWNFLAGS --------
LIGHTOFF : Starts off and waits for trigger
-------- NOTES --------
light Fixture (from Rubicon)
*/

//-----------------------------------------------------------------------------
/*QUAKED light_flame_small_white (0 1 0) (-8 -8 -8) (8 8 8) x
Not used anymore
*/

//=============================================================================
//
// HIPNOTIC/RITUAL ROTATION STUFF
//
//=============================================================================
/*QUAKED info_rotate (0 0.5 0) (-4 -4 -4) (4 4 4) x
center point for rotatable objects
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
center point for rotatable objects
Removes self 5s after spawning
*/

//-----------------------------------------------------------------------------
/*QUAKED func_rotate_entity (0 .5 .8) (-8 -8 -8) (8 8 8) TOGGLE STARTON
Basic rotating object
-------- KEYS --------
target : points to center of rotation entity
rotate : The rate of rotation in degrees
speed  : time taken to go from zero to full speed and vice-versa
-------- SPAWNFLAGS --------
TOGGLE  : allows the rotation to be toggled on/off
STARTON : whether the entity is spinning when spawned.  
If TOGGLE is 0, entity can be turned on, but not off.
-------- NOTES --------
Basic rotating object
*/

//-----------------------------------------------------------------------------
/*QUAKED path_rotate (0.5 0.3 0) (-8 -8 -8) (8 8 8) ROTATION ANGLES STOP NO_ROTATE DAMAGE MOVETIME SET_DAMAGE
Corner Path for rotate_train
-------- KEYS --------
event  : is a target to trigger when train arrives at path_rotate
noise  : contains the name of the sound to play when train stops
noise1 : contains the name of the sound to play when train moves
speed  : set speed to be the new speed of the train after it reaches
  the path change.  If speed is -1, the train will warp directly to the next
  path change after the specified wait time.  If MOVETIME is set on the
  path_rotate, the train to interprets "speed" as the length of time to
  take moving from one corner to another.
-------- SPAWNFLAGS --------
ROTATION  : Rotate train at rate specified by 'rotate', use '0 0 0' to stop
ANGLES    : Rotate to the angles specified by 'angles'
  while traveling to this path_rotate.  Use values < 0 or > 360 to 
  guarantee that it turns in a certain direction.  Having this flag 
  set automatically clears any rotation
STOP      : stop train and wait to be retriggered
NO_ROTATE : stop train rotating when waiting to be triggered
DAMAGE    : Cause damage based on 'dmg'
MOVETIME  : Interpret 'speed' as the length of time to take moving
SET_DAMAGE : Set all targets damage to 'dmg'
-------- NOTES --------
Corner Path for rotate_train
*/

//-----------------------------------------------------------------------------
/*QUAKED func_rotate_train (0 .5 .8) (-8 -8 -8) (8 8 8) x
Trains are moving platforms that players can ride
-------- KEYS --------
path   : Starts at'path_rotate' position
speed  : travel speed (def=100)
dmg    : blocking damage (def=0)
sounds : 0=Silent 1=ratchet metal
noise  : sound to play when train stops
noise1 : sound to play when train moves
-------- SPAWNFLAGS --------
-------- NOTES --------
Trains are moving platforms that players can ride
If the train is the target of a button or trigger, it will for trigger
The func_rotate_train entity is the center of rotation of all objects 
targeted by it.
*/

//-----------------------------------------------------------------------------
/*QUAKED func_movewall (0 .5 .8) ? VISIBLE TOUCH NONBLOCKING
Emulate collision on rotating objects
-------- KEYS --------
dmg : damage to cause when touched or blocked
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
VISIBLE     : Causes brush to be displayed
TOUCH       : Cause damage when touched by player
NONBLOCKING : makes the brush non-solid,  This is useless if VISIBLE is set
-------- NOTES --------
Emulate collision on rotating objects
*/

//-----------------------------------------------------------------------------
/*QUAKED rotate_object (0 .5 .8) ?
Defines a bmodel object to be rotated
-------- KEYS --------
targetname : name of bmodel object
target     : rotating point entities to link too
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
-------- NOTES --------
Defines a bmodel object to be rotated
Used as the target of func_rotate_door
*/

//-----------------------------------------------------------------------------
/*QUAKED func_rotate_door (0 .5 .8) (-8 -8 -8) (8 8 8) STAYOPEN
Rotating door moving around a point of rotation
-------- KEYS --------
target  : Points to the rotate_object bmodel entity
target2 : Move on spawn to this entity (info_rotate) location
dmg     : Damage caused when blocked (def=2) negative numbers =no damage
speed   : Time taken to rotate open/close
sounds  : 1=medieval 2=metal 3=base 4=silent (def=1)
-------- SPAWNFLAGS --------
STAYOPEN : Reopen after closing, stops a once only door from closing if blocked
-------- NOTES --------
Rotating door moving around a point of rotation
*/

//=============================================================================
//
// BREAKABLES
//
//=============================================================================
/*QUAKED func_breakable (0 .5 .8) ? STARTOFF NODAMAGE EXPLOSION SILENT DAMAGE NOMOSTER NOSOUND NOROTATE Not_Easy Not_Normal Not_Hard Not_DM
Spawn breakable objects from a bmodel
-------- KEYS --------
target     : targets to fire when breakable is dead/used (only used once)
target2    : Additional trigger function (need target to be defined as well)
style      : pre-defined sound/model types - 1=rock, 2=wood, 3=glass, 4=metal, 5=brick, 6=ceramic, 10=custom
brksound   : Initial breaking sound type (override style default)
brkimpsound : Impact sound type (override style default)
brkobjects : Breakable object model type (10-15=rocks, 20-22=woods, 30-32=glass, 40-42=metals, 50-54=brick, 60=ceramic)
noise     : Initial breaking sound (unique sound file)
noise1    : Custom Rubble Impact sounds (unique sound files, must have 1 defined)
noise2    : Custom Rubble Impact sound 2
noise3    : Custom Rubble Impact sound 3
noise4    : Custom Rubble Impact sound 4
brkobj1   : Custom Rubble bmodel objects (unique models, must have 1 defined)
brkobj2   : Custom Rubble bmodel objects 2
brkobj3   : Custom Rubble bmodel objects 3
brkobj4   : Custom Rubble bmodel objects 4
health    : amount of damage to take before breaking (def 1)
count     : minimum quantity to spawn (def 4)
cnt       : random quantity to spawn (def 4) =-1 no random qty
dmg       : explosive radius damage (emits from center of func object)
pos1      : x=start particle colour, y=random range, z=quantity
brkvelbase : Base amount for velocity of broken parts (def "50 50 100")
brkveladd : Random additions for velocity of broken parts (def "100 100 150")
brkavel   : Amount of breaking object angle velocity (def 200)
brkfade   : Fade time before rubble fades away (def 4+random()x4)
brkmondmg : Damage multiplier for monster damage against breakable
angles    : direction to throw rubble (override default = impact direction)
brkgravity     : Change the gravity for rubble, useful for underwater (Value = 0-1)
brktrigjump    : Trigger if damaged by jumping monster attack
brktrigmissile : Trigger if damaged by rocket/grenade/shalball/radiusdmg
brktrignoplayer: No player/clients can damage this breakable
brkdelaydamage : Time pause before enabling damage on this breakable
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
STARTOFF  : Will wait for trigger to spawn
NODAMAGE  : Cannot be damaged or shot, trigger only
EXPLOSION : trigger sprite/particle explosion
SILENT    : No initial breakage sound
DAMAGE    : Spawning rubble can damage (def = 2, use dmg key for touch damage)
NOMONSTER : monsters cannot damage this breakable and/or spawning rubble will not damage monsters
NOSOUND   : Spawning rubble has no impact sounds
NOROTATE  : Spawning rubble has No Y rotation
-------- NOTES --------
Spawn breakable ojects from a bmodel
*/

//-----------------------------------------------------------------------------
/*QUAKED func_breakable_spawner (0.5 .5 .8) (-8 -8 -8) (8 8 8) x x EXPLOSION SILENT DAMAGE NOMOSTER NOSOUND NOROTATE Not_Easy Not_Normal Not_Hard Not_DM
Spawn breakable objects from a single point
-------- KEYS --------
target     : targets to fire when breakable is dead/used (only used once)
target2    : Additional trigger function (need target to be defined as well)
style      : pre-defined sound/model types - 1=rock, 2=wood, 3=glass, 4=metal, 5=brick, 6=ceramic, 10=custom
brksound   : Initial breaking sound type (override style default)
brkimpsound : Impact sound type (override style default)
brkobjects : Breakable object model type (10-15=rocks, 20-22=woods, 30-32=glass, 40-42=metals, 50-54=brick, 60=ceramic)
noise      : Initial breaking sound (unique sound file)
noise1    : Custom Rubble Impact sounds (unique sound files, must have 1 defined)
noise2    : Custom Rubble Impact sound 2
noise3    : Custom Rubble Impact sound 3
noise4    : Custom Rubble Impact sound 4
brkobj1   : Custom Rubble bmodel objects (unique models, must have 1 defined)
brkobj2   : Custom Rubble bmodel objects 2
brkobj3   : Custom Rubble bmodel objects 3
brkobj4   : Custom Rubble bmodel objects 4
health    : amount of damage to take before breaking (def 1)
count     : minimum quantity to spawn (def 4)
cnt       : random quantity to spawn (def 4) =-1 no random qty
dmg       : explosive radius damage (emits from center of func object)
pos1      : x=start particle colour, y=random range, z=quantity
brkvelbase : Base amount for velocity of broken parts (def "50 50 100")
brkveladd : Random additions for velocity of broken parts (def "100 100 150")
brkavel   : Amount of breaking object angle velocity (def 200)
brkfade   : Fade time before rubble fades away (def 4+random()x4)
angles    : direction to throw rubble (override default = impact direction)
brktrigjump    : Trigger if damaged by jumping monster attack
brktrigmissile : Trigger if damaged by rocket/grenade/shalball/radiusdmg
brkgravity     : Change the gravity for rubble, useful for underwater (Value = 0-1)
brkvol    : Spawning volume vector for breakable point entity
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
EXPLOSION : trigger sprite/particle explosion
SILENT    : No initial breakage sound
DAMAGE    : Spawning rubble can damage (def = 2, use dmg key for touch damage)
NOMONSTER : Spawning rubble will not damage monsters
NOSOUND   : Spawning rubble has no impact sounds
NOROTATE  : Spawning rubble has No Y rotation
-------- NOTES --------
Spawn breakable ojects from a single point
*/

//-----------------------------------------------------------------------------
/*QUAKED func_breakable_wall (0 .5 .8) ? START_ON SOLID FADEOUT x x x x x Not_Easy Not_Normal Not_Hard Not_DM
Switchable bmodel for breakable setups with optional collision
-------- KEYS --------
targetname : trigger entity (works with entity state system)
wait       : set to -1 for trigger once condition (def=0)
waitmin    : random time to wait before fading out
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
-------- SPAWNFLAGS --------
START_ON : Will spawn visible and wait for trigger
SOLID    : Will block player/monster movement
FADEOUT  : Will fade out after a certain amount of time if visible!
-------- NOTES --------
Switchable bmodel for breakable setups with optional collision
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_monsterbreak (.8 .5 .8) (-8 -8 -8) (8 8 8) NODELAY WAKEANIM x x x x x x Not_Easy Not_Normal Not_Hard Not_DM
Trigger (once) breakable and monster together
-------- KEYS --------
targetname : trigger entity (works with entity state system)
target     : points to func_breakable (single target)
target2    : points to a monster (single target)
wait       : time before breakable is triggered (def 0.2)
-------- SPAWNFLAGS --------
NODELAY  : No delay between monster and breakable trigger
WAKEANIM : Will do special wakeup animation when triggered
-------- NOTES --------
Trigger (once) breakable and monster together
*/

//-----------------------------------------------------------------------------
/*QUAKED trigger_explode (.8 .5 .5) (-4 -4 -4) (4 4 4) x NOPARTICLES DUST x x x x x Not_Easy Not_Normal Not_Hard Not_DM
Triggered entity producing damage + sprite explosion
-------- KEYS --------
targetname : trigger entity (works with entity state system)
dmg    : explosive radius damage (def=40, -1=no damage)
delay  : time delay to explosion (def=0s)
noise  : string name for explosion sound (def=weapons/r_exp3b.wav)
wait   : re-trigger explosions (def=-1 trigger once)
style  : 0=Explosion, 1=Plasma, 2=Poison, 3=Electric, 4=Burst (Smoke/Flame/Poison)
height : 0/1=Small(Def), 2=Medium, 3=Large, -1=Random
count  : Random amount of dust particles to spawn (1-x)
pos1   : Dust velocity X=Random, Y=UpBase, Z=UpRnd
-------- SPAWNFLAGS --------
NOPARTICLES : No old school particle explosion
DUST : Dust particle explosion (use angle for direction)
-------- NOTES --------
Triggered entity producing damage + sprite explosion
*/

//=============================================================================
//
// MONSTERS
//
// ( 25) monster_dog - Dog / Rottweiler
// ( 25) monster_fish - Rotfish
// ( 30) monster_spider - Brown version (new model)
// ( 30) monster_voreling - Baby Shalrath (new model)
// ( 30) monster_swampling - Baby Shalrath (new model)
// ( 30) monster_lostsoul - Flying Skull (new model)
// ( 35) monster_dguard - Death Guard (new model)
// ( 50) monster_jim - Flying Rocket Robot (new model)
// ( 60) monster_zombie - Zombie
// ( 60) monster_zombiek - Zombie knight (new model)
// ( 75) monster_boil - Exploding promity mine (new model)
// ( 75) monster_knight - Knight
// ( 75) monster_dcrossbow - Crossbow Knight (new model)
// ( 75) monster_spider - Green version (new model)
// ( 80) monster_wizard - Scrag / Wizard
// ( 80) monster_tarbaby - Spawn / Tarbaby
// ( 80) monster_scorpion - Green/Brown (new model)
// (120) monster_gargoyle - Gargoyle (new model)
// (120) monster_scorpion - Black Crab (new model)
// (120) monster_skullwiz - Skull Wizard (new model)
//
// ( 30) monster_army - Soldier
// ( 45) monster_army_rocket - Soldier (RL)
// ( 60) monster_army_grenade - Soldier (GL)
// ( 75) monster_army_plasma - Soldier (Plasma)
// ( 80) monster_enforcer - Enforcer (Laser)
// (100) monster_defender - Enforcer (SSG/GL)
// (100) monster_pyro - Flamethrowing Enforcer (new model)
// (100) monster_fumigator - Poisonous Enforcer (new model)
// (100) monster_jim - Flying Laser Robot (new model)
// (120) monster_eliminator - Enforcer (Plasma)
// (120) monster_centurion - Flying Plasma Enforcer (new model)
//
// (200) monster_ogre - Ogre
// (200) monster_hogre - Hunter Ogre (new model)
// (200) monster_hogremac - Hunter Mace Ogre (new model)
// (350) monster_ogre_fishing - Special ogre event (new model)
// (250) monster_hell_knight - Hell Knight
// (250) monster_dknight - Death Knight (new model)
// (300) monster_hogreham - Hunter Hammer Ogre (new model)
// (300) monster_demon1 - Fiend / Demon
// (300) monster_wraith - Spectral Phantom (new model)
//
// (400) monster_dfury - Fury Knight (new model)
// (400) monster_dserg - Flail Knight (new model)
// (400) monster_shalrath - Vore / Shalrath
// (500) monster_freddie - Slow moving base ogre mutant
// (500) monster_drole - Fast moving tank! (new model)
// (500) monster_minotaur - Fast moving magic tank! (new model)
// (500) monster_seeker - Mid range rocket fire robot (new model)
// (600) monster_shambler - Shambler
//
//-----------------------------------------------------------------------------
/*QUAKED monster_dog (1 0 0) (-32 -32 -24) (32 32 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_dog.mdl"); }
Dog (Rottweiler), 25 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Dog (Rottweiler), 25 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_eel (0.25 0 1) (-16 -16 -24) (16 16 24) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_eel.mdl"); }
Eel, 35 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH  : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE  : No idle sound
NOGFX   : No spawn effect or sound when triggered
STARTOFF: Trigger Spawn
ANGRY   : Trigger Spawn angry at the player
-------- NOTES --------
Eel, 35 health points. 
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_fish (0.25 0 1) (-16 -16 -24) (16 16 24) AMBUSH SMALL x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_fish.mdl"); }
Rotfish, 25 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH  : the monster will only wake up on seeing the player, not by another monster
SMALL   : Smaller version, less HP
NOSIGHT : No sight sound
NOIDLE  : No idle sound
NOGFX   : No spawn effect or sound when triggered
STARTOFF: Trigger Spawn
ANGRY   : Trigger Spawn angry at the player
-------- NOTES --------
Rotfish, 25 health points. 
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_lostsoul (1 0 0) (-16 -16 -24) (16 16 24) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_lostsoul.mdl"); }
Lost Soul, 30 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Lost Soul, 30 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_scorpion (1 0 0) (-16 -16 -24) (16 16 16) AMBUSH x STINGER NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_scorpion.mdl"); }
Scorpion, 80/120 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
STINGER : Works like the Black crab from HL2 with a poison debuff 
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Scorpion, 80/120 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_spider (1 0 0) (-16 -16 -24) (16 16 16) AMBUSH LARGE ONCEILING NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_spiderb.mdl"); }
Spider, 30/75 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
LARGE : Large green spitting variety
ONCEILING : Start on ceiling above, waiting ...
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Spider, 30/75 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_voreling (1 0 0) (-16 -16 -24) (16 16 16) AMBUSH LARGE ONCEILING NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_voreling.mdl"); }
Voreling, 30/60 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
LARGE : Large purple spitting variety
ONCEILING : Start on ceiling above, waiting ...
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Voreling, 30/60 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_swampling (1 0 0) (-16 -16 -24) (16 16 16) AMBUSH LARGE ONCEILING NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_swampling.mdl"); }
Swampling, 30/60 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
LARGE : Large dark green spitting variety
ONCEILING : Start on ceiling above, waiting ...
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Swampling, 30/60 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_army (1 0 0) (-16 -16 -24) (16 16 32) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_soldier.mdl"); }
Soldier, 30 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Soldier, 30 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_army_rocket (1 .35 0) (-16 -16 -24) (16 16 32) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_soldier.mdl"); }
Rocket Soldier, 45 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Rocket Soldier, 45 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_army_grenade (0 1 .35) (-16 -16 -24) (16 16 32) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_soldier.mdl"); }
Grenade Soldier, 60 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Grenade Soldier, 60 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_army_plasma (1 0 .35) (-16 -16 -24) (16 16 32) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_soldier.mdl"); }
Plasma Soldier, 75 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Plasma Soldier, 75 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_dguard (1 0 0.25) (-16 -16 -24) (16 16 32) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_dguard.mdl"); }
Death Guard, 35 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Death Guard, 35 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_zombie (0.5 1 0.5) (-16 -16 -24) (16 16 32) Crucified Ambush OnFloor NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_zombie.mdl"); }
Zombie, 60 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
Crucified : If crucified, stick the bounding box 12 pixels back into a wall to look right.
AMBUSH : the monster will only wake up on seeing the player, not by another monster
ONFLOOR : Spawn the zombie on the floor (angles = position)
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Zombie, 60 health points. 
If crucified, stick the bounding box 12 pixels back into a wall to look right.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_mummy (0.25 1 0.5) (-16 -16 -24) (16 16 32) Ambush x OnFloor NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_zombie.mdl"); }
Poison Zombie, 60 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
ONFLOOR : Spawn the zombie on the floor (angles = position)
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Poison Zombie, 60 health points. 
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_boil (0.5 1 0.5) (-16 -16 -24) (16 16 32) Ambush Hanging Hobbled NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_tarbaby.mdl"); }
Exploding Boil, 75 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
wait : time between random squirts of blood (def = wait + rnd x wait)
t_width : Trigger radius for detecting a player (def = 80 / 120)
death_dmg : Explosive radius damage on death (def = 60)
poisonous : Green blood, gibs and poison debuff attack with radius damage

-------- SPAWNFLAGS --------
AMBUSH   : the monster will only wake up on seeing the player, not by another monster
HANGING  : Hanging on wall upside down by spikes
HOBBLED  : Hobbled on the floor, random A/B position
NOSIGHT  : No sight sound
NOIDLE   : No idle sound
NOGFX    : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY    : Trigger Spawn angry at the player
-------- NOTES --------
Exploding Boil, 75 health points. 
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_zombiek (0.75 1 0.5) (-16 -16 -24) (16 16 32) Ambush x OnFloor NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_zombiek.mdl"); }
Zombie Knight, 60 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
ONFLOOR : Spawn the zombie on the floor (angles = position)
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Zombie Knight, 60 health points. 
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_enforcer (.25 .5 0) (-16 -16 -24) (16 16 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_enforcer.mdl"); }
Enforcer, 80 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Enforcer, 80 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_defender (.5 1 0) (-16 -16 -24) (16 16 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_enforcer.mdl"); }
Defender, 100 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Defender, 100 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_pyro (.75 0 .75) (-16 -16 -24) (16 16 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_pyro.mdl"); }
Pyro, 100 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Pyro, 100 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_fumigator (.75 0.5 .75) (-16 -16 -24) (16 16 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_fumigator.mdl"); }
Fumigator, 100 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Fumigator, 100 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_jim (.75 0 .75) (-16 -16 -24) (16 16 32) AMBUSH x ROCKET NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_jim.mdl"); }
Fast moving flying robot, 50/100 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
ROCKET : Fires rockets instead of lasers and has lower HP
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Fast moving flying robot, 50/100 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_eliminator (0 1 .5) (-16 -16 -24) (16 16 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_enforcer.mdl"); }
Eliminator, 120 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Eliminator, 120 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_centurion (0 1 .5) (-16 -16 -24) (16 16 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_centurion.mdl"); }
Centurion, 120 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Centurion, 120 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_skullwiz (0.5 0 1) (-16 -16 -24) (16 16 40) AMBUSH GUARDIAN MINION NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_skullwiz.mdl"); }
Skull Wizard, 120 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
bodyphased   : Spawn phased out and wait to see player
bodystatic   : Prevents skull wizard from teleporting
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
GUARDIAN : special version to guard the runes of power
MINION : spawn minions (lost souls) to attack the player
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Skull Wizard, 120 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_skullwizminion (1 0 0) (-16 -16 -24) (16 16 16) x
{ model(":progs/mon_lostsoul.mdl"); }
Lost Soul Minion, used for precache only
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Lost Soul Minion, used for precache only
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_dcrossbow (0 0.5 1) (-16 -16 -24) (16 16 32) AMBUSH SNIPER TRACKING NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_dcrossbow.mdl"); }
Crossbow Knight, 75 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
SNIPER : no max range limitations for enemies (sniper mode)
TRACKING : Enable tracking for the firing of bolts (really hard)
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Crossbow Knight, 75 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_knight (1 0 0) (-16 -16 -24) (16 16 32) AMBUSH STATUE NOTFROZEN NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_knight.mdl"); }
Knight, 75 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
frame: statue frame to be frozen in. (default 44)
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
STATUE : Stone statue until triggered
NOTFROZEN : Will start active (works with statue spawnflag)
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Knight, 75 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_wizard (0.8 0 0.2) (-16 -16 -24) (16 16 40) AMBUSH x ABOVE NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/wizard.mdl"); }
Scrag (Wizard), 80 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
ABOVE : Will try to keep above enemy and maintain some distance
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Scrag (Wizard), 80 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_tarbaby (1 0 0) (-16 -16 -24) (16 16 40) AMBUSH x LESSJUMP NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/tarbaby.mdl"); }
Spawn (Tarbaby), 80 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
death_dmg : Damage on Death (def=120)
poisonous : 0=Jump attack (default, 1=Poison attack)
exactskin : 0-1=Blue, 2-3=Green1, 4-5=Green2, 6-7=Green3
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
LESSJUMP : Does not jump round so much, linked to skill level
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Spawn (Tarbaby), 80 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_gargoyle (0.8 0 0.2) (-16 -16 -24) (16 16 40) AMBUSH STATUE PERCH NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_gargoyle.mdl"); }
Gargoyle, 120 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
STATUE : Stone statue until triggered (always starts in a perched position)
PERCH : Start in a sitting down, place 44 units out from perching edge, 4 units higher
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Gargoyle, 120 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_gaunt (0.8 0 0.2) (-16 -16 -24) (16 16 40) AMBUSH x PERCH NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_gaunt.mdl"); }
Gaunt, 120 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
PERCH : Start in a sitting down
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Gaunt, 120 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_ogre (0.5 0.5 0) (-32 -32 -24) (32 32 64) AMBUSH x GREEN NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/ogre.mdl"); }
Ogre, 200 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
GREEN : Green leather armour and +HP
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Ogre, 200 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_ogre_fishing (0.5 0.5 0) (-32 -32 -24) (32 32 64) x x GREEN x x NOGFX STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/ogre.mdl"); }
Fishing Ogre, 150/350 health points.
-------- KEYS --------
targetname : monster/trigger name
target2    : Wakeup trigger when attacked by the player (trigger once)
deathtarget : entity to trigger upon death (useful if target field already in use)
nomonstercount : will not be included in any monster count functionality
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
-------- SPAWNFLAGS --------
GREEN : Green leather armour and +HP
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
-------- NOTES --------
Fishing Ogre, 150/350 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_hogre (0.5 0.75 0) (-32 -32 -24) (32 32 64) AMBUSH x METAL NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_hogre.mdl"); }
Ogre, 200 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
METAL : Chain mail metal armour and +HP
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Ogre, 200 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_hogremac (0.5 0.5 0) (-32 -32 -24) (32 32 64) AMBUSH x METAL NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_hogremac.mdl"); }
Ogre, 200 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
METAL : Chain mail metal armour and +HP
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Ogre, 200 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_hell_knight (1 0 0) (-16 -16 -24) (16 16 40) AMBUSH STATUE NOTFROZEN NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_hknight.mdl"); }
Hell Knight, 250 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
frame: statue frame to be frozen in. (default 73)
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
STATUE : Stone statue until triggered
NOTFROZEN : Will start active (works with statue spawnflag)
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Hell Knight, 250 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_hell_pointknight (0.75 0.5 0) (-16 -16 -24) (16 16 40) AMBUSH STATUE x NOSIGHT NOIDLE NOGFX STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_hknight.mdl"); }
Special Electricity Pointing Hell Knight
-------- KEYS --------
targetname : monster/trigger name
target : target for electricity
target2 : trigger to fire when electricity stopped
pos1 : XYZ offset to start lightning (uses v_forward/v_right/v_up)
pos2 : XYZ random offset to start lightning (uses v_forward/v_right/v_up)
pos3 : Animation lightning frame set (Start/Finish/Direction)
t_length : random wobble to electricity target origin (0=def 5)
dmg : amount of contact damage with electricity (0=def 5)
health : Override default health settings
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
STATUE : Stone statue skin
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
-------- NOTES --------
Special Electricity Pointing Hell Knight
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_dknight (0.75 0.25 0) (-16 -16 -24) (16 16 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_dknight.mdl"); }
Death Knight, 250 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Death Knight, 250 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_dknightghost (0.75 0.25 0) (-16 -16 -24) (16 16 40) x
{ model(":progs/mon_dknight.mdl"); }
Special ghost Death Knight
-------- KEYS --------
targetname : monster/trigger name
target : path_corner to walk towards
deathtarget : trigger to fire when ghost is finished
-------- SPAWNFLAGS --------
-------- NOTES --------
Special ghost Death Knight
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_demon1 (1 0 0) (-32 -32 -24) (32 32 64) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_demon.mdl"); }
Fiend (Demon), 300 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
poisonous : Green skin + Poison debuff attack on melee claws
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Fiend (Demon), 300 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_hogreham (0.5 1 0) (-32 -32 -24) (32 32 64) AMBUSH x METAL NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_hogreham.mdl"); }
Ogre, 300 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
METAL : Full plate metal armour and +HP
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Ogre, 300 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_dfury (0.75 0.75 0) (-16 -16 -24) (16 16 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_dfury.mdl"); }
Fury Knight, 400 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Fury Knight, 400 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_dsergeant (0 0.25 1) (-16 -16 -24) (16 16 40) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_dsergeant.mdl"); }
Death Sergeant, 400 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Death Sergeant, 400 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_wraith (0.8 0 0.2) (-32 -32 -24) (32 32 64) AMBUSH SCORPIONS SPIDERS NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_wraith.mdl"); }
Wraith, 350 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
SCORPIONS : spawn minions (scorpions) to attack the player
SPIDERS : spawn minions (spiders) to attack the player
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Wraith, 350 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_wraithminion (1 0 0) (-16 -16 -24) (16 16 16) x
{ model(":progs/mon_spiderb.mdl"); }
Spider Minion, used for precache only
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Spider Minion, used for precache only
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_wraithminion2 (1 0 0) (-16 -16 -24) (16 16 16) x
{ model(":progs/mon_scorpion.mdl"); }
Scorpion Minion, used for precache only
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Scorpion Minion, used for precache only
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_shalrath (1 0 0.5) (-32 -32 -24) (32 32 64) AMBUSH x MINIONS NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_shalrath.mdl"); }
Vore (Shalrath), 400 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
MINION : spawn minions (vorelings) to attack the player
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Vore (Shalrath), 400 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_shalrathminion (1 0 0) (-16 -16 -24) (16 16 16) x
{ model(":progs/mon_voreling.mdl"); }
Voreling Minion, used for precache only
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Voreling Minion, used for precache only
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_drole (1 0 0) (-32 -32 -24) (32 32 64) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_drole.mdl"); }
Drole, 500 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Drole, 500 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_minotaur (1 0 0) (-32 -32 -24) (32 32 64) AMBUSH x MINIONS NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_minotaur.mdl"); }
Minotaur, 500 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
MINION : spawn minions (gargoyle) to attack the player
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Minotaur, 500 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_golem (1 0 0) (-32 -32 -24) (32 32 64) AMBUSH STATUE MELEEONLY NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_golem.mdl"); }
Golem, 500 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
frame: statue frame to be frozen in. (default 48)
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
STATUE : Stone statue until triggered (default = Always ON)
MELEEONLY : Melee and Stomp only attacks, no rockstorm range
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Golem, 500 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_minotaurminion (1 0 0) (-16 -16 -24) (16 16 16) x
{ model(":progs/mon_gargoyle.mdl"); }
Gargoyle Minion, used for precache only
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Gargoyle Minion, used for precache only
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_freddie (1 0 0) (-32 -32 -24) (32 32 64) AMBUSH LASER x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_freddie.mdl"); }
Freddie, 500 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
LASER : Fires laser bolts instead of metal (glowing red) nails
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Freddie, 500 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_seeker (1 0 0) (-32 -32 -24) (32 32 64) AMBUSH x SHIELD NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_seeker.mdl"); }
Seeker, 500 health points.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Fired when the shield is turned off (trigger_once)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
state : start with one arm removed 1=Left, 2=Right
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
SHIELD : Start with shield ON and waits for trigger
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Seeker, 500 health points.
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_shambler (1 0 0) (-32 -32 -24) (32 32 64) AMBUSH x x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/shambler.mdl"); }
Shambler, 600 health points. Rockets only have half damage when hitting the Shambler.
-------- KEYS --------
targetname : monster/trigger name
target : Starting position or path_corner to walk towards (always define)
target2 : Additional trigger function (need target to be defined as well)
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
infightextra : Damage multiplier for infighting damage
pain_ignore : 1 = Ignore pain when hit by other monsters
noinfighting : Will not react to any infighting (it can look stupid)
no_liquiddmg : Blocks all liquid (slime/lava) damage checks
no_zaware : All Z Aware projectiles will be disabled
bboxtype : Change bbox 1=Tiny,4=Short,5=Tall,7=Wide,8=Giant,10=Massive
gibondeath : 1 = always explode in a shower of gibs on death
bodyfadeaway : Time (secs) before body/head will fade away (default=0)
movespeed : -1 = no movement(turret), =0/1 free movement (default)
turrethealth : = 0.0->1.0; % of HP when monster turret is released 
turrettarget : Target(s) to fire when turret % HP is released
poisonous : Green skin + Poison debuff attack on melee claws
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player, not by another monster
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Shambler, 600 health points. Rockets only have half damage when hitting the Shambler.
*/

//=============================================================================
/*QUAKED monster_boglord (1 0 0) (-32 -32 -24) (32 32 96) AMBUSH STRONG x NOSIGHT NOIDLE NOGFX STARTOFF ANGRY Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/mon_boglord.mdl"); }
Lord of the Bog, 1500 Health Points
-------- KEYS --------
targetname : monster/trigger name
target : trigger to fire on death
target2 : tether point to keep close too
angrytarget : something (monster/player) to get angry at once spawned
deathtarget : entity to trigger upon death (useful if target field already in use)
health : Override default health settings
exactskin : Override default skin selection of 0 (no error checking)
upgrade_ssg : 1 = will only spawn if shotgun upgrade active on server
upgrade_axe : 1 = will only spawn if axe upgrade active on server
upgrade_lg : 1 = will only spawn if lightning gun upgrade active on server
nomonstercount : will not be included in any monster count functionality
-------- SPAWNFLAGS --------
AMBUSH : the monster will only wake up on seeing the player
STRONG : More Health and Skin 2
NOSIGHT : No sight sound
NOIDLE : No idle sound
NOGFX : No spawn effect or sound when triggered
STARTOFF : Trigger Spawn
ANGRY : Trigger Spawn angry at the player
-------- NOTES --------
Lord of the Bog, 1500 Health Points
*/

//=============================================================================
/*QUAKED monster_boss (1 0 0) (-80 -80 -24) (80 80 256) x
{ model(":progs/mon_bosschthon.mdl"); }
Chthon (Boss of Shareware Quake)
-------- KEYS --------
targetname : monster/trigger name
-------- SPAWNFLAGS --------
-------- NOTES --------
Chthon (Boss of Shareware Quake)
*/

//-----------------------------------------------------------------------------
/*QUAKED event_lightning (0 1 1) (-16 -16 -16) (16 16 16) x
Just for boss level. Used for killing Cthon.
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Just for boss level. Used for killing Cthon.
*/

//=============================================================================
/*QUAKED monster_firetopboss (1 0.25 0.25) (-80 -80 -24) (80 80 256) x
{ model(":progs/mon_bosschthon.mdl"); }
Chthon (Special version for Firetop Mountain)
-------- KEYS --------
targetname : monster/trigger name
-------- SPAWNFLAGS --------
-------- NOTES --------
Chthon (Special version for Firetop Mountain)
*/

//=============================================================================
/*QUAKED monster_chthon (1 0 0) (-80 -80 -24) (80 80 256) x RED GREEN
{ model(":progs/mon_bosschthon.mdl"); }
Chthon (Custom version)
-------- KEYS --------
targetname : monster/trigger name
target : trigger to fire on death
bosswave : Total boss waves (1-5)
bosswaveqty : Health each wave
resist_shells  : Shell ammo resistance (0-1)
resist_nails   : Nail ammo resistance (0-1)
resist_rockets : Rocket ammo reistance (0-1)
resist_cells   : Cell ammo resistance (0-1)
pos1   : Attack1 Speed Base/Skill/- (250 50 0)
pos2   : Attack1 Damage Base/Rnd/Splash (100 20 120)
pos3   : Attack2 Forward/Vertical/Damage (300 500 40)
dest2  : Attack2 Spawn location (0 0 96)
noise1 : Wave 1 trigger entities
noise2 : Wave 2 trigger entities
noise3 : Wave 3 trigger entities
noise4 : Wave 4 trigger entities
deathtype : Death message for the client (optional)
-------- SPAWNFLAGS --------
RED   : New red skin with plenty of upward lighting+shadow
GREEN : Green skin + slime balls instead of lava
-------- NOTES --------
Chthon (Custom version)
*/

//=============================================================================
/*QUAKED monster_nour (1 0 0) (-16 -16 -24) (16 16 40) x
{ model(":progs/mon_bossnour.mdl"); }
Boss starts bursting from ground
-------- KEYS --------
targetname : monster/trigger name
target : trigger to fire on death (delayed till explosion)
tethertarget : target of tether entity (path_corner)
noise : Intro burst trigger (breakables?)
noise1 : Wave 1 entities to trigger
noise2 : Wave 2 entities to trigger
noise3 : Wave 3 entities to trigger
-------- SPAWNFLAGS --------
-------- NOTES --------
Boss starts bursting from ground
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_nourminion (1 0 0) (-16 -16 -24) (16 16 16) x
{ model(":progs/mon_wizard.mdl"); }
Wizard Minion, used for precache only
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Wizard Minion, used for precache only
*/

//=============================================================================
/*QUAKED monster_eidolon (1 0 0) (-32 -32 -24) (32 32 128) x
{ model(":progs/mon_bosseidolon.mdl"); }
Boss starts behind shield
-------- KEYS --------
targetname : monster/trigger name
target : trigger to fire on death (delayed till explosion)
noise1 : Wave 1 (monster_eidolon_wavetrig) entity
noise2 : Wave 2 (monster_eidolon_wavetrig) entity
noise3 : Wave 3 (monster_eidolon_wavetrig) entity
noise4 : Wave 4 (monster_eidolon_wavetrig) entity
-------- SPAWNFLAGS --------
-------- NOTES --------
Boss starts behind shield
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_eidolon_wavetrig (0.75 0.25 1) (-40 -40 -4) (40 40 4) x
Target for boss lightning wave event
-------- KEYS --------
targetname : name of wave event (links to noise key on boss)
target     : trigger name of adds to spawn
target2    : trigger name of crystal event
-------- SPAWNFLAGS --------
-------- NOTES --------
Target for boss lightning wave event
*/

//=============================================================================
/*QUAKED monster_icegolem (1 0 0) (-32 -32 -24) (32 32 128) x
{ model(":progs/mon_bossicegolem.mdl"); }
Frozen Guardian in a Cave
-------- KEYS --------
targetname : monster/trigger name
target : trigger to fire on death (delayed to fade away)
tethertarget : target of tether entity (path_corner)
tetherrange  : circular range around tether point (def=400)
noise1 : Wave 1 entities to trigger
noise2 : Wave 2 entities to trigger
noise3 : Wave 3 entities to trigger
noise4 : Wave 4 entities to trigger
brkobj1: Ceiling rubble bmodel (maps/ad_brk/rock01.bsp)
brkobj2: Ceiling rubble bmodel (maps/ad_brk/rock02.bsp)
dest1  : Rubble colour range (base/qty)
dest2  : Rubble emitter offset downward (X/Y/Z def=0 0 16)
brkvol : Rubble emitter size (X/Y/Z def=160 160 8)
brkvelbase : Rubble base velocity (def=0 0 50)
brkveladd  : Rubble add velocity (def=100 100 100)
brkfade    : Rubble fade timeout (def=4)
-------- SPAWNFLAGS --------
-------- NOTES --------
Frozen Guardian in a Cave
*/

//-----------------------------------------------------------------------------
/*QUAKED monster_icegolem_wavetrig (0.75 0.25 1) (-32 -32 -8) (32 32 8) x
Target for boss column smash wave event
-------- KEYS --------
targetname : name of wave event (links to noise key on boss)
target     : trigger name of adds to spawn
noise1     : trigger name of column 1
noise2     : trigger name of column 2
-------- SPAWNFLAGS --------
-------- NOTES --------
Target for boss column smash wave event
*/

//=============================================================================
/*QUAKED monster_oldone (1 0 0) (-128 -128 -24) (128 128 192) x
{ model(":progs/oldone.mdl"); }
Shub-Niggurath, 40000 health points
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
Shub-Niggurath, 40000 health points
*/

//=============================================================================
/*QUAKED monster_shub (1 0 0) (-128 -128 -24) (128 128 192) x DMGTRIG
{ model(":progs/oldone.mdl"); }
Shub-Niggurath (Custom version)
-------- KEYS --------
targetname : monster/trigger name
target : trigger to fire on death
bosswave : Total boss waves (1-5)
bosswaveqty : Health each wave
resist_shells  : Shell ammo resistance (0-1)
resist_nails   : Nail ammo resistance (0-1)
resist_rockets : Rocket ammo reistance (0-1)
resist_cells   : Cell ammo resistance (0-1)
pos1   : Attack 1 Speed Base/Skill/- (200 20 0)
pos2   : Attack 1 Damage Base/Rnd/Splash (0 0 40)
pos3   : Attack 2 Speed/-/Damage (300 500 40)
dest1  : Attack 1 Spawn location (0 0 128)
dest2  : Attack 2 Spawn location (0 0 128)
noise1 : Wave 1 trigger entities
noise2 : Wave 2 trigger entities
noise3 : Wave 3 trigger entities
noise4 : Wave 4 trigger entities
deathtype : Death message for the client (optional)
-------- SPAWNFLAGS --------
DMGTRIG : Will start attacking if damaged
-------- NOTES --------
Shub-Niggurath (Custom version)
*/

//=============================================================================
/*QUAKED monster_shubupsd (1 0 0) (-128 -128 -192) (128 128 24) x DMGTRIG
{ model(":progs/oldone.mdl"); }
Shub-Niggurath (Up Side Down Custom version)
-------- KEYS --------
targetname : monster/trigger name
target : trigger to fire on death
bosswave : Total boss waves (1-5)
bosswaveqty : Health each wave
resist_shells  : Shell ammo resistance (0-1)
resist_nails   : Nail ammo resistance (0-1)
resist_rockets : Rocket ammo reistance (0-1)
resist_cells   : Cell ammo resistance (0-1)
pos1   : Attack 1 Speed Base/Skill/- (200 20 0)
pos2   : Attack 1 Damage Base/Rnd/Splash (0 0 40)
pos3   : Attack 2 Speed/-/Damage (600 0 40)
dest1  : Attack 1 Spawn location (0 0 128)
dest2  : Attack 2 Spawn location (0 0 128)
noise1 : Wave 1 trigger entities
noise2 : Wave 2 trigger entities
noise3 : Wave 3 trigger entities
noise4 : Wave 4 trigger entities
deathtype : Death message for the client (optional)
-------- SPAWNFLAGS --------
DMGTRIG : Will start attacking if damaged
-------- NOTES --------
Shub-Niggurath (Up Side Down Custom version)
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_teleporttrain (0 0.5 0.8) (-8 -8 -8) (8 8 8) x
This is used for the final boss ONLY
Flying ball needed to teleport kill Shub-Niggurath
-------- KEYS --------
-------- SPAWNFLAGS --------
-------- NOTES --------
This is used for the final boss ONLY
Flying ball needed to teleport kill Shub-Niggurath
Originallu used bmodel train functions, setup to work like
the shalrath homing missile
*/

//=============================================================================
// EDITOR entities only
//=============================================================================
/*QUAKED func_group (0 .5 .8) ? x x x x x x x x
Editor entity only
-------- KEYS --------
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
_phong      : Will merge lightmap vertex normals (smooth lightmap edges)
-------- NOTES --------
Editor entity only
*/
//-----------------------------------------------------------------------------
/*QUAKED func_detail (.5 .5 .5) ? x x x x x x x x
Brushwork that does not seal the map or is structural (Compiler entity only)
-------- KEYS --------
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
_phong      : Will merge lightmap vertex normals (smooth lightmap edges)
-------- NOTES --------
Brushwork that does not seal the map or is structural (Compiler entity only)
*/
//-----------------------------------------------------------------------------
/*QUAKED func_detail_illusionary (.5 .5 .5) ? x x x x x x x x
Merges brushwork into world geo WITHOUT collision. (Compiler entity only)
-------- KEYS --------
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
_phong      : Will merge lightmap vertex normals (smooth lightmap edges)
-------- NOTES --------
Merges brushwork into world geo WITHOUT collision. (Compiler entity only)
*/
//-----------------------------------------------------------------------------
/*QUAKED func_detail_wall (.5 .5 .5) ? x x x x x x x x
Merges brushwork into world geo with collision. (Compiler entity only)
-------- KEYS --------
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
_phong      : Will merge lightmap vertex normals (smooth lightmap edges)
-------- NOTES --------
Merges brushwork into world geo with collision. (Compiler entity only)
*/

//-----------------------------------------------------------------------------
/*QUAKED misc_external_map (1 .25 .25) (-8 -8 -8) (8 8 8) x x x x x x x x
Merges brushwork into world geo. (Compiler entity only)
Only brushwork in the worldspawn of imported map is used, everything else is ignored
-------- KEYS --------
_external_map           : filename/path of external map to import
_external_map_classname : entity class to turn object into (func_detail)
_external_map_angle     : final entity angle orientation (X axis)
_dirt       : -1 = will be excluded from dirtmapping
_minlight   : Minimum light level for any surface of the brush model
_mincolor   : Minimum light color for any surface (def='1 1 1' RGB)
_shadow     : Will cast shadows on other models and itself
_shadowself : Will cast shadows on itself
_phong      : Will merge lightmap vertex normals (smooth lightmap edges)
-------- NOTES --------
Merges brushwork into world geo. (Compiler entity only)
Only brushwork in the worldspawn of imported map is used, everything else is ignored
*/


//=============================================================================
// Testing/debug entities only (should not be active in finished maps)
//=============================================================================
/*QUAKED item_weapon (0 0 0) (-8 -8 -8) (8 8 8) x
*/
/*QUAKED misc_noisemaker (1 0.5 0) (-10 -10 -10) (10 10 10) x
*/
/*QUAKED noclass (0 0 0) (-8 -8 -8) (8 8 8) x
*/
/*QUAKED test_fodder (0 0.5 0.8) ? x
*/
/*QUAKED test_goaway (0 0.5 0.8) ? x
*/
/*QUAKED test_spawn (0 0 0) (-8 -8 -8) (8 8 8) x
*/
/*QUAKED test_teleport (0 0.5 0.8) ? x
*/
/*QUAKED testplayerstart (0.1 0.1 0.1) (-8 -8 -8) (8 8 8) x
*/
/*QUAKED viewthing (0.1 0.1 0.1) (-8 -8 -8) (8 8 8) x
*/
/*QUAKED trigger_onlyregistered (0.5 0 0.5) ? x
Not Used anymore
*/
