Nightfire.fgd

From NFBSP

Jump to: navigation, search

Download this file.

//
// James Bond 007: Nightfire game definition file (.fgd)
// 
// For use with GearCraft 5.0 and above, VEGA 1.0 (nightfire's codename) and above
// Last update: 06/29/2010
//

// Version 1.6b

//--------------------\\

//  06/29/10 2GoldenBullet$, added missionname, overbright, sound on doors, added mapversion, added item_longjump, added studio model for pathvan & enemy_generic

//  05/16/08 Tres, Added those entities that were not in the fgd
//  
//  Added:
//   enemy_drake, enemy_pathvan, enemy_rook_boss, func_recharge, info_characterguntarget, info_rain,
//   item_key, npc_bird_flock, npc_pathgeneric, trigger_changelevelicon, trigger_music
//
//  Not Added: (They are not used in any NF map)
//   enemy_rocket, enemy_turret, env_beverage, env_drawwater, env_lightning, func_healthcharger,
//   func_rain,  func_snow, grapple_tip, info_drive_target, func_mortar_field, 
//   item_genericfalling,  item_model_follow, laser_beam, monster_furniture, monster_generic,
//   monster_koi, monstermaker, node_viewer, node_viewer_fly, node_viewer_human, node_viewer_large, 
//   npc_bird, soundent, spark_shower, trigger_changelevelicon, trigger_ctfscore, 
//   trigger_eject, trigger_music, up11_dart, weapon_dukes, xrayskeleton
//
//   - Sorted the entity list
//

//--------------------\\

// 01/16/08 Spectr0
//
// - Added
//	- aiscripted_generic
//	- cycler_prdoid
//	- entity_light
//	- cycler_sprite
//	- item_ctfspeed
//	- weapon_minigun
//	- ammo_minigun
//	- item_security
//	- item_scubasuit
//	- item_spacesuit
// - Fixed alphabetical
// - Misc fixes
// - <a href="http://www.nightfire.wbs.cz/Forum.html" class='external free' title="http://www.nightfire.wbs.cz/Forum.html" rel="nofollow">http://www.nightfire.wbs.cz/Forum.html</a>   -> Ask here for more
//

//--------------------\\

// 2/25/07 Alexander 'UltimateSniper[CSU]' Thomas Herrod
//
// - Changed func_water so you can select the water model.
// - Happy Mapping! ;)
//

//--------------------\\

// 2/24/07 Alexander 'UltimateSniper[CSU]' Thomas Herrod
//
// - Added more weapon choices to enemy_generic.
//

//--------------------\\

// 2/23/07 Alexander 'UltimateSniper[CSU]' Thomas Herrod
//
// - Changed model of item_ctfbase to the proper one for improved viewing within editor.
// - Changed model of item_ctfflag to the proper one for improved viewing within editor.
// - Changed 'skin' property of ctf items from integer to choice. For easier selection of skin between MI6 and Pheonix.
// - Added choices to sky models.
//

//--------------------\\

// 2/10/07 Alexander 'UltimateSniper[CSU]' Thomas Herrod
//
// - Added Enemy_Ronin_Turret entity
//

//--------------------\\

// 07/23/02 David Mertz
//
// - added the weapon_raptor
// - added additional description text to the properties and flags for the trigger_objective
// - added additional description text to the properties and flags for the trigger_hudmessage
// - added default grapple_point.mdl to the item_grappletarget
// - changed trigger_objective spawnflag "No Hint List" to "No Objective Screen"
// - env_virtualexplosion added
//

//--------------------\\

// 07/21/02 David Mertz\Patrick Deupree
//
// - added Hidden Text to the trigger_objective
// - changed the AutoShow to Show Immediate to trigger_hudmessage
// - moved the Intro Movie (intromovie) field to the beginning of the worldspawn entity
// - moved the Level Fade In (startdark) field to the beginning of the worldspawn entity
// - changed the color of the trigger_objective to a bright reddish purple to help differentiate it from 
//   the trigger_objective and other entities
// - changed the color of the trigger_hudmessage to a lighter color purple to help differentiate it from 
//   the trigger_objective and other entities
// - changed the color of the trigger_playmovie to a light blue to help differentiate it from other entities
//   

//--------------------\\

// 07/10/02 David Mertz\Patrick Deupree
//
// - added Tesselation(tesselation) value to func_water
// - added Texture(texture) value to func_water
// - made the default value for health 90 for item_lasertarget
// - added body field to the item_locktarget
// - added trigger_hudmessage and trigger_objective
// - added env_scoring entity
// - general cleaning
//  

//--------------------\\

// 06/29/02 David Mertz
//
// - Fixed the item_lasertarget and item_locktarget so that the studio() field was blank
//   and moved the models so that the entity has a default model.
// - Fixed the size and color of the trigger_relay entity (16 units cubed, color purple).
// - Removed ammo_ronin, weapon_ronin will be picked up by the player to get more of this weapon.
// - Added Player Start name descriptor to the trigger_changelevel field for Landmark name.
// - New Level Unit spawnflag added to trigger_changelevel
// - env_weather was removed
//

//--------------------\\

// 06/27/02 Patrick Deupree
//
// - added ammo entities
//
 
//--------------------\\

// 06/04/02 Patrick Deupree
//
// - added new fields for the npc_aigeneric to allow more control over it.
// - changed the base name "monster" to "Character" (just to get rid of that whole "monster" concept).
//

//--------------------\\

// 03/21/02 David Mertz
//
// - added targetname to button_target
// - converted light_spot over to Light baseclass
// - removed "pitch" from light_spot and light_environment
//

//--------------------\\
 
// 02/25/02 Sean Cavanaugh\Patrick Deupree\David Mertz
//
// - General cleanup, organization, and alphabetizing
// - .spz support added
// - Spawnflag "Parachute" added to info_player_start 
// - New entities added
//	- enemy_generic 
//	- item_lasertarget
//	- item_padlock
//	- multi_kill_manager
//	- npc_generic
//      - trigger_bit
//	- trigger_bit_counter
// 	- trigger_playerfreeze
//	- trigger_endcinematic
//	- weapon_bondmine
//	- weapon_commando
//

//--------------------\\

// 12/02/01 Christopher McArthur
// - added info_snow entity
//

//--------------------\\

// 11/13/01 Christopher McArthur
// - Added fogstart fogend fields to env_fog	
//

//--------------------\\

// 11/07/01 Christopher McArthur
//
// - Added "Seamless" flag to trigger_changelevel
// - Added env_snow and env_rain
//

//--------------------\\

// 11/01/01 David Mertz
//
// - Replaced TalkMonster baseclass with TalkCharacter baseclass
// - Modified entities and baseclasses such that most commonly used fields are better organized.
// - Removed func_aiplayerclip
//

//--------------------\\

// 10/31/01 David Mertz
//
// - Removed fixedlight property from BaseClass RenderFields
// - Removed effects spawnflag from BaseClass RenderFields
// - Created new BaseClass, ModelFixedLight that contains fixedlight and effects properties
// - Added BaseClass ModelFixedLight to the BaseClasses:
//	- Ammo
//	- Weapon
//	- Monster
// - Added BaseClass ModelFixedLight to the following model based entities:
//   	- item_breakable
//  	- item_generic
//	- physics_lantern
// - Moved all spawnflag definitions to the end of the entity description
// - Changed spawnflag to Spawnflag (aesthetics)
// - Renamed compile tool names in worldspawn
// - Fixed entity description spelling errors.
// - Grouping reorganization for entities
//
 
//--------------------\\

// 10/30/01 David Mertz
//
// - Massive cleanup
// - Renamed and reorganized entities
// - Alphabetized majority of entities
// - Partially alphabetized BaseClasses
// - Temporarily grouped some entities by type not alphabetically
// - Preliminary changes for release to end user community.
// - Standardized spacing and formatting
//

//--------------------------------------------------LIST START--------------------------------------------------\\

//                   //
// Level Worldspawn  //
//	             //

@SolidClass = worldspawn : "World entity"
[
	mapversion(integer) : "Map Version" : 510
	message(string) : "Map Description / Title"
	MissionName(Choices) : "Music Folder Name (music\mission\)" : "MULTIPLAYER" = 
	[
		"MULTIPLAYER" : "None"
		"austria" : "Austria (M1)"
		"airfield" : "Airfield (M2)"
		"estate" : "Estate (M3)"
		"tower_infiltrate" : "Tower_Infiltrate (M4)"
		"power" : "Power (M5)"
		"tower_escape" : "Tower_Escape (M6)"
		"island" : "Island (M7)"
		"evil_base" : "Evil_Base (M8)"
		"space" : "Space (M9)"
	]
	intromovie(string) : "Intro Movie" : ""
	startdark(choices) : "Level Fade In" : 0 =
	[	
		0 : "No"
		1 : "Yes"
	]
	overbright(integer) : "Overall Brightness" : 192
	skydome(Choices) : "Sky(dome) base name (sv_sky_dome)" : "sky_dome_romania" =
	[	
		"none" : "NONE"
		"sky_dome_austria" : "austria"
		"sky_dome_caviar" : "caviar"
		"sky_dome_island01" : "island01"
		"sky_dome_island03" : "island03"
		"sky_dome_knox" : "knox"
		"sky_dome_lightning" : "lightning"
		"sky_dome_missile02" : "missile02"
		"sky_dome_night" : "night"
		"sky_dome_romania" : "romania"
		"sky_dome_space" : "space"
		"sky_dome_tokyo_day" : "tokyo day"
		"sky_dome_tokyo_night" : "tokyo night"
		"sky_dome_tokyo_sunrise_01" : "sunrise 1"
		"sky_dome_tokyo_sunrise_02" : "sunrise 2"
	]
	skycloudlow(Choices) : "Sky(lower) cloud layer name (sv_sky_cloudlow)" : "sky_lower_afghanistan" =
	[	
		"none" : "NONE"
		"sky_lower_afghanistan" : "afghanistan"
		"sky_lower_austria" : "austria"
		"sky_lower_island01" : "island01"
		"sky_lower_island03" : "island03"
		"sky_lower_knox" : "knox"
		"sky_lower_lightning" : "lightning"
		"sky_lower_night" : "night"
		"sky_lower_romania" : "romania"
		"sky_lower_tokyo_sunrise_01" : "sunrise 1"
		"sky_lower_tokyo_sunrise_02" : "sunrise 2"
	]
	skycloudhigh(Choices) : "Sky(upper) cloud layer name (sv_sky_cloudhigh)" : "none" =
	[
		"none" : "NONE"
		"sky_cloudhigh_caviar" : "caviar"
	]
	
	skyterrain(Choices) : "Sky(terrain) model name (sv_sky_terrain)" : "sky_terrain_afghanistan" =
	[	
		"none" : "NONE"
		"sky_terrain_afghanistan" : "afghanistan"
		"sky_terrain_airfield" : "airfield"
		"sky_terrain_austria" : "austria"
		"sky_terrain_caviar" : "caviar"
		"sky_terrain_island01" : "island01"
		"sky_terrain_island03" : "island03"
		"sky_terrain_knox" : "knox"
		"sky_terrain_missile01" : "missile01"
		"sky_terrain_missile02" : "missile02"
		"sky_terrain_missile03" : "missile03"
		"sky_terrain_night" : "night"
		"sky_terrain_romania" : "romania"
		"sky_terrain_tokyo_day" : "tokyo day"
		"sky_terrain_tokyo_night" : "tokyo night"
		"sky_terrain_tokyo_sunrise_01" : "sunrise 1"
		"sky_terrain_tokyo_sunrise_02" : "sunrise 2"		
	]
	skycloudlow_speed(string) : "Sky(lower) cloud speed (s t)" : "0.025  -0.0019"
	skycloudlow_height(integer) : "Sky(lower) cloud height" : 2000
	skycloudlow_lightning(integer) : "Sky(lower) lightning enabled" : 0
	skycloudhigh_speed(string) : "Sky(upper) cloud speed (s t)" : "0.035  0.0029"
	skycloudhigh_height(integer) : "Sky(upper) cloud height" : 1500
	skycloudhigh_lightning(integer) : "Sky(upper) lightning enabled" : 0
	skylightning(integer) : "Sky lightning (overall) enabled" : 0
	skyocean(string) : "Sky(ocean) model name (sv_sky_ocean)"
	sounds(integer) : "CD track to play" : 1
	light(integer) : "Default light level"
	WaveHeight(string) : "Default Water Wave Height"
	MaxRange(string) : "Max viewable distance" : "16384"
	chaptertitle(string) : "Chapter Title Message"
	
	gametitle(choices) : "Display Game Title" : 0 = 
	[	
		0 : "No"
		1 : "Yes"
	]
	newunit(choices) : "New Level Unit" : 0 = 
	[
		0 : "No, keep current"
		1 : "Yes, clear previous levels"
	]
	mapteams(string) : "Map Team List"
	defaultteam(choices) : "Default Team" : 0 = 
	[
		0 : "Fewest Players"
		1 : "First Team"
	]
	defaultctf(choices) : "Default CTF" : 0 =
	[
		0 : "Not CTF map"
		1 : "CTF map"
	]
	csg_options(string) : "Oven BCSG Compile Options"
	bsp_options(string) : "Oven BBSP Compile Options"
	vis_options(string) : "Oven BVIS Compile Options"
	rad_options(string) : "Oven BRAD Compile Options"
	radfile(string) : "Oven RAD file to use"
]


//		           //
//  BaseClass Definitions  //
//			   //

@BaseClass = CTFAttributes
[
	skin(Choices) : "Texture" : 0=
	[
		0 : "Pheonix"
		1 : "MI6"
	]
	goal_no(Choices) : "Team" : 1 =
	[
		1 : "MI6"
		2 : "Phoenix"
	]
	goal_min(string) : "Min Bounds" : "-16 -16 0"
	goal_max(string) : "Max Bounds" : "16 16 72"
]

@BaseClass = CTFItem
[
	spawnflags(flags) = 
	[ 
		4: "Random Spawn" : 1 
	]
	team_no(Choices) : "Team" : 0 =
	[
		0 : "Random"
		1 : "MI6"
		2 : "Phoenix"
	]
]



@BaseClass = Appearflags
[
	Spawnflags(Flags) =
	[
		2048 : "Not in Deathmatch" : 0
	]
]

@BaseClass = BeamStartEnd 
[
	LightningStart(target_destination) : "Start Entity" 
	LightningEnd(target_destination) : "Ending Entity" 
]

@BaseClass = ModelFixedLight
[
	Effects(Flags) =
    	[
        256: "Fixed Light Value" : 0
    	]
	fixedlight(color255) : "Fixed Lighting Color (R G B)" : "0 0 0"
]

@BaseClass base(ModelFixedLight)size(0 0 0, 32 32 32) color(80 0 200) base(Appearflags) = Ammo []

@BaseClass size(-16 -16 -16, 16 16 16) = gibshooterbase
[
	targetname (target_source) : "Name"

	
	m_iGibs(integer) : "Number of Gibs" : 3
	delay(string) : "Delay between shots" : "0"
	m_flVelocity(integer) : "Gib Velocity" : 200
	m_flVariance(string) : "Course Variance" : "0.15"
	m_flGibLife(string) : "Gib Life" : "4"
	Spawnflags(Flags) = 
	[
		1 : "Repeatable" 	: 0
	]
]

@BaseClass = Global 
[ 
	globalname(string) : "Global Entity Name" 
]

@BaseClass = PlatSounds 
[
	movesnd(choices) : "Move Sound" : 0 = 
	[
		0: "No Sound"
		1: "big elev 1"
		2: "big elev 2"
		3: "tech elev 1"
		4: "tech elev 2"
		5: "tech elev 3"
		6: "freight elev 1"
		7: "freight elev 2"
		8: "heavy elev"
		9: "rack elev"
		10: "rail elev"
		11: "squeek elev"
		12: "odd elev 1"
		13: "odd elev 2"
	]
	stopsnd(choices) : "Stop Sound" : 0 = 
	[
		0: "No Sound"
		1: "big elev stop1"
		2: "big elev stop2"
		3: "freight elev stop"
		4: "heavy elev stop"
		5: "rack stop"
		6: "rail stop"
		7: "squeek stop"
		8: "quick stop"
	]
	volume(string) : "Sound Volume 0.0 - 1.0" : "0.85"
]

@BaseClass = Targetname 
[ 
	targetname(target_source) : "Name"
]

@BaseClass = Target 
[ 
	target(target_destination) : "Target" 
]

@BaseClass base(Appearflags, Targetname, ModelFixedLight) size(-16 -16 0, 16 16 32) color(0 0 200) = Weapon
[
	player_index(integer) : "Player Index" : 0
	Spawnflags(Flags) =
	[
		1 : "Don't Drop" : 0
	]
]

@BaseClass base(Target) = Targetx 
[
	delay(string) : "Delay before trigger" : "0"
	killtarget(target_destination) : "KillTarget"
]

@BaseClass = RenderFxChoices
[
	renderfx(choices) :"Render FX" : 0 =
	[
		0: "Normal"
		1: "Slow Pulse"
		2: "Fast Pulse"
		3: "Slow Wide Pulse"
		4: "Fast Wide Pulse"
		9: "Slow Strobe"
		10: "Fast Strobe"
		11: "Faster Strobe"
		12: "Slow Flicker"
		13: "Fast Flicker"
		5: "Slow Fade Away"
		6: "Fast Fade Away"
		7: "Slow Become Solid"
		8: "Fast Become Solid"
		14: "Constant Glow"
		15: "Distort"
		16: "Hologram (Distort + fade)"
		17: "Tree"
	]
]

@BaseClass base(RenderFxChoices) = RenderFields 
[
	rendermode(choices) : "Render Mode" : 0 =
	[
		0: "Normal"
		1: "Color"
		2: "Texture"
		3: "Glow"
		4: "Solid"
		5: "Additive"
	]
    	renderamt(integer) : "FX Amount (1 - 255)"
	rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
]

@BaseClass base(Appearflags) size(-16 -16 -36, 16 16 36) color(0 255 0) = PlayerClass []

@BaseClass base(Targetname, Target, RenderFields, ModelFixedLight) color(0 200 200) = Character 
[
	TriggerTarget(String) : "TriggerTarget" : ""
//   	TriggerCondition(Choices) : "Trigger Condition" : 0 =
//	[
//		0 : "No Trigger"
//		1 : "See Player, Mad at Player"
//		2 : "Take Damage"
//		3 : "50% Health Remaining"
//		4 : "Death"
//		7 : "Hear World"
//		8 : "Hear Player"
//		9 : "Hear Combat"
//		10: "See Player Unconditional"
//		11: "See Player, Not In Combat"
//      12: "Special Death"
//	]
	TriggerCondition(Flags) =
	[
		1 : "See Player, Mad at Player" : 0
		2 : "Take Damage" : 0
		4 : "50% Health Remaining" : 0
		8 : "Death" : 0
//		16 : "Squad Member Die" : 0
//		32 : "Squad Leader Die" : 0
		64 : "Hear World" : 0
		128 : "Hear Player" : 0
		256 : "Hear Combat" : 0
		512: "See Player Unconditional" : 0
		1024: "See Player, Not In Combat" : 0
		2048: "Special Death" : 0
		4096: "Knocked Out" : 0
	]
	deathtarget(String) : "Death Target" : ""
	minpatroldist (String) : "Min Patrol Dist" : "128.0"
	maxpatroldist (String) : "Max Patrol Dist" : "768.0"
	maxpatrolpath (String) : "Max Path Dist" : "2048.0"
	waitpatroltime (String) : "Patrol Wait Time" : "0.0"
	Spawnflags(Flags) = 
	[
		1 : "WaitTillSeen" 	: 0
		2 : "Gag"		: 0
		4 : "CharacterClip"	: 0
        8 : "Head Turn"     : 0
		16: "Prisoner"		: 0
		64: "Player Ally"	: 0
		128: "WaitForScript" 	: 0
		256: "Pre-Disaster" 	: 0
		512: "Fade Corpse"	: 0
		8192: "Ignore Player"	: 0
		16384: "Break Script"	: 0
		32768: "No Cover"	: 0
		65536: "Patrol"		: 0
        262144: "Death Cam" : 0
        524288: "Initial Event" : 0
        1048576: "Don't Move" : 0
        2097152: "Is Guard" : 0
        4194304: "Is Deaf" : 0
        8388608: "Is Enemy" : 0
        16777216: "Female" : 0
	]
    message (String) : "Hostage Group" : ""
    skin (integer) : "Skin" : 0
    initeventid (Choices) : "Initial AI Event" : 0 =
    [
		0 : "None"
		1 : "Killed"
		2 : "Move"
        3 : "Use Constant"
        4 : "Use Toggle"
        5 : "New Enemy"
        6 : "Node See Enemy"
    ]
    deathcam (String) : "Death Camera" : ""
	excludeaievents(Flags) = 
	[
		1: "Killed" : 0
		2: "Move" : 0
		4: "Use Continuous" : 0
		8: "Use Toggle" : 0
		16: "New Enemy" : 0
		32: "Node See Enemy" : 0
	]
	cameratarget (String) : "Camera Target" : ""
]

@BaseClass = TalkCharacter
[
	UseSentence(String) : "Use Sentence"
	UnUseSentence(String) : "Un-Use Sentence"
	usetarget(String) : "Use Target"
]

@BaseClass = Light 
[
      _light(color255) : "Brightness" : "255 255 128 200"
      style(Choices) : "Appearance" : 0 =
 [
  		0 : "Normal"
  		10: "Fluorescent flicker"
  		2 : "Slow, strong pulse"
  		11: "Slow pulse, noblack"
  		5 : "Gentle pulse"
  		1 : "Flicker A"
  		6 : "Flicker B"
  		3 : "Candle A"
  		7 : "Candle B"
  		8 : "Candle C"
  		4 : "Fast strobe"
  		9 : "Slow strobe"
 ]
 	pattern(string) : "Custom Appearance"
 	_fade(integer) : "Fade Value (1/dist^2*fade)"
	_falloff(choices) : "Falloff Type" : 2 =
	[
		1: "Inverse Linear"
		2: "Inverse Square"
	]
	_mindist(integer) : "Falloff start distance" : 0
	_maxdist(integer) : "Maximum light distance" : 0
]

@BaseClass base(Global, Targetname) = Breakable
[
	target(target_destination) : "Target on break"
	health(integer) : "Strength" : 1
	material(choices) :"Material type" : 0 =
	[
		0: "Glass"
		1: "Wood"
		2: "Metal"
		3: "Flesh"
		4: "Cinder Block"  
		5: "Ceiling Tile"
		6: "Computer"
		7: "Unbreakable Glass"
		8: "Rocks"
	]
	explosion(choices) : "Gibs Direction" : 0 =
	[
		0: "Random"
		1: "Relative to Attack"
	]
	delay(string) : "Delay before fire" : "0"
	gibmodel(studio) : "Gib Model" : ""
	spawnobject(choices) : "Spawn On Break" : 0 =
	[
		0: "Nothing"
		1: "Battery"
		2: "Healthkit"
		3: "9mm Handgun"
		4: "9mm Clip"
		5: "Machine Gun"
		6: "Machine Gun Clip"
		7: "Machine Gun Grenades"
		8: "Shotgun"
		9: "Shotgun Shells"
		10: "Crossbow"
		11: "Crossbow Bolts"
		12: "357"
		13: "357 clip"
		14: "RPG"
		15: "RPG Clip"
		16: "Gauss clip"
		17: "Hand grenade"
		18: "Tripmine"
		19: "Satchel Charge"
		20: "Snark"
		21: "Hornet Gun"
	]
	explodemagnitude(integer) : "Explode Magnitude (0=none)" : 0
]

@BaseClass base(Appearflags, Global, RenderFields, Targetname) = Door
[
	killtarget(target_destination) : "KillTarget"
	speed(integer) : "Speed" : 100
	master(string) : "Master" 
	movement_noise(sound) : ".wav File Name"
	movesnd(choices) : "Move Sound" : 0 = 
	[
		0: "No Sound"
		1: "Servo (Sliding)"
		2: "Pneumatic (Sliding)"
		3: "Pneumatic (Rolling)"
		4: "Vacuum"
		5: "Power Hydraulic"
		6: "Large Rollers"
		7: "Track Door"
		8: "Snappy Metal Door"
		9: "Squeaky 1"
		10: "Squeaky 2"
	]
	stopsnd(choices) : "Stop Sound" : 0 = 
	[
		0: "No Sound"
		1: "Clang with brake"
		2: "Clang reverb"
		3: "Ratchet Stop"
		4: "Chunk"
		5: "Light airbrake"
		6: "Metal Slide Stop"
		7: "Metal Lock Stop"
		8: "Snappy Metal Stop"
	]
	wait(integer) : "delay before close, -1 stay open " : 4
	lip(integer) : "Lip"
	dmg(integer) : "Damage inflicted when blocked" : 0
	message(string) : "Message if triggered"
	target(target_destination) : "Target"
	delay(integer) : "Delay before fire" 
	netname(string) : "Fire on Close"
	health(integer) : "Health (shoot open)" : 0
    locked_audio(sound) : "Locked WAV"
    num_locked_audio(integer) : "Num Locked WAV" : 0
	locked_sound(choices) : "Locked Sound" : 0 = 
	[
		0: "None"
		2: "Access Denied"
		8: "Small zap"
		10: "Buzz"
		11: "Buzz Off"
		12: "Latch Locked"
	]
	unlocked_sound(choices) : "Unlocked Sound" : 0 = 
	[
		0: "None"
		1: "Big zap & Warmup"
		3: "Access Granted"
		4: "Quick Combolock"
		5: "Power Deadbolt 1"
		6: "Power Deadbolt 2"
		7: "Plunger"
		8: "Small zap"
		9: "Keycard Sound"
		10: "Buzz"
		13: "Latch Unlocked"
	]
	locked_sentence(choices) : "Locked Sentence" : 0 = 
	[
		0: "None"
		1: "Gen. Access Denied"
		2: "Security Lockout"
		3: "Blast Door"
		4: "Fire Door"
		5: "Chemical Door"
		6: "Radiation Door"
		7: "Gen. Containment"
		8: "Maintenance Door"
		9: "Broken Shut Door"
	]
	unlocked_sentence(choices) : "Unlocked Sentence" : 0 = 
	[
		0: "None"
		1: "Gen. Access Granted"
		2: "Security Disengaged"
		3: "Blast Door"
		4: "Fire Door"
		5: "Chemical Door"
		6: "Radiation Door"
		7: "Gen. Containment"
		8: "Maintenance area"
	]	
	_minlight(string) : "Minimum light level"
	Spawnflags(flags) =
	[
		1 : "Starts Open" : 0
		4 : "Don't link" : 0
		8: "Passable" : 0
	    	32: "Toggle" : 0
		256:"Use Only" : 0
		512: "Characters Can't" : 0
	]
]

@BaseClass base(RenderFields, Global, Targetname, Target) = BaseTank
[
	master(string) : "(Team) Master" 
	yawrate(string) : "Yaw rate" : "30"
	yawrange(string) : "Yaw range" : "180"
	yawtolerance(string) : "Yaw tolerance" : "15"
	pitchrate(string) : "Pitch rate" : "0"
	pitchrange(string) : "Pitch range" : "0"
	pitchtolerance(string) : "Pitch tolerance" : "5"
	barrel(string) : "Barrel Length" : "0"
	barrely(string) : "Barrel Horizontal" : "0"
	barrelz(string) : "Barrel Vertical" : "0"
	spritesmoke(string) : "Smoke Sprite" : ""
	spriteflash(string) : "Flash Sprite" : ""
	spritescale(string) : "Sprite scale" : "1"
	rotatesound(sound) : "Rotate Sound" : ""
	firerate(string) : "Rate of Fire" : "1"
	bullet_damage(string) : "Damage Per Bullet" : "0"
	persistence(string) : "Firing persistence" : "1"
	firespread(choices) : "Bullet accuracy" : 0 =
	[
		0: "Perfect Shot"
		1: "Small cone"
		2: "Medium cone"
		3: "Large cone"
		4: "Extra-large cone"
	]
	minRange(string) : "Minmum target range" : "0"
	maxRange(string) : "Maximum target range" : "0"
	_minlight(string) : "Minimum light level"
	maxammo(integer) : "Maximum Ammo" : 0
	Spawnflags(flags) =
	[
		1 : "Active" : 0
		16: "Only Direct" : 0
		32: "Controllable" : 0
        	64: "AI Control" : 0
	]
]

@BaseClass base(Global, PlatSounds, RenderFields, Targetname) = Trackchange
[
	height(integer) : "Travel altitude" : 0
	rotation(integer) : "Spin amount" : 0
	train(target_destination) : "Train to switch"
	toptrack(target_destination) : "Top track"
	bottomtrack(target_destination) : "Bottom track"
	speed(integer) : "Move/Rotate speed" : 0
	Spawnflags(flags) =
	[
		1: "Auto Activate train" : 0
		2: "Relink track" : 0
		8: "Start at Bottom" : 0
		16: "Rotate Only" : 0
		64: "X Axis" : 0
		128: "Y Axis" : 0
	]
]

@BaseClass base(Target, Targetname) = Trigger
[
	killtarget(target_destination) : "Kill target"
	netname(target_destination) : "Target Path"
	master(string) : "Master" 
	sounds(choices) : "Sound style" : 0 =
	[
		0 : "No Sound"
	]
	delay(string) : "Delay before trigger" : "0"
	message(string) : "Message (set sound too!)"
	player_index(integer) : "Player Index" : 1
	Spawnflags(flags) = 
	[
		1: "Enemies" : 0
		2: "No Clients" : 0
		4: "Pushables"	: 0
		8: "NPC's"		: 0
		256: "Player CoOp": 0
	]
]

@BaseClass = ZHLTOptions
[
    zhlt_lightflags(flags) = 
    [
        1 : "Embedded fix" : 0
        2 : "Block light" : 0
        4 : "Concave fix" : 0
    ]
	light_origin(target_destination) : "Light origin" 
]

//	    //
// Entities //
//	    //



//
// Ammo
//



//
// Audio
//

@PointClass base(Targetname, Targetx) iconsprite("sprites/aiscripted_sequence.spz") size(-16 -16 0, 16 16 72) color(255 0 255) = aiscripted_sequence : "AI Scripted Sequence"
[
	m_iszEntity(string) : "Target NPC"
	m_iszPlay(string) : "Action Animation" : ""
	m_flRadius(integer) : "Search Radius" : 512
	m_flRepeat(integer) : "Repeat Rate ms" : 0
	m_fMoveTo(Choices) : "Move to Position" : 0 =
	[
		0 : "No"
		1 : "Walk"
		2 : "Run"
		4 : "Instantaneous"
		5 : "No - Turn to Face"
	]
	m_iFinishSchedule(Choices) : "AI Schedule when done" : 0 =
	[
		0 : "Default AI"
		1 : "Ambush"
	]
	spawnflags(Flags) = 
	[
		4 : "Repeatable"		: 0
		8 : "Leave Corpse"	: 0
	]
]

@PointClass Group("Sound") iconsprite("sprites/ambient_generic.spz") base(Targetname) size(-8 -8 -8, 8 8 8) = ambient_generic : "Universal Ambient"
[
	message(sound) : ".wav File Name"
	health(integer) : "Volume (10 = loudest)" : 10
	preset(choices) :"Dynamic Presets" : 0 =
	[
		0: "None"
		1: "Huge Machine"
		2: "Big Machine"
		3: "Machine"
		4: "Slow Fade in"  
		5: "Fade in"
		6: "Quick Fade in"
		7: "Slow Pulse"
		8: "Pulse"
		9: "Quick pulse"
		10: "Slow Oscillator"
		11: "Oscillator"
		12: "Quick Oscillator"
		13: "Grunge pitch"
		14: "Very low pitch"
		15: "Low pitch"
		16: "High pitch"
		17: "Very high pitch"
		18: "Screaming pitch"
		19: "Oscillate spinup/down"
		20: "Pulse spinup/down"
		21: "Random pitch"
		22: "Random pitch fast"
		23: "Incremental Spinup"
		24: "Alien"
		25: "Bizzare"
		26: "Planet X"
		27: "Haunted"
	]
	volstart(integer) : "Start Volume" : 0
	fadein(integer) : "Fade in time (0-100)" : 0
	fadeout(integer) : "Fade out time (0-100)" : 0
	pitch(integer) : "Pitch (> 100 = higher)" : 100
	pitchstart(integer) : "Start Pitch" : 100
	spinup(integer) : "Spin up time (0-100)" : 0
	spindown(integer) : "Spin down time (0-100)" : 0
	lfotype(integer) : "LFO type 0)off 1)sqr 2)tri 3)rnd" : 0
	lforate(integer) : "LFO rate (0-1000)" : 0
	lfomodpitch(integer) : "LFO mod pitch (0-100)" : 0
	lfomodvol(integer) : "LFO mod vol (0-100)" : 0
	cspinup(integer) : "Incremental spinup count" : 0
	Spawnflags(flags) =
	[
		1: "Play Everywhere" : 0
		2: "Small Radius" : 0
		4: "Medium Radius" : 1
		8: "Large Radius" : 0
		16:"Start Silent":0
		32:"Is NOT Looped":0
		64:"At Player":0
	]
	skilllevel(Choices) : "Skill Level" : 0 =
	[
		0 : "None"
		1 : "Easy"
		2 : "Medium"
		3 : "Hard"
	]
]

@PointClass Group("Sound") iconsprite("sprites/ambient_generic.spz") base(Targetname) size(-8 -8 -8, 8 8 8) = ambient_lightning : "Ambient Lightning sound" []

@PointClass Group("Ammo") studio("models/w_ammo_tripmine.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_bondmine : "BondMine Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_commando.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_commando : "Commando Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_darts.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_darts : "Pen Dart Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_flashgrenade.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_flashgrenade : "Flash Grenade Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_fraggrenade.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_fraggrenade : "Frag Grenade Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_grenadelauncher.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_grenadelauncher : "Grenadelauncher Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_kowloon.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_kowloon : "Kowloon Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_mini.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_mini : "Minigun Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_mp9.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_mp9 : "MP9 Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_p99.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_p99 : "P99 Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_pdw90.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_pdw90 : "PDW90 Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_raptor.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_raptor : "Raptor Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_rocketlauncher.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_rocketlauncher : "Rocketlauncher Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_shotgun.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_shotgun : "Shotgun Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_smokegrenade.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_smokegrenade : "Smoke Grenade Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_sniper.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_sniper : "Sniper Ammo" []
@PointClass Group("Ammo") studio("models/w_ammo_up11.mdl") base(ModelFixedLight) size(-8 -8 0, 8 8 8) = ammo_up11 : "UP11 Ammo" []


@SolidClass Group("Buttons") base(Targetname,Target) = button_target : "Target Button"
[
	master(string) : "Master" 
	renderfx(choices) :"Render FX" : 0 =
	[
		0: "Normal"
		1: "Slow Pulse"
		2: "Fast Pulse"
		3: "Slow Wide Pulse"
		4: "Fast Wide Pulse"
		9: "Slow Strobe"
		10: "Fast Strobe"
		11: "Faster Strobe"
		12: "Slow Flicker"
		13: "Fast Flicker"
		5: "Slow Fade Away"
		6: "Fast Fade Away"
		7: "Slow Become Solid"
		8: "Fast Become Solid"
		14: "Constant Glow"
		15: "Distort"
		16: "Hologram (Distort + fade)"
	]
	rendermode(choices) : "Render Mode" : 0 =
	[
		0: "Normal"
		1: "Color"
		2: "Texture"
		3: "Glow"
		4: "Solid"
		5: "Additive"
	]
	renderamt(integer) : "FX Amount (1 - 255)"
	rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
	Spawnflags(flags) =
	[
		1: "Use Activates" : 1
		2: "Start On" : 0
	]
]

//
// Cyclers
//


@PointClass Group("Scripting") studio() base(Targetname) size(-16 -16 0, 16 16 72) = cycler : "Cycler" 
[
	model(studio) : "Model"
	body(Integer) : "Body" : 0
   	head(integer) : "Head" : 0
    accessory(integer) : "Accessory" : 0
    skeleton(integer) : "Skeleton" : 0
    skin(integer) : "Skin" : 0
	renderfx(choices) :"Render FX" : 0 =
	[
		0: "Normal"
		1: "Slow Pulse"
		2: "Fast Pulse"
		3: "Slow Wide Pulse"
		4: "Fast Wide Pulse"
		9: "Slow Strobe"
		10: "Fast Strobe"
		11: "Faster Strobe"
		12: "Slow Flicker"
		13: "Fast Flicker"
		5: "Slow Fade Away"
		6: "Fast Fade Away"
		7: "Slow Become Solid"
		8: "Fast Become Solid"
		14: "Constant Glow"
		15: "Distort"
		16: "Hologram (Distort + fade)"
	]
	rendermode(choices) : "Render Mode" : 0 =
	[
		0: "Normal"
		1: "Color"
		2: "Texture"
		3: "Glow"
		4: "Solid"
		5: "Additive"
	]
	renderamt(integer) : "FX Amount (1 - 255)"
	rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
]

@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = cycler_prdroid : "Prdroid Cycler" []

@PointClass Group("Scripting") sprite() base(Targetname) = cycler_sprite : "Sprite Cycler" 
[
	model(sprite) : "Sprite"
	framerate(integer) : "Frames per second" : 10
	renderfx(choices) :"Render FX" : 0 =
	[
		0: "Normal"
		1: "Slow Pulse"
		2: "Fast Pulse"
		3: "Slow Wide Pulse"
		4: "Fast Wide Pulse"
		9: "Slow Strobe"
		10: "Fast Strobe"
		11: "Faster Strobe"
		12: "Slow Flicker"
		13: "Fast Flicker"
		5: "Slow Fade Away"
		6: "Fast Fade Away"
		7: "Slow Become Solid"
		8: "Fast Become Solid"
		14: "Constant Glow"
		15: "Distort"
		16: "Hologram (Distort + fade)"
	]
	rendermode(choices) : "Render Mode" : 0 =
	[
		0: "Normal"
		1: "Color"
		2: "Texture"
		3: "Glow"
		4: "Solid"
		5: "Additive"
	]
	renderamt(integer) : "FX Amount (1 - 255)"
	rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
]

@PointClass Group("Scripting") studio() base(Character) size(-16 -16 -16, 16 16 16) = cycler_weapon : "Weapon Cycler" 
[
	model(studio) : "Model"
]


@PointClass Group("Effects") iconsprite("sprites/debrisshooter.spz") base(Targetname) size(-16 -16 -16, 16 16 16) color(255 0 0) = debrisshooter : "Debris Shooter"
[
	m_iDebrisModel(string) : "Model for debris" : "models/osprey_enginegibs.mdl"
	m_iDebrisCapacity(integer) : "Number of Debris" : 3
	delay(string) : "Delay between shots" : "0"
	m_flDebrisVelocity(integer) : "Debris Velocity" : 200
	m_flVariance(string) : "Course Variance" : "0.15"
	m_flDebrisLife(string) : "Debris Life" : "4"
	m_flDebrisPitch(string) : "Debris Pitch" : "0"
	Spawnflags(flags) = 
	[
		1 : "Repeatable" 	: 0
	]
]

@PointClass base(Targetname, RenderFields) size(-4 -4 -4, 4 4 4) = cycler_wreckage : "Wreckage" 
[
	framerate(string) : "Framerate" : "10.0"
	model(string) : "Sprite Name" : "sprites/fire.spr"
	scale(string) : "Scale" : "1.0"
	spawnflags(flags) =
	[
		32: "Toggle" : 0
		64: "Start ON" : 0
	]
]
//
// Enemies 
//

@PointClass Group("Enemies") studio("models/osato_gunship.mdl") base(Targetname, Target, RenderFields, ModelFixedLight) size(-360 -360 -172, 360 360 8) = enemy_attackcopter : "Enemy Attackcopter" 
[
	TriggerTarget(String) : "TriggerTarget"
//   	TriggerCondition(Choices) : "Trigger Condition" : 0 =
//	[
//		0 : "No Trigger"
//		1 : "See Player, Mad at Player"
//		2 : "Take Damage"
//		3 : "50% Health Remaining"
//		4 : "Death"
//		7 : "Hear World"
//		8 : "Hear Player"
//		9 : "Hear Combat"
//		10: "See Player Unconditional"
//		11: "See Player, Not In Combat"
//      12: "Special Death"
//	]
	TriggerCondition(Flags) =
	[
		1 : "See Player, Mad at Player" : 0
		2 : "Take Damage" : 0
		4 : "50% Health Remaining" : 0
		8 : "Death" : 0
//		16 : "Squad Member Die" : 0
//		32 : "Squad Leader Die" : 0
		64 : "Hear World" : 0
		128 : "Hear Player" : 0
		256 : "Hear Combat" : 0
		512: "See Player Unconditional" : 0
		1024: "See Player, Not In Combat" : 0
		2048: "Special Death" : 0
		4096: "Knocked Out" : 0
	]
	deathtarget(String) : "Death Target" : ""
    spawnflags(Flags) = 
    [
        8 : "NoWreckage"  : 0
        64 : "Start Inactive" : 0
        32 : "Random Path" : 0
		8192: "Ignore Player"	: 0
        1048576: "Don't Move" : 0
    ]
    skin (integer) : "Skin" : 0
	cameratarget (String) : "Camera Target" : ""
    pathtarget0(string)         : "Path Target 0" : ""
    pathtarget1(string)         : "Path Target 1" : ""
    pathtarget2(string)         : "Path Target 2" : ""
    pathtarget3(string)         : "Path Target 3" : ""
    pathtarget4(string)         : "Path Target 4" : ""
]

@PointClass Group("Enemies") studio() base(Character) size(-16 -16 0, 16 16 72) = enemy_generic : "Generic Enemy" 
[
	model(studio) : "models/commando.mdl"
	netname(string) : "Squad Name"
	sight_dist(integer) : "Sight Distance" : 2048
	Spawnflags(Flags) =
	[
		32 : "SquadLeader" : 0
		64 : "Start Invisible" : 0
	]
    primary_weapon(choices) : "Primary Weapon" : 8 =
    [
		0 : "None"
        1 : "Commando"
        2 : "Frinesi"
        3 : "MP9"
        4 : "MP9 Silenced"
        5 : "L96"
        6 : "L96 Arctic"
        7 : "Kowloon"
        8 : "PDW90"
        9 : "Raptor"
        10 : "Rocket Launcher"
        11 : "Minigun"
        12 : "Laser Rifle"
    ]
    secondary_weapon(choices) : "Secondary Weapon" : 0 =
    [
        0 : "None"
        1 : "Flash Grenade"
        2 : "Smoke Grenade"
        3 : "Frag Grenade"
    ]
    num_grenades(integer)       : "Number of Grenades"  : 0
    body_index(integer)         : "Body Index"          : 0
    head_index(integer)         : "Head Index"          : 0
    gun_index(Choices)          : "Gun Index"           : 1 =
    [
    	1 : "Weapon 1"
    	2 : "Weapon 2"
    	3 : "Weapon 3"
    ]
    accessory_index(integer)    : "Accessory Index"     : 0
    voice_pitch(integer)        : "Voice Pitch"         : 100
    char_name(string)           : "Character directory" : ""
    sent_prefix(string)         : "Sentences File Prefix" : ""
]

@PointClass Group("Enemies") studio("models/osato_gunvan.mdl") size(-16 -16 0, 16 16 72) = enemy_pathvan : "Pathvan Enemy" 
[
	deathtarget(String) : "Death Target" : ""
	targetname(String) : "Name" : ""
	yaw_speed(integer) : "Yaw (turn) Speed" : 57
	speed(integer) : "Drive Speed" : 400
	target(String) : "Target name" : ""

]

@PointClass Group("Enemies") studio("models/helicopter_austria_02.mdl") base(Targetname, Target, RenderFields, ModelFixedLight) size(-360 -360 -172, 360 360 8) = enemy_helicopter : "Enemy Helicopter" 
[
	TriggerTarget(String) : "TriggerTarget"
//   	TriggerCondition(Choices) : "Trigger Condition" : 0 =
//	[
//		0 : "No Trigger"
//		1 : "See Player, Mad at Player"
//		2 : "Take Damage"
//		3 : "50% Health Remaining"
//		4 : "Death"
//		7 : "Hear World"
//		8 : "Hear Player"
//		9 : "Hear Combat"
//		10: "See Player Unconditional"
//		11: "See Player, Not In Combat"
//      12: "Special Death"
//	]
	TriggerCondition(Flags) =
	[
		1 : "See Player, Mad at Player" : 0
		2 : "Take Damage" : 0
		4 : "50% Health Remaining" : 0
		8 : "Death" : 0
//		16 : "Squad Member Die" : 0
//		32 : "Squad Leader Die" : 0
		64 : "Hear World" : 0
		128 : "Hear Player" : 0
		256 : "Hear Combat" : 0
		512: "See Player Unconditional" : 0
		1024: "See Player, Not In Combat" : 0
		2048: "Special Death" : 0
		4096: "Knocked Out" : 0
	]
	deathtarget(String) : "Death Target" : ""
    spawnflags(Flags) = 
    [
        8 : "NoWreckage"  : 0
        64 : "Start Inactive" : 0
        32 : "Random Path" : 0
		8192: "Ignore Player"	: 0
        1048576: "Don't Move" : 0
    ]
    skin (integer) : "Skin" : 0
	cameratarget (String) : "Camera Target" : ""
    pathtarget0(string)         : "Path Target 0" : ""
    pathtarget1(string)         : "Path Target 1" : ""
    pathtarget2(string)         : "Path Target 2" : ""
    pathtarget3(string)         : "Path Target 3" : ""
    pathtarget4(string)         : "Path Target 4" : ""
]


@PointClass Group("Enemies") studio("models/ninja.mdl") base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 0, 16 16 72) = enemy_ninja : "Ninja"
[
	TriggerTarget(String) : "TriggerTarget"
//   	TriggerCondition(Choices) : "Trigger Condition" : 0 =
//	[
//		0 : "No Trigger"
//		1 : "See Player, Mad at Player"
//		2 : "Take Damage"
//		3 : "50% Health Remaining"
//		4 : "Death"
//		7 : "Hear World"
//		8 : "Hear Player"
//		9 : "Hear Combat"
//		10: "See Player Unconditional"
//		11: "See Player, Not In Combat"
//      12: "Special Death"
//	]
	TriggerCondition(Flags) =
	[
		1 : "See Player, Mad at Player" : 0
		2 : "Take Damage" : 0
		4 : "50% Health Remaining" : 0
		8 : "Death" : 0
//		16 : "Squad Member Die" : 0
//		32 : "Squad Leader Die" : 0
		64 : "Hear World" : 0
		128 : "Hear Player" : 0
		256 : "Hear Combat" : 0
		512: "See Player Unconditional" : 0
		1024: "See Player, Not In Combat" : 0
		2048: "Special Death" : 0
		4096: "Knocked Out" : 0
	]
	deathtarget(String) : "Death Target" : ""
	Spawnflags(Flags) = 
	[
		1 : "WaitTillSeen" 	: 0
		2 : "Gag"		: 0
		4 : "CharacterClip"	: 0
        8 : "Head Turn"     : 0
		16: "Prisoner"		: 0
		128: "WaitForScript" 	: 0
		512: "Fade Corpse"	: 0
		8192: "Ignore Player"	: 0
		16384: "Break Script"	: 0
		32768: "No Cover"	: 0
		65536: "Patrol"		: 0
        262144: "Death Cam" : 0
        524288: "Initial Event" : 0
        1048576: "Don't Move" : 0
        2097152: "Is Guard" : 0
        4194304: "Is Deaf" : 0
	]
    message (String) : "Hostage Group" : ""
    skin (integer) : "Skin" : 0
    initeventid (Choices) : "Initial AI Event" : 0 =
    [
		0 : "None"
		1 : "Killed"
		2 : "Move"
        3 : "Use Constant"
        4 : "Use Toggle"
        5 : "New Enemy"
        6 : "Node See Enemy"
    ]
    deathcam (String) : "Death Camera" : ""
	excludeaievents(Flags) = 
	[
		1: "Killed" : 0
		2: "Move" : 0
		4: "Use Continuous" : 0
		8: "Use Toggle" : 0
		16: "New Enemy" : 0
		32: "Node See Enemy" : 0
	]
	cameratarget (String) : "Camera Target" : ""
]


@PointClass Group("Enemies") studio("models/drake.mdl") base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 0, 16 16 72) = enemy_drake : "Drake"
[
	deathtarget(String) : "Death Target" : ""
	Spawnflags(Flags) = 
	[
		1 : "WaitTillSeen" 	: 0
		2 : "Gag"		: 0
		4 : "CharacterClip"	: 0
        8 : "Head Turn"     : 0
		16: "Prisoner"		: 0
		128: "WaitForScript" 	: 0
		512: "Fade Corpse"	: 0
		8192: "Ignore Player"	: 0
		16384: "Break Script"	: 0
		32768: "No Cover"	: 0
		65536: "Patrol"		: 0
        262144: "Death Cam" : 0
        524288: "Initial Event" : 0
        1048576: "Don't Move" : 0
        2097152: "Is Guard" : 0
        4194304: "Is Deaf" : 0
	]
    gun_index (integer) : "Gun Index" : 1
    primary_weapon (integer) : "Primary Weapon" : 1
    sight_dist(integer) : "Sight Distance" : 2048
    waitpatroltime(string) : "wait Patrol Time" : "0.0"
    maxpatrolpath(integer) : "Maximum Patrol Path" : 1024
    maxpatroldist(string) : "Maximum Patrol Distance" : "768.0"
    minpatroldist(string) : "Minimum Patrol Distance" : "128.0"
]

@PointClass Group("Enemies") studio("models/rook_ss.mdl") base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 0, 16 16 72) = enemy_rook_boss : "Rook"
[
	model(String) : "Model" : "models/rook_ss.mdl"
	Spawnflags(Flags) = 
	[
		1 : "WaitTillSeen" 	: 0
		2 : "Gag"		: 0
		4 : "CharacterClip"	: 0
        8 : "Head Turn"     : 0
		16: "Prisoner"		: 0
		128: "WaitForScript" 	: 0
		512: "Fade Corpse"	: 0
		8192: "Ignore Player"	: 0
		16384: "Break Script"	: 0
		32768: "No Cover"	: 0
		65536: "Patrol"		: 0
        262144: "Death Cam" : 0
        524288: "Initial Event" : 0
        1048576: "Don't Move" : 0
        2097152: "Is Guard" : 0
        4194304: "Is Deaf" : 0
	]
    gun_index (integer) : "Gun Index" : 1
    primary_weapon (integer) : "Primary Weapon" : 1
    sight_dist(integer) : "Sight Distance" : 2048
    sent_prefix(string) : "Sent Prefix" : "rook"
    char_name(string) : "Character Name" : "rook"
    voice_pitch(integer) : "Voice Pitch" : 100
]

@PointClass Group("Enemies") studio("models/w_ronin.mdl") base(Character) size(-16 -16 0, 16 16 72) = enemy_ronin_turret : "Ronin Turret Enemy" 
[
    	name(string) : "Name"  : ""
	model(studio) : "models/w_ronin.mdl"
	netname(string) : "Squad Name"
	sight_dist(integer) : "Sight Distance" : 2048
	Spawnflags(Flags) =
	[
		64 : "Start Inactive" : 0
	]

]

@PointClass Group("Enemies") studio() base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 0, 16 16 72) = enemy_sentry : "Sentry Turret Gun"
[
	model(studio) : "Model"
	netname(string) : "Squad Name"
	spawnflags(Flags) = 
	[
		32 : "Autostart" : 0
		64 : "Start Inactive" : 0
	]
]

@PointClass Group("Enemies") studio() base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 0, 16 16 72) = enemy_scubasteve : "Scuba Steve"
[
	model(studio) : "Model"
	head(integer) : "Head" : 0
	netname(string) : "Squad Name"
]

@PointClass Group("Enemies") studio("models/yakuza_driver.mdl") base(Character) size(-16 -16 0, 16 16 72) = enemy_yakuza_driver : "Yakuza Driver" 
[
	netname(string) : "Squad Name"
	sight_dist(integer) : "Sight Distance" : 512	
	Spawnflags(Flags) =
	[
		32 : "SquadLeader" : 0
		4096 : "Hazard Team" : 0
	]
]

@PointClass Group("Enemies") studio("models/spotlight.mdl") base(Global, Targetname, Target, RenderFields, ModelFixedLight) = enemy_searchlight : "Enemy Searchlight"
[
	sequencename(String) : "Sequence Name" : "idle1"
	Spawnflags(flags) = 
	[ 
		1: "Drop to Floor" : 0 
        2: "Start Off" : 0
        4: "Don't Track" : 0
	]
    alarmtarget(string) : "Alarm Target" : ""
    brokentarget(string) : "Broken Target" : ""
    netname(string) : "Squad Name" : ""
    alarmsquad(string) : "Alarm Squad" : ""
    alarmdist(string) : "Alarm Distance" : "0.0"
    alarmaccuracy(string) : "Alarm Accuracy" : "0.0"
    moverate(string) : "Movement Rate" : "0.5"
]

@PointClass Group("Enemies") studio() base(Targetname, Target) = enemy_searchlight_target : "Enemy Searchlight Target" []

@PointClass Group("Enemies") studio("models/sec_camera1.mdl") base(Global, Targetname, Target, RenderFields, ModelFixedLight) = enemy_videocamera : "Enemy Video Camera"
[
	sequencename(String) : "Sequence Name" : "idle1"
	Spawnflags(flags) = 
	[ 
		1: "Drop to Floor" : 0 
        2: "Start Off" : 0
        4: "Don't Track" : 0
	]
    alarmtarget(string) : "Alarm Target" : ""
    netname(string) : "Squad Name" : ""
    alarmsquad(string) : "Alarm Squad" : ""
    alarmdist(string) : "Alarm Distance" : "0.0"
    alarmaccuracy(string) : "Alarm Accuracy" : "0.0"
    moverate(string) : "Movement Rate" : "0.5"
    fieldofview(string) : "Field Of View" : "0.0"
    distlook(string) : "View Distance" : "0.0"
    alarmtime(string) : "Alarm Time" : "0.0"
]

@PointClass Group("Enemies") studio() base(Targetname, Target) = enemy_videocamera_target : "Enemy Video Camera Target" []


//
// Environmental Effects
//


@PointClass Group("Effects") shape(D4) base(Targetname, BeamStartEnd, RenderFxChoices) size(-16 -16 -16, 16 16 16) color(255 64 64) = env_beam : "Energy Beam Effect"
[
	renderamt(integer) : "Brightness (1 - 255)" : 100
	rendercolor(color255) : "Beam Color (R G B)" : "0 0 0"
	Radius(integer) : "Radius" : 256
	life(string) : "Life (seconds 0 = infinite)" : "1"
	BoltWidth(integer) : "Width of beam (pixels*0.1 0-255)" : 20
	NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0
	texture(sprite) : "Sprite Name" : "sprites/laserbeam.spz"
	TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35
	framerate(integer) : "Frames per 10 seconds" : 0
	framestart(integer) : "Starting Frame" : 0
	StrikeTime(string) : "Strike again time (secs)" : "1"
	damage(string) : "Damage / second" : "0"
	Spawnflags(flags) = 
	[
		1 : "Start On" : 0
		2 : "Toggle" : 0
		4 : "Random Strike" : 0
		8 : "Ring" : 0
		16: "StartSparks" : 0
		32: "EndSparks" : 0
		64: "Decal End" : 0
		128: "Shade Start" : 0
		256: "Shade End" : 0
		512: "IR Bright" : 0
	]
]



@PointClass Group("Effects") shape(InvertedD4) base(Targetname) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects" 
[
	color(choices) : "Blood Color" : 0 =
	[
		0 : "Red (Human)"
		1 : "Yellow (Alien)"
	]
	amount(string) : "Amount of blood (damage to simulate)" : "100"
	Spawnflags(flags) =
	[
		1: "Random Direction" : 0
		2: "Blood Stream" : 0
		4: "On Player" : 0
		8: "Spray decals" : 0
	]
]

@SolidClass Group("Effects") base(Targetname) = env_bubbles : "Bubble Volume" 
[
	density(integer) : "Bubble density" : 2
	frequency(integer) : "Bubble frequency" : 2
	current(integer) : "Speed of Current" : 0
	Spawnflags(Flags) = 
	[
		1 : "Start Off" 	: 0
	]
]

@PointClass Group("Scripting") shape(D6) base(Targetname) = env_deathcamera : "Death Camera" []

@PointClass Group("Effects") iconsprite("sprites/env_explosion.spz") base(Targetname) size(-16 -16 -16, 16 16 16) = env_explosion : "Explosion" 
[
	iMagnitude(Integer) : "Magnitude" : 100
	Spawnflags(flags) =
	[
		1: "No Damage" : 0
		2: "Repeatable" : 0
		4: "No Fireball" : 0
		8: "No Smoke" : 0
		16: "No Decal" : 0
		32: "No Sparks" : 0
	]
]

@PointClass Group("Effects") iconsprite("sprites/env_explosion.spz") base(Target, Targetname) size(-16 -16 -16, 16 16 16) = env_virtualexplosion : "Virtual Explosion" 
[
	iMagnitude(Integer) : "Magnitude" : 100
	Spawnflags(flags) =
	[
		64: "Hit Usable" : 0
	]
]

@PointClass Group("Weather Effects") base(Targetname) = env_fog : "Environmental Fog" 
[
	density(string) : "Density" : "1.0"
	rendercolor(color255) : "Color (R G B)" : "75 75 75"
	fogstart(string) : "Fog Start" : "1500"
	fogend(string)   : "Fog End" : "2000"
]

@PointClass Group("Scripting") shape(D20) base(Targetname) color(128  255 128) = env_global : "Global State"
[
	globalstate(string) : "Global State to Set"
	triggermode(choices) : "Trigger Mode" : 0 =
	[
		0 : "Off"
		1 : "On"
		2 : "Dead"
		3 : "Toggle"
	]
	initialstate(choices) : "Initial State" : 0 =
	[
		0 : "Off"
		1 : "On"
		2 : "Dead"
	]
	Spawnflags(flags) =
	[
		1 : "Set Initial State" : 0
	]
]

@PointClass Group("Effects") sprite() base(Targetname, RenderFields) color(30 100 0) = env_glow : "Light Glow/Haze" 
[
	model(sprite) : "Sprite Name" : "sprites/glow01.spz"
	scale(integer) : "Scale" : 1
]

@PointClass Group("Effects") iconsprite("sprites/env_fade.spz" kRenderTransAdd) base(Targetname) size(-8 -8 -8, 8 8 8) = env_fade : "Screen Fade" 
[
	duration(string) : "Duration (seconds)" : "2"
	holdtime(string) : "Hold Fade (seconds)" : "0"
	renderamt(integer) : "Fade Alpha" : 255
	rendercolor(color255) : "Fade Color (R G B)" : "0 0 0"
	Spawnflags(flags) =
	[
		1: "Fade From" : 0
		2: "Modulate" : 0
		4: "Activator Only" : 0
	]
]



@PointClass Group("Effects") shape(D4) base(Targetname, RenderFxChoices) size(-16 -16 -16, 16 16 16) color(255 64 64) = env_laser : "Laser Beam Effect"
[
	LaserTarget(target_destination) : "Target of Laser" 
	renderamt(integer) : "Brightness (1 - 255)" : 100
	rendercolor(color255) : "Beam Color (R G B)" : "0 0 0"
	width(integer) : "Width of beam (pixels*0.1 0-255)" : 20
	NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0
	texture(sprite) : "Sprite Name" : "sprites/laserbeam.spz"
	EndSprite(sprite) : "End Sprite" : ""
	TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35
	framestart(integer) : "Starting Frame" : 0
	damage(string) : "Damage / second" : "100"
	message(string) : "env_render target name" : ""
	Spawnflags(flags) = 
	[
		1 : "Start On" : 0
		16: "StartSparks" : 0
		32: "EndSparks" : 0
		64: "Decal End" : 0
	]
]

@PointClass Group("Scripting") iconsprite("sprites/env_message.spz") size(-16 -16 -16, 16 16 16) base(Targetname, Target) = env_message : "HUD Text Message" 
[
	message(string) : "Message Name"
	messagesound(sound) : "Sound Effect"
	messagevolume(string) : "Volume 0-10" : "10"
	messageattenuation(Choices) : "Sound Radius" : 0 =
	[
		0 : "Small Radius"
		1 : "Medium Radius"
		2 : "Large  Radius"
		3 : "Play Everywhere"
	]
	Spawnflags(flags) =
	[
		1: "Play Once" : 0
		2: "All Clients" : 0
	]
	skilllevel(Choices) : "Skill Level" : 0 =
	[
		0 : "None"
		1 : "Easy"
		2 : "Medium"
		3 : "Hard"
	]
]

@SolidClass Group("Effects") = env_rain : "Rain Zone" 
[
]

@PointClass Group("Effects") shape(D10) base(Targetname, Target, RenderFields) size(-16 -16 -16, 16 16 16) color(100 100 0) = env_render : "Render Controls"
[
	message(string) : "Targeted name" : ""
	Spawnflags(flags) =
	[
		1: "No Renderfx" : 0
		2: "No Renderamt" : 0
		4: "No Rendermode" : 0
		8: "No Rendercolor" : 0
		65536: "Use Targeted" : 0
	]
]

@PointClass Group("Scripting") shape(D20) color(128 255 128) = env_scoring : "Global Scoring State"
[
	bondmoments(integer) : "Bond Moments" : 0
	bondsecrets(integer) : "Bond Secrets" : 0
]

@PointClass Group("Effects") iconsprite("sprites/env_shake.spz") base(Targetname) size(-8 -8 -8, 8 8 8) = env_shake : "Screen Shake" 
[
	amplitude(string) : "Amplitude 0-16" : "4"
	radius(string) : "Effect radius" : "500"
	duration(string) : "Duration (seconds)" : "1"
	frequency(string) : "0.1 = jerk, 255.0 = rumble" : "2.5"
	Spawnflags(flags) =
	[
		1: "GlobalShake" : 0
	]
]

@PointClass Group("Effects") iconsprite("sprites/env_shooter.spz") base(gibshooterbase, RenderFields) size(-16 -16 -16, 16 16 16) = env_shooter : "Model Shooter"
[
	shootmodel(studio) : "Model or Sprite name" : ""
	shootsounds(choices) :"Material Sound" : -1 =
	[
		-1: "None"
		0: "Glass"
		1: "Wood"
		2: "Metal"
		3: "Flesh"
		4: "Concrete"  
	]
	scale(string) : "Gib Sprite Scale" : ""
	skin(integer) : "Gib Skin" : 0
]


@SolidClass Group("Effects")  = env_snow : "Snow Zone" 
[
]


@PointClass Group("Sound") iconsprite("sprites/env_sound.spz") size(-8 -8 -8, 8 8 8) = env_sound : "DSP Sound" 
[
	radius(integer) : "Radius" : 128
	roomtype(Choices) : "Room Type" : 0 =
	[
		0 : "Normal (off)"
		1 : "Generic"
		
		2 : "Metal Small"
		3 : "Metal Medium"
		4 : "Metal Large"
	
		5 : "Tunnel Small"
		6 : "Tunnel Medium"
		7 : "Tunnel Large"
	
		8 : "Chamber Small"
		9 : "Chamber Medium"
		10: "Chamber Large"

		11: "Bright Small"
		12: "Bright Medium"
		13: "Bright Large"

		14: "Water 1"
		15: "Water 2"
		16: "Water 3"

		17: "Concrete Small"
		18: "Concrete Medium"
		19: "Concrete Large"

		20: "Big 1"
		21: "Big 2"
		22: "Big 3"

		23: "Cavern Small"
		24: "Cavern Medium"
		25: "Cavern Large"

		26: "Weirdo 1"
		27: "Weirdo 2"
		28: "Weirdo 3"
	]
]

@PointClass Group("Effects") iconsprite("sprites/env_spark.spz") base(Targetname) size(-8 -8 -8, 8 8 8) = env_spark : "Spark" 
[
	MaxDelay(string) : "Max Delay" : "0"
	Spawnflags(flags) =
	[
		32: "Toggle" : 0
		64: "Start ON" : 0
	]
]

@PointClass Group("Effects") sprite() base(Targetname, RenderFields) = env_sprite : "Sprite Effect" 
[
	framerate(string) : "Framerate" : "10.0"
	model(sprite) : "Sprite Name" : "sprites/glow01.spz"
	scale(string) : "Scale" : ""
	Spawnflags(flags) =
	[
		1: "Start on" : 0
		2: "Play Once" : 0
	]
]

@SolidClass Group("Misc") base(Targetname) = func_balancebeam : "Balance Beam" 
[
    firsttarget(target_source) : "Start Point"
    lasttarget(target_source) : "End Point"
    Spawnflags(flags) =
    [
        1: "Start OFF" : 0
    ]
]

@SolidClass Group("Misc") base(Breakable, ZHLTOptions, RenderFields) = func_breakable : "Breakable Object" 
[
	_minlight(string) : "Minimum light level"
	Spawnflags(flags) =
	[
		1 : "Only Trigger" : 0
		2 : "Touch"	   : 0
		4 : "Pressure"     : 0
        8 : "Fancy"     : 0
		256: "Instant Crowbar" : 1
        65536 : "Allow Bullets" : 0
	]
]


@SolidClass Group("Buttons") base(Global, Targetname, Target, RenderFields, ZHLTOptions) = func_button : "Button" 
[
	speed(integer) : "Speed" : 5
	health(integer) : "Health (shootable if > 0)"
	lip(integer) : "Lip"
	master(string) : "Master" 
	sounds(choices) : "Sounds" : 0 = 
	[
		0: "None"
		1: "Big zap & Warmup"
		2: "Access Denied"
		3: "Access Granted"
		4: "Quick Combolock"
		5: "Power Deadbolt 1"
		6: "Power Deadbolt 2"
		7: "Plunger"
		8: "Small zap"
		9: "Keycard Sound"
		10: "Buzz"
		11: "Buzz Off"
		14: "Lightswitch"
	]
	wait(integer) : "delay before reset (-1 stay)" : 3
	delay(string) : "Delay before trigger" : "0"
	locked_sound(choices) : "Locked Sound" : 0 = 
	[
		0: "None"
		2: "Access Denied"
		8: "Small zap"
		10: "Buzz"
		11: "Buzz Off"
		12: "Latch Locked"
	]
	unlocked_sound(choices) : "Unlocked Sound" : 0 = 
	[
		0: "None"
		1: "Big zap & Warmup"
		3: "Access Granted"
		4: "Quick Combolock"
		5: "Power Deadbolt 1"
		6: "Power Deadbolt 2"
		7: "Plunger"
		8: "Small zap"
		9: "Keycard Sound"
		10: "Buzz"
		13: "Latch Unlocked"
		14: "Lightswitch"
	]
	locked_sentence(choices) : "Locked Sentence" : 0 = 
	[
		0: "None"
		1: "Gen. Access Denied"
		2: "Security Lockout"
		3: "Blast Door"
		4: "Fire Door"
		5: "Chemical Door"
		6: "Radiation Door"
		7: "Gen. Containment"
		8: "Maintenance Door"
		9: "Broken Shut Door"
	]
	unlocked_sentence(choices) : "Unlocked Sentence" : 0 = 
	[
		0: "None"
		1: "Gen. Access Granted"
		2: "Security Disengaged"
		3: "Blast Door"
		4: "Fire Door"
		5: "Chemical Door"
		6: "Radiation Door"
		7: "Gen. Containment"
		8: "Maintenance area"
	]
	_minlight(string) : "Minimum light level"
	Spawnflags(flags) =
	[
		1: "Don't move" : 0
		32: "Toggle" : 0
		64: "Sparks" : 0
		256:"Touch Activates": 0
	]
]


@SolidClass Group("Misc") base(Targetname) = func_climbable : "Wall Climbing Area" 
[
]

@SolidClass Group("Movers") base(Global,RenderFields, Targetname, ZHLTOptions) = func_conveyor : "Conveyor Belt" 
[
	speed(string) : "Conveyor Speed" : "100"
	_minlight(string) : "Minimum light level"
	Spawnflags(flags) =
	[
		1 : "No Push" : 0
		2 : "Not Solid" : 0
	]
]

@SolidClass Group("Doors") base(Door, ZHLTOptions) = func_door : "Basic door"
[
	Spawnflags(flags) =
	[
		65536 : "Allow Bullets" : 0
	]
]

@SolidClass Group("Doors") base(Door, ZHLTOptions) = func_door_rotating : "Rotating door" 
[
	distance(integer) : "Distance (deg)" : 90
	angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
	Spawnflags(flags) =
	[
		2 : "Reverse Dir" : 0
		16: "One-way" : 0
		64: "X Axis" : 0
		128: "Y Axis" : 0
        65536 : "Allow Bullets" : 0
	]
]

@SolidClass Group("Misc") base(Appearflags, RenderFields) = func_friction : "Surface with a change in friction" 
[
	modifier(integer) : "Percentage of standard (0 - 100)" : 15
]

@SolidClass Group("Movers") base(Targetname, RenderFields, Global) = func_guntarget : "Moving platform" 
[
	speed(integer) : "Speed (units per second)" : 100
	target(target_source) : "First stop target"
	message(target_source) : "Fire on damage"
	health(integer) : "Damage to Take" : 0
	_minlight(string) : "Minimum light level"
]

@SolidClass Group("Misc") base(Targetname) = func_huggable : "Wall Hugging Area" 
[
    idealexityaw(string) : "Ideal Exit Yaw" : "0.0"
]

@SolidClass Group("Misc") base(Targetname) = func_handoverhand : "Hand Over Hand Wire" 
[
	firsttarget(target_source) : "Start Point"
	lasttarget(target_source) : "End Point"
	Spawnflags(flags) =
	[
	1: "Start OFF" : 0
	]
]

@SolidClass Group("Misc") base(Targetname, RenderFields, ZHLTOptions) = func_illusionary : "Fake Wall/Light" 
[
	skin(choices) : "Contents" : -1 =
	[
		-1: "Empty"
		-7: "Volumetric Light"
	]
	_minlight(string) : "Minimum light level"
]

@SolidClass Group("Misc") base(Targetname) = func_ladder : "Ladder" []

@SolidClass Group("Misc") base(Targetname) = func_ledgehang : "Ledge to hang on" 
[
	firsttarget(target_source) : "Start Point"
	lasttarget(target_source) : "End Point"
	Spawnflags(flags) =
	[
        	1: "Start OFF" : 0
	]
]

@SolidClass Group("Misc") base(Targetname, Global, RenderFields) = func_modeltrainclip : "Associated model train clip brush" []

@SolidClass Group("Misc") base(Targetname) = func_monsterclip : "Monster clip brush" []

@SolidClass Group("Misc") base(Targetname) = func_characterclip : "Character clip brush" []

@SolidClass Group("Misc") base(Targetname, Global, RenderFields) = func_pathtruck_clip : "Associated path truck clip brush" []

@SolidClass Group("Misc") base(Targetname, Global, RenderFields) = func_pathvehicle_clip : "Associated path vehicle clip brush" []

@SolidClass Group("Movers") base(Global,Appearflags, Targetname, RenderFields) = func_pendulum : "Swings back and forth" 
[
	speed(integer) : "Speed" : 100
	distance(integer) : "Distance (deg)" : 90
	damp(integer) : "Damping (0-1000)" : 0
	dmg(integer) : "Damage inflicted when blocked" : 0
	_minlight(integer) : "_minlight"
	angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
	Spawnflags(flags) =
	[
		1: "Start ON" : 0
		8: "Passable" : 0
		16: "Auto-return" : 0
		64: "X Axis" : 0
		128: "Y Axis" : 0
	]
]

@SolidClass Group("Movers") base(Targetname,Global,RenderFields, PlatSounds) = func_plat : "Elevator" 
[
	height(integer) : "Travel altitude (can be negative)" : 0
	speed(integer) : "Speed" : 50
	_minlight(string) : "Minimum light level"
	Spawnflags(Flags) =
	[
		1: "Toggle" : 0
	]
]	

@SolidClass Group("Movers") base(Targetname, Global, RenderFields, PlatSounds) = func_platrot : "Moving Rotating platform" 
[
	speed(integer) : "Speed of rotation" : 50
	height(integer) : "Travel altitude (can be negative)" : 0
	rotation(integer) : "Spin amount" : 0
	angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
	_minlight(string) : "Minimum light level"
	Spawnflags(Flags) =
	[
		1: "Toggle" : 1
		64: "X Axis" : 0
		128: "Y Axis" : 0
	]
]

@SolidClass Group("Misc") base(Breakable, RenderFields) = func_pushable : "Pushable object"
[
	size(choices) : "Hull Size" : 0 =
	[
		0: "Point size"
		1: "Player size"
		2: "Big Size"
		3: "Player duck"
	]
	friction(integer) : "Friction (0-400)" : 50
	buoyancy(integer) : "Buoyancy" : 20
	_minlight(string) : "Minimum light level"
	Spawnflags(flags) =
	[
		128: "Breakable" : 0
	]
]

@SolidClass Group("Misc") studio("models/refillstation.mdl") base(Targetname) = func_recharge : "Space Suit Recharge" 
[
]

@SolidClass Group("Misc") base(Targetname) = func_ropeclimb : "Climbable Rope" 
[
]

@SolidClass Group("Buttons") base(Targetname, Global, RenderFields) = func_rot_button : "RotatingButton" 
[
	target(target_destination) : "Targetted object"
	changetarget(target_destination) : "ChangeTarget Name"
	master(string) : "Master" 
	speed(integer) : "Speed" : 50
	health(integer) : "Health (shootable if > 0)"
	sounds(choices) : "Sounds" : 21 = 
	[
		21: "Squeaky"
		22: "Squeaky Pneumatic"
		23: "Ratchet Groan"
		24: "Clean Ratchet"
		25: "Gas Clunk"
	]
	wait(choices) : "Delay before reset" : 3 =
	[
		-1: "Stays pressed"
	]
	delay(string) : "Delay before trigger" : "0"
	distance(integer) : "Distance (deg)" : 90
	_minlight(integer) : "_minlight"
	angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
	Spawnflags(flags) =
	[
		1 : "Not solid" : 0
		2 : "Reverse Dir" : 0
		32: "Toggle" : 0
		64: "X Axis" : 0
		128: "Y Axis" : 0
		256:"Touch Activates": 0
	]
]

@SolidClass Group("Movers") base(Targetname, Global, RenderFields) = func_rotating : "Rotating Object"
[
	speed(integer)	: "Rotation Speed" : 0
	volume(integer) : "Volume (10 = loudest)" : 10
	fanfriction(integer) : "Friction (0 - 100%)" : 20
	sounds(choices) : "Fan Sounds" : 0 =
	[
		0 : "No Sound" 
		1 : "Fast Whine"
		2 : "Slow Rush"
		3 : "Medium Rickety"
		4 : "Fast Beating"
		5 : "Slow Smooth"
	]
	message(sound) : "WAV Name"
	_minlight(integer) : "_minlight"
	angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
	spawnorigin(string) : "X Y Z - Move here after lighting" : "0 0 0"
	dmg(integer) : "Damage inflicted when blocked" : 0
	Spawnflags(flags) =
	[
		1 : "Start ON" 		: 0
		2 : "Reverse Direction" : 0
		4 : "X Axis" 		: 0
		8 : "Y Axis" 		: 0
		16: "Acc/Dcc"		: 0
		32: "Fan Pain"		: 0
		64: "Not Solid"		: 0
		128: "Small Radius" : 0
		256: "Medium Radius" : 0
		512: "Large Radius" : 1	
	]
]

@SolidClass Group("Turrets") base(BaseTank) = func_tank : "Brush Gun Turret" 
[
	bullet(choices) : "Bullets" : 0 = 
	[
		0: "None"
		1: "9mm"
		2: "MP5"
		3: "12mm"
	]
]

@SolidClass Group("Turrets") = func_tankcontrols : "Tank controls"
[
	target(target_destination) : "Tank entity name"
]

@SolidClass Group("Turrets") base(BaseTank) = func_tanklaser : "Brush Laser Turret" 
[
	laserentity(target_source) : "env_laser Entity"
]

@SolidClass Group("Turrets") base(BaseTank) = func_tankrocket : "Brush Rocket Turret" []


@SolidClass Group("Turrets") base(BaseTank) = func_tankmortar : "Brush Mortar Turret" 
[
	iMagnitude(Integer) : "Explosion Magnitude" : 100
]

@SolidClass Group("Movers") base(Trackchange) = func_trackautochange : "Automatic track changing platform"
[
	_minlight(string) : "Minimum light level"
]

@SolidClass Group("Movers") base(Trackchange) = func_trackchange : "Train track changing platform"
[
	_minlight(string) : "Minimum light level"
]

@SolidClass Group("Movers") base(Targetname, Global, RenderFields) = func_tracktrain : "Track Train" 
[
	
	target(target_destination) : "First stop target"
	sounds(choices) : "Sound" : 0 =
	[
		0: "None"
		1: "Rail 1"
		2: "Rail 2"
		3: "Rail 3"
		4: "Rail 4"
		5: "Rail 6"
		6: "Rail 7"
	]
	wheels(integer) : "Distance between the wheels" : 50
	height(integer) : "Height above track" : 4
	startspeed(integer) : "Initial speed" : 0
	speed(integer) : "Speed (units per second)" : 64
	dmg(integer) : "Damage on crush" : 0	
	volume(integer) : "Volume (10 = loudest)" : 10
	bank(string) : "Bank angle on turns" : "0"
	_minlight(string) : "Minimum light level"
	Spawnflags(flags) =
	[
		1 : "No Pitch (X-rot)" : 0
		2 : "No User Control" : 0
		8 : "Passable" : 0
	]
]

@SolidClass Group("Movers") = func_traincontrols : "Train Controls"
[
	target(target_destination) : "Train Name"
]

@SolidClass Group("Movers") base(Targetname, Global, RenderFields) = func_train : "Moving platform" 
[
	target(target_source) : "First stop target"
	movesnd(choices) : "Move Sound" : 0 = 
	[
		0: "No Sound"
		1: "big elev 1"
		2: "big elev 2"
		3: "tech elev 1"
		4: "tech elev 2"
		5: "tech elev 3"
		6: "freight elev 1"
		7: "freight elev 2"
		8: "heavy elev"
		9: "rack elev"
		10: "rail elev"
		11: "squeek elev"
		12: "odd elev 1"
		13: "odd elev 2"
	]
	stopsnd(choices) : "Stop Sound" : 0 = 
	[
		0: "No Sound"
		1: "big elev stop1"
		2: "big elev stop2"
		3: "freight elev stop"
		4: "heavy elev stop"
		5: "rack stop"
		6: "rail stop"
		7: "squeek stop"
		8: "quick stop"
	]
	speed(integer) : "Speed (units per second)" : 64
	dmg(integer) : "Damage on crush" : 0
	skin(integer) : "Contents" : 0
	volume(string) : "Sound Volume 0.0 - 1.0" : "0.85"
	_minlight(string) : "Minimum light level"
	Spawnflags(flags) =
	[
		8 : "Not solid" : 0
	]
]

@SolidClass Group("Misc") base(Targetname, Appearflags, RenderFields, Global, ZHLTOptions) = func_wall : "Wall" 
[
	_minlight(string) : "Minimum light level"
	Spawnflags(flags) =
	[
        65536 : "Allow Bullets" : 0
	]
]

@SolidClass Group("Misc") base(func_wall) = func_wall_toggle : "Toggleable geometry" 
[
	Spawnflags(flags) =
	[
		1 : "Starts Invisible" : 0
		2 : "Allow Path" : 0
        65536 : "Allow Bullets" : 0
	]
]

@SolidClass Group("Movers") base(Door, ZHLTOptions) = func_water : "Liquid" 
[
	skin(choices) : "Contents" : -3 =
	[
		-3: "Water"
		-4: "Slime"
		-5: "Lava"
	]
	WaveHeight(string) : "Wave Height" : "3.2"
	watermodel(string) : "Water model name"
	Spawnflags(flags) =
	[
		1 : "Starts Open" : 0
		2 : "No model" : 0
		256:"Use Only" : 0
	]
	tesselation(integer) : "Tesselation" : 0
	texture(string) : "Texture" : ""
]


@PointClass Group("Weapons") studio("models/w_glasses.mdl") base(Weapon, Targetx) = gadget_nightvision : "Glasses" []

//
// Multiplayer Game Entities 
//

@PointClass Group("Multiplayer") shape(D8) base(Targetname, Targetx) = game_counter : "Fires when it hits limit"
[
	master(string) : "Master"
	frags(integer) : "Initial Value" : 0
	health(integer) : "Limit Value" : 10
	Spawnflags(flags) =
	[
		1: "Remove On fire" : 0
		2: "Reset On fire" : 1
	]
]

@PointClass Group("Multiplayer") shape(D8) base(Targetname, Target) = game_counter_set : "Sets a game_counter"
[
	master(string) : "Master"
	frags(integer) : "New Value" : 10
	Spawnflags(flags) =
	[
		1: "Remove On fire" : 0
	]
]

@PointClass Group("Multiplayer") shape(D8) base(Targetname) = game_end : "End this multiplayer game" 
[
	master(string) : "Master" 
]

@PointClass Group("Multiplayer") shape(D8) base(Targetname) = game_player_equip : "Initial player equipment"
[
	default_weapon(string) : "Default Weapon"
	master(string) : "Team Master"
	Spawnflags(flags) =
	[
		1: "Use Only" : 0
	]
]

@PointClass Group("Multiplayer") shape(D8) base(Targetname) = game_player_hurt : "Hurts player who fires"
[
	dmg(string) : "Damage To Apply" : "999"
	master(string) : "Master" 
	Spawnflags(flags) =
	[
		1: "Remove On fire" : 0
	]
]

@PointClass Group("Multiplayer") shape(D8) base(Targetname) = game_player_team : "Allows player to change teams"
[
	target(string) : "game_team_master to use" 
	master(string) : "Master"
	Spawnflags(flags) =
	[
		1 : "Remove On fire" : 0
		2 : "Kill Player" : 0
		4 : "Gib Player" : 0
	]
]

@PointClass Group("Multiplayer") shape(D8) base(Targetname) = game_score : "Award/Deduct Points" 
[
	points(integer) : "Points to add (+/-)" : 1
	master(string) : "Master" 
	Spawnflags(flags) =
	[
		1: "Allow Negative" : 0
		2: "Team Points" : 0
	]
]

@PointClass Group("Multiplayer") shape(D8) base(Targetname, Targetx) = game_team_master : "Team based master/relay"
[
	triggerstate(choices) : "Trigger State" : 0 = 
	[
		0: "Off"
		1: "On"
		2: "Toggle"
	]
	teamindex(integer) : "Team Index (-1 = no team)" : -1
	master(string) : "Master"
	Spawnflags(flags) =
	[
		1: "Remove On fire" : 0
	] 
]

@PointClass Group("Multiplayer") shape(D8) base(Targetname, Targetx) = game_team_set : "Sets team of team_master"
[
	master(string) : "Master" 
	Spawnflags(flags) =
	[
		1: "Remove On fire" : 0
	]
]

@PointClass Group("Multiplayer") shape(D8) base(Targetname, Target) = game_text : "HUD Text Message" 
[
	message(string) : "Message Text"
	x(string) : "X (0 - 1.0 = left to right) (-1 centers)" : "-1"
	y(string) : "Y (0 - 1.0 = top to bottom) (-1 centers)" : "-1"
	effect(Choices) : "Text Effect" : 0 =
	[
		0 : "Fade In/Out"
		1 : "Credits"
		2 : "Scan Out"
	]
	color(color255) : "Color1" : "100 100 100"
	color2(color255) : "Color2" : "240 110 0"
	fadein(string) : "Fade in Time (or character scan time)" : "1.5"
	fadeout(string) : "Fade Out Time" : "0.5"
	holdtime(string) : "Hold Time" : "1.2"
	fxtime(string) : "Scan time (scan effect only)" : "0.25"
	channel(choices) : "Text Channel" : 1 =
	[
		1 : "Channel 1"
		2 : "Channel 2"
		3 : "Channel 3" 
		4 : "Channel 4"
	]
	master(string) : "Master" 
	Spawnflags(flags) =
	[
		1: "All Players" : 0
	]
]

@SolidClass Group("Multiplayer") base(Targetname) = game_zone_player : "Player Zone brush"
[
	intarget(target_destination) : "Target for IN players"
	outtarget(target_destination) : "Target for OUT players"
	incount(target_destination) : "Counter for IN players"
	outcount(target_destination) : "Counter for OUT players"
	// master(string) : "Master" 
]

@PointClass Group("Effects") iconsprite("sprites/gibshooter.spz") base(gibshooterbase) size(-8 -8 -8, 8 8 8) = gibshooter : "Gib Shooter" []

//
// Info Entities
//

@PointClass Group("Scripting") shape(BOXDIAMOND) base(Targetname, Targetx) size(-16 -16 0, 16 16 72) color(255 128 0) = info_aievent : "Squad Leader AI Event"
[
	m_iszEntity(string) : "Target Character"
	m_iszPlay(string) : "Action Animation" : ""
	m_flRadius(integer) : "Search Radius" : 512
	m_flRepeat(integer) : "Repeat Rate ms" : 0
	m_fMoveTo(Choices) : "Move to Position" : 0 =
	[
		0 : "No"
		1 : "Walk"
		2 : "Run"
		4 : "Instantaneous"
		5 : "No - Turn to Face"
	]
	m_iFinishSchedule(Choices) : "AI Schedule when done" : 0 =
	[
		0 : "Default AI"
		1 : "Ambush"
	]
	eventtype(Choices) : "Event Type" : 0 =
	[
		0 : "None"
		1 : "Killed"
		2 : "Move"
        3 : "Use Constant"
        4 : "Use Toggle"
        5 : "New Enemy"
        6 : "Node See Enemy"
	]
	anglerange(string) : "Angle Range" : "15"
	animcount(integer) : "Anim Count" : 1
	Spawnflags(Flags) = 
	[
		4 : "Repeatable"		: 0
		8 : "Leave Corpse"	: 0
		256 : "Check Direction" : 0
		512 : "Turn To Face" 	: 1
	]
	probability(string) : "Probability" : "1.0"
	usetarget(string) : "Use Target" : ""
]


@PointClass Group("Scripting") shape(InvertedD6) base(Target, Targetname) color(255 255 64) = info_camera : "Camera"
[
    wait(string) : "Wait Time" : "0.0"
	pathindex(integer) : "Path Index" : 0
	acceleration(string) : "Acceleration" : "0.0"
	deceleration(string) : "Deceleration" : "0.0"
	viewent(string) : "View Entity" : ""
    Spawnflags(Flags) =
    [
        4 : "Lock Player"       : 0
    ]
]


@PointClass Group("Scripting") shape(InvertedD4) base(Target, Targetname) color(64 255 255) = info_camera_node : "Camera Node"
[
    wait(string) : "Wait Time" : "0.0"
	acceleration(string) : "Acceleration" : "0.0"
	deceleration(string) : "Deceleration" : "0.0"
	viewent(string) : "View Entity" : ""
    wavefile(string) : "Sound" : ""
    targetent(string) : "Target Entity" : ""
]


@PointClass Group("Scripting") shape(InvertedD4) base(Targetname) color(255 64 255) = info_camera_viewnode : "Camera View Node" []

@BaseClass base(Targetname, Target) color(0 200 200) =  info_characterguntarget : "Character gun target" 
[
]

@PointClass Group("CTF") studio("models/player.mdl") base(PlayerClass) = info_ctfspawn : "Player CTF Start" 
[
	team_no(Choices) : "Team" : 0 =
	[
		0 : "Random"
		1 : "MI6"
		2 : "Phoenix"
	]
]

@PointClass Group("Effects") decal() size(-4 -4 -4, 4 4 4) color(0 0 0) base(Targetname, Appearflags) = infodecal : "Decal"
[
	texture(decal)
]



@PointClass Group("Scripting") shape(D6) base(Target) size(-4 -4 -4, 4 4 4) color(0 255 0) = info_intermission : "Intermission Spot" []

@PointClass Group("Scripting") shape(InvertedD4) base(Targetname) color(255 255 0) = info_landmark : "Transition Landmark" []

@PointClass Group("Nodes") shape(InvertedBoxPyramid) node() size(-24 -24 -12, 24 24 4) color(255 255 0) = info_node : "ai node"
[
	nodetype(Flags) =
	[
		1 : "Land" : 0
		2 : "Air"  : 0
		4 : "Water" : 0
		8 : "Override" : 0
		16 : "Patrol" : 0
        32 : "Patrol Face" : 0
        64 : "Boss Jump" : 0
        128 : "Boss Only" : 0
	]
	Spawnflags(Flags) =
	[
		1 : "Sweep" : 0
		2 : "Sweep Run" : 0
		4 : "Crouch" : 0
        8 : "Stand" : 0
        16 : "Jump" : 0
        32 : "Wall Cover" : 0
		536870912 : "Air Node" : 0
		1073741824 : "Water Node" : 0
		2147483648 : "Land Node" : 0
	]
]

@PointClass Group("Nodes") shape(BoxPyramid) node() size(-24 -24 -4, 24 24 12) color(200 200 255) = info_node_air : "ai air node" []

@PointClass Group("Targets") shape(D6) base(Targetname) = info_null : "info_null (spotlight target)" []

@PointClass Group("Targets") shape(D6) base(Target) = info_picture_target : "Picture Target" []

@PointClass Group("Player") studio("models/holo.mdl") base(PlayerClass) = info_player_coop : "Player cooperative start"
[
	index(integer) : "Index" : 0
]

@PointClass Group("Player") studio("models/player.mdl") base(PlayerClass) = info_player_deathmatch : "Player deathmatch start" 
[
	target(target_destination) : "Target"
	master(string) : "Master"
]
@PointClass Group("Player") studio("models/player/colette/colette.mdl") base(Targetname) base(PlayerClass) = info_player_start : "Player 1 start"
[
    spawnflags(flags) =
    [
        1: "Parachute" : 0
        2: "Zero G" : 0
    ]
]

@Pointclass Group("Effects")  = info_snow : "Snow Settings"
[
	snow_distance(integer) : "Snow Distnace" : 1000
	snow_interval(integer) : "Snow Info" : 90
	snow_amount(integer) :  "Number Of Flakes" : 200
] 

@Pointclass Group("Effects")  = info_rain : "Rain Settings"
[
	angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
	xdegrees(integer) : "X Degrees" : 2
	ydegrees(integer) : "Y Degrees" : 2
	transluceny(integer) : "Translucency" : 2  //IT'S NOT MISPELLED, ON NF MAPS (m4_infiltrate06) APPEARS AS THAT.
	
	fallspeed(integer) : "Fall Speed" : 800
	raindistance(integer) : "Rain Distance" : 800
	density(integer) : "Density" : 8
	state(integer) : "State" : 8
] 

@PointClass Group("Targets") iconsprite("sprites/info_target.spz") base(Targetname) size(-4 -4 -4, 4 4 4) color(200 100 50) = info_target : "Beam Target" []
@PointClass Group("Targets") shape(D6) size(-8 -8 0, 8 8 16) base(PlayerClass, Targetname) = info_teleport_destination : "Teleport destination" []

//
// Items
//

@PointClass Group("Items") studio("models/w_armor_plate.mdl") = item_armor_plate : "Armor Plate" []

@PointClass Group("Items") studio("models/w_armor_vest.mdl") = item_armor_vest : "Armor Vest" []

@PointClass Group("World Items") studio() base(Targetname, Target, RenderFields, ModelFixedLight) = item_breakable : "Breakable scenery item"
[
	model(studio) : "Model"
	sequencename(String) : "Sequence Name" : "idle1"
	usesequencename(String) : "Use Sequence Name" : ""
	usebody(integer) : "Use Body" : 0
	useskin(integer) : "Use Skin" : 0
	skin(Integer) : "Skin" : 0
	body(Integer) : "Body" : 0
	gibmodel(studio) : "Gib Model" : "none"
	papermodel(sprite) : "Paper Model" : "none"
	hitanim(String) : "Damage Animation" : "none"
	hitidle(String) : "Damaged Idle" : "none"
	posthitanim(String) : "Already Damaged Damage Anim" : "none"
	damagedbody(Integer) : "Damaged Body" : 0
	material(choices) : "Material" : 0 = 
	[
		0: "Generic"
		1: "Glass"
		2: "Pottery"
		3: "Paper"
		4: "Sparks"
	]
	Spawnflags(flags) = 
	[ 
		1: "Drop to Floor" : 0
        2: "Solid" : 0
		4: "Kill When Damaged" : 1 
        8: "Fall" : 0
        16: "Wait For Trigger" : 0
        32: "Use Once" : 0
        64: "No Damage When Broken" : 0
        128: "Player Usable" : 0
        256: "Spotlight" : 0
        512: "Gib Once" : 0
	]
	max_health(integer) : "Starting Health" : 1
	explosionscale(integer) : "Explosion Scale" : 0
]

@PointClass Group("CTF") studio("models/ctf_flag.mdl") base(CTFAttributes) size(-16 -16 0, 16 16 72) = item_ctfflag : "CTF Flag"
[
	model(studio) : "Model" : "models/ctf_flag.mdl"
]
@PointClass Group("CTF") studio("models/ctf_flag_stand_mi6.mdl") base(CTFAttributes) size(-16 -16 0, 16 16 72) = item_ctfbase : "CTF Base"
[
	model(studio) : "Model" : "ctf_flag_stand_mi6.mdl"
]


@PointClass Group("CTF") shape(D6) = info_ctfdetect : "CTF Detect"
[
	flagreturntime(string) : "Flag Return Time" : "30.0"
	basedefenddist(string) : "Base Defend Distance" : "192.0"
	defendcarriertime(string) : "Defend Carrier Time" : "10.0"
	captureassisttime(string) : "Capture Assist Time" : "10.0"
	poweruprespawntime(string) : "Powerup Respawn Time" : "30.0"
	score_icon_namebm(string) : "Non-Flag MI6 icon" : "item_ctfscorebm"
	score_icon_nameof(string) : "Non-Flag Phoenix icon" : "item_ctfscoreof"
	map_score_max(string) : "Maximum Map Team Score" : "0"
]

@PointClass Group("CTF") studio("models/w_glasses.mdl") base(CTFItem) size(-16 -16 0, 16 16 36) = item_ctflongjump : "Longjump Module for CTF" []
@PointClass Group("CTF") studio("models/battery_powerup.mdl") base(CTFItem) size(-16 -16 0, 16 16 36) = item_ctfportablebattery : "Portable Battery charger for CTF" []
@PointClass Group("CTF") studio("models/armor_vest_powerup.mdl") base(CTFItem) size(-16 -16 0, 16 16 36) = item_ctfregeneration : "Health regeneration for CTF" []
@PointClass Group("CTF") studio("models/skull_powerup.mdl") base(CTFItem) size(-16 -16 0, 16 16 36) = item_ctfaccelerator : "Double Weapon Damage for CTF" []
@PointClass Group("CTF") studio("models/ammo_powerup.mdl") base(CTFItem) size(-16 -16 0, 16 16 36) = item_ctfbackpack : "Backpack Powerup for CTF" []
@PointClass Group("CTF") studio("models/ctf_powerup_speed.mdl") base(CTFItem) size(-16 -16 0, 16 16 36) = item_ctfspeed : "Double Faster speed for CTF" []
@PointClass Group("CTF") shape(D6) size(-16 -16 0, 16 16 36) = info_ctfspawn_powerup : "CTF Powerup Spawn Spot"
[
	team_no(Choices) : "Team" : 0 =
	[
		0 : "Random"
		1 : "MI6"
		2 : "Phoenix"
	]
]




@PointClass Group("World Items") studio("models/worm_drive.mdl")  base(Targetname, Target, RenderFields, ModelFixedLight) = item_drivetarget : "QDrive"
[
	body(Integer) : "Body" : 0
	decodesound(string) : "Decode Sound" : "misc/padlock.wav"
	Spawnflags(flags) = 
	[ 
		1: "Drop to Floor" : 0 
        2: "Stay Around" : 0
	]
  ]

@PointClass Group("World Items") studio() base(Targetname, Target, RenderFields, ModelFixedLight) = item_generic : "Generic scenery item"
[
	model(studio) : "Model"
	sequencename(String) : "Sequence Name" : "idle1"
	usesequencename(String) : "Use Sequence Name" : ""
	usebody(integer) : "Use Body" : 0
	useskin(integer) : "Use Skin" : 0
	skin(Integer) : "Skin" : 0
	body(Integer) : "Body" : 0
	Spawnflags(flags) = 
	[ 
		1: "Drop to Floor" : 0 
        2: "Solid" : 0
        4: "Break" : 0
        8: "Fall" : 0
        16: "Wait For Trigger" : 0
        32: "Use Once" : 0
        128: "Player Usable" : 0
        256: "Spotlight" : 0
	]
	brokenbody(integer) : "Broken Body" : 0
	fallingbody(integer) : "Falling Body" : 0
	minbbox(string) : "Min BBox" : "0 0 0"
	maxbbox(string) : "Max BBox" : "0 0 0"
	gibmodel(studio) : "Gib Model"
	fallanim(string) : "Fall Animation" : ""
	initialbody2(integer) : "Initial Body 2" : 0
	initialbody3(integer) : "Initial Body 3" : 0
	initialbody4(integer) : "Initial Body 4" : 0
	initialbody5(integer) : "Initial Body 5" : 0
]


@PointClass Group("World Items") studio("models/keycard.mdl")  base(Targetname, Target, RenderFields, ModelFixedLight) = item_key : "Key Card"
[
	model(studio) : "Model" : "models/keycard.mdl"
]

@PointClass Group("World Items") studio("models/padlock.mdl")  base(Targetname, Target, RenderFields, ModelFixedLight) = item_padlock : "Breakable padlock"
[
	Spawnflags(flags) = 
	[ 
		1: "Drop to Floor" : 0 
	]
    health(integer) : "Strength" : 60
]

@PointClass Group("World Items") studio()  base(Targetname, Target, RenderFields, ModelFixedLight) = item_lasertarget : "Laser Breakable Item"
[
	model(studio) : "Model" : "models/padlock.mdl"
	Spawnflags(flags) = 
	[ 
		1: "Drop to Floor" : 0 
        2: "Stay Around" : 0
	]
    breaksound(sound) : "Break Sound" : "misc/padlock.wav"
    breakbody(integer) : "Break Body" : 0
    breakskin(integer) : "Break Skin" : 0
    health(integer) : "Strength" : 90
]

@PointClass Group("World Items") studio()  base(Targetname, Target, RenderFields, ModelFixedLight) = item_locktarget : "Electronic Lock"
[
	model(studio) : "Model" : "models/keypad.mdl"
	Spawnflags(flags) = 
	[ 
		1: "Drop to Floor" : 0 
        2: "Stay Around" : 0
	]
    unlocksound(sound) : "Unlock Sound" : "misc/padlock.wav"
    lockedtarget(string) : "Locked Target" : ""
    body(Integer) : "Body" : 0
    unlockbody(integer) : "Unlock Body" : 0
    unlockskin(integer) : "Unlock Skin" : 0
    health(string) : "Time" : "5.0"
]

@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) = item_security : "Security card" []
@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) = item_scubasuit : "Scuba Suit" []
@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) = item_space_suit : "Space Suit" []
@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) = item_longjump : "Half-Life Longjump" []

@PointClass Group("World Items") studio() base(Targetname, Target, RenderFields, ModelFixedLight) = item_grappletarget : "Grapple target model"
[
	model(studio) : "Model" : "models/grapple_point.mdl"
	sequencename(String) : "Sequence Name" : ""
	skin(Integer) : "Skin" : 0
	body(Integer) : "Body" : 0
]





//
// Lighting
//

@PointClass Group("Lighting") iconsprite("sprites/entity_light.spz") base(Target, Targetname, Light) size(-8 -8 -8, 8 8 8) = entity_light : "Entity Lightsource"
[
	Spawnflags(Flags) =
	[
		1 : "Initially dark" : 0
		2 : "Entity Lighting" : 1
	]
]

@PointClass Group("Lighting") iconsprite("sprites/light.spz") base(Targetname, Target, Light) size(-8 -8 -8, 8 8 8) = light : "Invisible lightsource"
[
	Spawnflags(Flags) =
	[
		1 : "Initially dark" : 0
		2 : "Entity Lighting" : 0
	]
]


@PointClass Group("Lighting") iconsprite("sprites/light_env.spz") size(-8 -8 -8, 8 8 8) = light_environment : "Environment" 
[
	_light(color255) : "Brightness" : "255 255 128 200"
	_fade(integer) : "Fade Value (1/dist^2*fade)"
	_falloff(choices) : "Falloff Type" : 2 =
	[
		1: "Inverse Linear"
		2: "Inverse Square"
	]
]

@PointClass Group("Lighting") iconsprite("sprites/light_spot.spz") base(Targetname, Target, Light) size(-8 -8 -8, 8 8 8) = light_spot : "Spotlight" 
[
	_cone(integer) : "Inner (bright) angle" : 30
	_cone2(integer) : "Outer (fading) angle" : 45
	_sky(Choices) : "Is Sky" : 0 = 
	[ 
		0 : "No"
		1 : "Yes"
	]
	Spawnflags(Flags) =
	[
		1 : "Initially dark" : 0
		2 : "Entity Lighting" : 0
	]
]


@SolidClass Group("Doors") base(Door) = momentary_door : "Momentary/Continuous door" 
[
	Spawnflags(flags) =
	[
		1 : "Starts Open" : 0
	]
]

@SolidClass Group("Buttons") base(RenderFields, Targetname) = momentary_rot_button : "Direct wheel control" 
[
	target(target_destination) : "Targetted object"
	speed(integer) : "Speed" : 50
	master(string) : "Master" 
	sounds(choices) : "Sounds" : 0 = 
	[
		0: "None"
		1: "Big zap & Warmup"
		2: "Access Denied"
		3: "Access Granted"
		4: "Quick Combolock"
		5: "Power Deadbolt 1"
		6: "Power Deadbolt 2"
		7: "Plunger"
		8: "Small zap"
		9: "Keycard Sound"
		21: "Squeaky"
		22: "Squeaky Pneumatic"
		23: "Ratchet Groan"
		24: "Clean Ratchet"
		25: "Gas Clunk"
	]
	distance(integer) : "Distance (deg)" : 90
	returnspeed(integer) : "Auto-return speed" : 0
	_minlight(integer) : "_minlight"
	angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
	Spawnflags(flags) =
	[
		1: "Door Hack" : 0
		2: "Not useable" : 0
		16: "Auto Return" : 0
		64: "X Axis" : 0
		128: "Y Axis" : 0
	]
]


@PointClass Group("Scripting") iconsprite("sprites/multi_manager.spz") base(Targetname) color(255 128 0) size(-8 -8 -8, 8 8 8) = multi_kill_manager : "MultiKill Manager" 
[
	spawnflags(Flags) = 
	[
		1 : "multithreaded" : 0
	]
]

@PointClass Group("Scripting") iconsprite("sprites/multi_manager.spz") base(Targetname) color(255 128 0) size(-8 -8 -8, 8 8 8) = multi_manager : "MultiTarget Manager" 
[
	Spawnflags(Flags) = 
	[
		1 : "multithreaded" : 0
	]
]

@PointClass Group("Scripting") iconsprite("sprites/multisource.spz") base(Targetname, Target) color(128 255 128) size(-8 -8 -8, 8 8 8) = multisource : "Multisource"
[
	globalstate(string) : "Global State Master"
]


//
// Non-Player Characters (NPCs)
//

@PointClass Group("NPCs") studio() base(Character, TalkCharacter) size(-16 -16 -36, 16 16 36) = npc_aigeneric : "Generic NPC with AI" 
[
	model(studio) : "Model"
	sight_dist(integer) : "Sight Distance" : 2048
	body(Integer) : "Body" : 0	// These next three are left over.  I've changed names to comply with the way enemy_generics work
   	head(integer) : "Head" : 0
    accessory(integer) : "Accessory" : 0
    body_index(integer)         : "Body Index"          : 0
    head_index(integer)         : "Head Index"          : 0
    gun_index(integer)          : "Gun Index"           : 0
    accessory_index(integer)    : "Accessory Index"     : 0
    char_name(string) : "Character directory" : ""
    sent_prefix(string) : "Sentences File Prefix" : ""
    max_health(integer) : "Max Health" : 8
    rescuetarget (String) : "Rescue Target" : ""
	Spawnflags(Flags) = 
	[
		32: "Pain Sentence" : 0
	]
]

@PointClass Group("NPCs") studio() base(Character, RenderFields) size(-16 -16 -36, 16 16 36) = npc_generic : "Generic NPC" 
[
	model(studio) : "Model"
	sight_dist(integer) : "Sight Distance" : 2048
	body(Integer) : "Body" : 0
   	head(integer) : "Head" : 0
    accessory(integer) : "Accessory" : 0
    skin(integer) : "Skin" : 0
	target_trigger(string) : "Target Trigger" : ""
	trigger_hits(integer) : "Trigger Hits" : 4
	Spawnflags(Flags) = 
	[
		4 : "Not solid"	: 0
		8 : "Turn Head"	: 0
        131072 : "Dummy" : 0
	]
    max_health(integer) : "Max Health" : 8
    rescuetarget (String) : "Rescue Target" : ""
]

@PointClass Group("NPCs") studio() base(Character) size(-6 -6 0, 6 6 6) = npc_koi : "Koi" 
[
	model(studio) : "Model"
]

@PointClass Group("NPCs") studio() base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 -16, 16 16 16) = npc_modeltrain : "ModelTrain"
[
	spawnflags(Flags) = 
	[
		64 : "Start Inactive" : 0
		65536 : "Start Animating" : 0
		131072 : "Death on retrigger" : 0
		262144 : "Sprite Train" : 0
	]
	explode_sprite(string) : "Explode Sprite" : ""
	body_gibs(string) : "Body Gibs" : ""
	model(studio) : "Model"
	body(Integer) : "Body" : 0
	speed(integer) : "Model Speed" : 0
	yaw_speed(integer) : "Model rot. Speed" : 0
	running_sequence(string) : "Running Sequence" : ""
	framerate(string) : "Framerate (Sprite Only)" : "10.0"
    clip_model(string) : "Clip Brush Name" : ""
]

@PointClass Group("NPCs") studio() base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 -16, 16 16 16) = npc_pathtruck : "Path Truck"
[
	model(studio) : "Model"
	body(Integer) : "Body" : 0
	speed(integer) : "Model Speed" : 0
	yaw_speed(integer) : "Model rot. Speed" : 0
	running_sequence(string) : "Running Sequence" : ""
    clip_model(string) : "Clip Brush Name" : ""
]

@PointClass Group("NPCs") studio() base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 -16, 16 16 16) = npc_pathgeneric : "Path Generic"
[
	TriggerTarget(String) : "TriggerTarget" : ""
	TriggerCondition(Flags) =
	[
		1 : "See Player, Mad at Player" : 0
		2 : "Take Damage" : 0
		4 : "50% Health Remaining" : 0
		8 : "Death" : 0
//		16 : "Squad Member Die" : 0
//		32 : "Squad Leader Die" : 0
		64 : "Hear World" : 0
		128 : "Hear Player" : 0
		256 : "Hear Combat" : 0
		512: "See Player Unconditional" : 0
		1024: "See Player, Not In Combat" : 0
		2048: "Special Death" : 0
		4096: "Knocked Out" : 0
	]
	deathsequence(String) : "Death Sequence" : ""
	deathtarget(String) : "Death Target" : ""
	health(integer) : "Health" : 0
	deathbody(integer) : "Death Body" : 0
	sound(sound) : "Sound"
	trigger_brush(String) : "Trigger Brush" : ""
	trigger_idlesequence(String) : "Trigger Idle Sequence" : ""
	trigger_sequence(String) : "Trigger Sequence" : ""
	trigger_body(integer) : "Trigger Body" : 1
	yaw_speed(integer) : "Model rot. Speed" : 0
	running_sequence(string) : "Running Sequence" : ""
	speed(integer) : "Model Speed" : 0
	model(studio) : "Model"
]


@PointClass Group("NPCs") studio() base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 -16, 16 16 16) = npc_bird_flock : "Bird Flock"
[
	waitpatroltime(string) : "wait Patrol Time" : "0.0"
	maxpatrolpath(integer) : "Maximum Patrol Path" : 1024
	maxpatroldist(string) : "Maximum Patrol Distance" : "768.0"
	minpatroldist(string) : "Minimum Patrol Distance" : "128.0"
	model(studio) : "Model" : "models/seagull.mdl"
	flFlockRadius(Integer) : "Flock Radius" : 128
	iFlockSize(Integer) : "Flock Size" : 2
]

@PointClass Group("NPCs") studio() base(Targetname, Target, RenderFields, ModelFixedLight) size(-16 -16 -16, 16 16 16) = npc_pathvehicle : "Path Vehicle"
[
	model(studio) : "Model"
	body(Integer) : "Body" : 0
	speed(integer) : "Model Speed" : 0
	yaw_speed(integer) : "Model rot. Speed" : 0
	running_sequence(string) : "Running Sequence" : ""
    clip_model(string) : "Clip Brush Name" : ""
    clip_model_shut(string) : "Closed Clip Brush Name" : ""
    sound(sound) : "Sound" : ""
]

@PointClass Group("Effects") base(Targetname, RenderFields) sprite() = particle_emitter : "Particle Emitter"
[
	target_origin(target_source) : "Target Source" : "none"
	target_direction(target_destination): "Target Direction" : ""
	particle_speed(integer): "Particle Speed" : 100
	particle_noise(integer): "Random noise" : 40
	particle_count(integer): "Particles Per Bust" : 10
	rnd_count(integer) : "Randomness for Particle Count" : 0
	frequency(integer) : "Frequency" : 1
	particle_texture(sprite) : "Texture" : ""
	particle_gravity(integer) : "Gravity" : 10
	particle_type(choices) : "Particle Shape" : 0 =
	[
		0: "Sprite"
		1: "Plane"
		2: "Sphere"
		3: "Cylinder"
		4: "Disk"
		5: "Cone"
	]
	particle_scale(integer) : "Size" : 20
	scale_speed(integer) : "Scale Speed" : 0
	fade_speed(integer) : "Fade Speed" : 0
	particle_life(integer) : "Particle Life" : 20
	particle_avelocity(string) : "Angular Velocity" : "0 0 0"
	Spawnflags(Flags) = 
	[
		1 : "Collide Kill" : 0
		2 : "Collide World" : 0
		4 : "Collide All" : 0
		8: "Animate And Die" : 0
		16: "Random Frame" : 0
		32: "Start On" : 0
		64: "Sine Wave" : 0
	]
]

@PointClass Group("Nodes") shape(InvertedD4) node() base(Targetname) size(16 16 16) color(247 181 82) = path_corner : "Moving platform stop"
[
	target(target_destination) : "Next stop target"
	message(target_destination) : "Fire On Pass"
	wait(integer) : "Wait here (secs)" : 0
	speed(integer) : "New Train Speed" : 0
	yaw_speed(integer) : "New Train rot. Speed" : 0
	angles(string) : "X Y Z angles" 
	netname(string) : "Sequence To Play" : ""
	Spawnflags(Flags) =
	[
		1: "Wait for retrigger" : 0
		2: "Teleport" : 0
		4: "Fire once" : 0
        16: "Reverse" : 0
	]
]



@PointClass Group("Nodes") shape(InvertedD4) node() base(Targetname) size(16 16 16) = path_track : "Train Track Path"
[
	target(target_destination) : "Next stop target"
	message(target_destination) : "Fire On Pass"
	altpath(target_destination) : "Branch Path"
	netname(target_destination) : "Fire on dead end"
	speed(integer) : "New Train Speed" : 0
	Spawnflags(Flags) =
	[
		1: "Disabled" : 0
		2: "Fire once" : 0
		4: "Branch Reverse" : 0
		8: "Disable train" : 0
	]
]


@PointClass Group("World Items") studio() base(Targetname, Target, RenderFields, ModelFixedLight) = physics_lantern : "Hanging Latern Physics object"
[
	model(studio) : "Model"
]

//
// Player Events
//

@PointClass Group("Scripting") shape(D6) base(Targetname) size(-16 -16 -16, 16 16 16) = player_loadsaved : "Load Auto-Saved game" 
[
	duration(string) : "Fade Duration (seconds)" : "2"
	holdtime(string) : "Hold Fade (seconds)" : "0"
	renderamt(integer) : "Fade Alpha" : 255
	rendercolor(color255) : "Fade Color (R G B)" : "0 0 0"
	messagetime(string) : "Show Message delay" : "0"
	message(string) : "Message To Display" : ""
	loadtime(string) : "Reload delay" : "0"
]

@PointClass Group("Scripting") shape(D6) base(Targetname) size(-16 -16 -16, 16 16 16) = player_weaponstrip : "Strips player's weapons" []

@PointClass Group("Scripting") iconsprite("sprites/scripted_sentence.spz") base(Targetname, Targetx) size(-16 -16 0, 16 16 72) color(255 0 255) = scripted_sentence : "Scripted Sentence"
[
	sentence(string) : "Sentence Name" : ""
	entity(string) : "Speaker Type"
	duration(string) : "Sentence Time" : "3"
	radius(integer) : "Search Radius" : 512
	refire(string) : "Delay Before Refire" : "3"
	listener(string) : "Listener Type"
	volume(string) : "Volume 0-10" : "10"
	attenuation(Choices) : "Sound Radius" : 0 =
	[
		0 : "Small Radius"
		1 : "Medium Radius"
		2 : "Large  Radius"
		3 : "Play Everywhere"
	]
	Spawnflags(Flags) = 
	[
		1 : "Fire Once" 	: 1
		2 : "Followers Only"	: 0
		4 : "Interrupt Speech"	: 1
		8 : "Concurrent"	: 0
	]
]

@PointClass Group("Scripting") iconsprite("sprites/scripted_sequence.spz") base(Targetname, Targetx) size(-16 -16 0, 16 16 72) color(255 0 255) = scripted_sequence : "Scripted Sequence"
[
	m_iszEntity(string) : "Target Character"
	m_iszPlay(string) : "Action Animation" : ""
	m_iszIdle(string) : "Idle Animation" : ""
	m_flRadius(integer) : "Search Radius" : 512
	m_flRepeat(integer) : "Repeat Rate ms" : 0
	m_fMoveTo(choices) : "Move to Position" : 0 =
	[
		0 : "No"
		1 : "Walk"
		2 : "Run"
		4 : "Instantaneous"
		5 : "No - Turn to Face"
	]
	Spawnflags(Flags) = 
	[
		4 : "Repeatable"	: 0
		8 : "Leave Corpse"	: 0
		32: "No Interruptions"	: 0
		64: "Override AI"	: 0
		128: "No Script Movement" : 0
		256: "No Drop" : 0
	]
]

@PointClass Group("Sound") iconsprite("sprites/speaker.spz") base(Targetname) size(-8 -8 -8, 8 8 8) = speaker : "Announcement Speaker"
[
	preset(choices) :"Announcement Presets" : 0 =
	[
		0: "None"
		1: "C1A0 Announcer"
		2: "C1A1 Announcer"
		3: "C1A2 Announcer"
		4: "C1A3 Announcer"
		5: "C1A4 Announcer"  
		6: "C2A1 Announcer"
		7: "C2A2 Announcer"
		// 8: "C2A3 Announcer"
		9: "C2A4 Announcer"
		// 10: "C2A5 Announcer"
		11: "C3A1 Announcer"
		12: "C3A2 Announcer"
	]
	message(string) : "Sentence Group Name"
	health(integer) : "Volume (10 = loudest)" : 5
	Spawnflags(flags) =
	[
		1: "Start Silent" : 0
	]
]

@PointClass Group("Sound") shape(D6) base(Targetname) = target_cdaudio : "CD Audio Target"
[
	health(choices) : "Track #" : -1 =
	[
		-1 : "Stop"
		1 : "Track 1"
		2 : "Track 2"
		3 : "Track 3"
		4 : "Track 4"
		5 : "Track 5"
		6 : "Track 6"
		7 : "Track 7"
		8 : "Track 8"
		9 : "Track 9"
		10 : "Track 10"
		11 : "Track 11"
		12 : "Track 12"
		13 : "Track 13"
		14 : "Track 14"
		15 : "Track 15"
		16 : "Track 16"
		17 : "Track 17"
		18 : "Track 18"
		19 : "Track 19"
		20 : "Track 20"
		21 : "Track 21"
		22 : "Track 22"
		23 : "Track 23"
		24 : "Track 24"
		25 : "Track 25"
		26 : "Track 26"
		27 : "Track 27"
		28 : "Track 28"
		29 : "Track 29"
		30 : "Track 30"
	]
	radius(string) : "Player Radius"
]

//
// Triggers
//

@PointClass Group("Scripting") shape(D6) base(Targetname, Targetx) = trigger_acfiremissile : "Attack Copter Fire Missile"
[
	message(string) : "Missile Trigger" : ""
]

@PointClass Group("Scripting") shape(D6) base(Targetx) = trigger_auto : "AutoTrigger"
[
	globalstate(string) : "Global State to Read"
	triggerstate(choices) : "Trigger State" : 0 = 
	[
		0 : "Off"
		1 : "On"
		2 : "Toggle"
	]
	Spawnflags(Flags) =
	[
		1 : "Remove On fire" : 1
	]
]

@SolidClass Group("Triggers") base(Targetname) = trigger_autosave : "AutoSave Trigger"
[
	master(string) : "Master" 
]

@PointClass Group("Triggers") shape(D6) base(Targetname, Targetx) = trigger_bit : "Trigger Bit"
[
	triggerstate(choices) : "Trigger State" : 0 = 
	[
		0: "Off"
		1: "On"
		2: "Toggle"
	]
	skin(flags) = 
	[
	   1:          "Bit 1" : 0
	   2:          "Bit 2" : 0
	   4:          "Bit 3" : 0
	   8:          "Bit 4" : 0
	   16:         "Bit 5" : 0
	   32:         "Bit 6" : 0
	   64:         "Bit 7" : 0
	   128:        "Bit 8" : 0
	   256:        "Bit 9" : 0
	   512:        "Bit 10" : 0
	   1024:       "Bit 11" : 0
	   2048:       "Bit 11" : 0
	   4096:       "Bit 12" : 0
	   8192:       "Bit 13" : 0
	   16384:      "Bit 14" : 0
	   32768:      "Bit 15" : 0
	   65536:      "Bit 16" : 0
	   131072:     "Bit 17" : 0
	   262144:     "Bit 18" : 0
	   524288:     "Bit 19" : 0
	   1048576:    "Bit 20" : 0
	   2097152:    "Bit 21" : 0
	   4194304:    "Bit 22" : 0
	   8388608:    "Bit 23" : 0
	   16777216:   "Bit 24" : 0
	   33554432:   "Bit 25" : 0
	   67108864:   "Bit 26" : 0
	   134217728:  "Bit 27" : 0
	   268435456:  "Bit 28" : 0
	   536870912:  "Bit 29" : 0
	   1073741824: "Bit 30" : 0
	   2147483648: "Bit 31" : 0
	]
]

@PointClass Group("Triggers") shape(D6) base(Targetname, Target) = trigger_bit_counter : "Trigger Bit Counter"
[
	globalstate(string) : "Global State to Set"
	initialstate(flags) =
	[
	   1:          "Bit 1" : 0
	   2:          "Bit 2" : 0
	   4:          "Bit 3" : 0
	   8:          "Bit 4" : 0
	   16:         "Bit 5" : 0
	   32:         "Bit 6" : 0
	   64:         "Bit 7" : 0
	   128:        "Bit 8" : 0
	   256:        "Bit 9" : 0
	   512:        "Bit 10" : 0
	   1024:       "Bit 11" : 0
	   2048:       "Bit 11" : 0
	   4096:       "Bit 12" : 0
	   8192:       "Bit 13" : 0
	   16384:      "Bit 14" : 0
	   32768:      "Bit 15" : 0
	   65536:      "Bit 16" : 0
	   131072:     "Bit 17" : 0
	   262144:     "Bit 18" : 0
	   524288:     "Bit 19" : 0
	   1048576:    "Bit 20" : 0
	   2097152:    "Bit 21" : 0
	   4194304:    "Bit 22" : 0
	   8388608:    "Bit 23" : 0
	   16777216:   "Bit 24" : 0
	   33554432:   "Bit 25" : 0
	   67108864:   "Bit 26" : 0
	   134217728:  "Bit 27" : 0
	   268435456:  "Bit 28" : 0
	   536870912:  "Bit 29" : 0
	   1073741824: "Bit 30" : 0
	   2147483648: "Bit 31" : 0
	]
	triggermask(flags) = 
	[
	   1:          "Bit 1" : 0
	   2:          "Bit 2" : 0
	   4:          "Bit 3" : 0
	   8:          "Bit 4" : 0
	   16:         "Bit 5" : 0
	   32:         "Bit 6" : 0
	   64:         "Bit 7" : 0
	   128:        "Bit 8" : 0
	   256:        "Bit 9" : 0
	   512:        "Bit 10" : 0
	   1024:       "Bit 11" : 0
	   2048:       "Bit 11" : 0
	   4096:       "Bit 12" : 0
	   8192:       "Bit 13" : 0
	   16384:      "Bit 14" : 0
	   32768:      "Bit 15" : 0
	   65536:      "Bit 16" : 0
	   131072:     "Bit 17" : 0
	   262144:     "Bit 18" : 0
	   524288:     "Bit 19" : 0
	   1048576:    "Bit 20" : 0
	   2097152:    "Bit 21" : 0
	   4194304:    "Bit 22" : 0
	   8388608:    "Bit 23" : 0
	   16777216:   "Bit 24" : 0
	   33554432:   "Bit 25" : 0
	   67108864:   "Bit 26" : 0
	   134217728:  "Bit 27" : 0
	   268435456:  "Bit 28" : 0
	   536870912:  "Bit 29" : 0
	   1073741824: "Bit 30" : 0
	   2147483648: "Bit 31" : 0
	]
]

@PointClass Group("Scripting") shape(D6) base(Targetname) = trigger_bondmoment : "Trigger Bond Moment"
[
    score_sound(sound) : "Sound" : "common/mission_success.wav"
    message(string) : "Message" : ""
]

@PointClass Group("Scripting") shape(D6) base(Targetname) = trigger_bondsecret : "Trigger Bond Secret"
[
    score_sound(sound) : "Sound" : "common/mission_success.wav"
    message(string) : "Message" : ""
]

@PointClass Group("Scripting") shape(D6) base(Targetx, Targetname) = trigger_camera : "Trigger Camera" 
[
	wait(integer) : "Hold time" : 10
	moveto(string) : "Path Corner"
	speed(string) : "Initial Speed" : "0"
	acceleration(string) : "Acceleration units/sec^2" : "500"
	deceleration(string) : "Stop Deceleration units/sec^2" : "500"
    	heightoffset(string) : "Height Offset" : "0"
    	Spawnflags(flags) =
	[
		1: "Start At Player" : 1
		2: "Follow Player" : 1
		4: "Freeze Player" : 0
	]
]

@SolidClass Group("Sound") base(Targetname) = trigger_cdaudio : "Trigger CD Audio"
[
	health(choices) : "Track #" : -1 =
	[
		-1 : "Stop"
		1 : "Track 1"
		2 : "Track 2"
		3 : "Track 3"
		4 : "Track 4"
		5 : "Track 5"
		6 : "Track 6"
		7 : "Track 7"
		8 : "Track 8"
		9 : "Track 9"
		10 : "Track 10"
		11 : "Track 11"
		12 : "Track 12"
		13 : "Track 13"
		14 : "Track 14"
		15 : "Track 15"
		16 : "Track 16"
		17 : "Track 17"
		18 : "Track 18"
		19 : "Track 19"
		20 : "Track 20"
		21 : "Track 21"
		22 : "Track 22"
		23 : "Track 23"
		24 : "Track 24"
		25 : "Track 25"
		26 : "Track 26"
		27 : "Track 27"
		28 : "Track 28"
		29 : "Track 29"
		30 : "Track 30"
	]
]

@PointClass Group("Triggers") base(Targetname, Target) shape(D6) = trigger_changecharacter : "Trigger ChangeCharacter" 
[
	TriggerTarget(String) : "TriggerTarget" : ""
	TriggerCondition(Flags) =
	[
		1 : "See Player, Mad at Player" : 0
		2 : "Take Damage" : 0
		4 : "50% Health Remaining" : 0
		8 : "Death" : 0
//		16 : "Squad Member Die" : 0
//		32 : "Squad Leader Die" : 0
		64 : "Hear World" : 0
		128 : "Hear Player" : 0
		256 : "Hear Combat" : 0
		512: "See Player Unconditional" : 0
		1024: "See Player, Not In Combat" : 0
		2048: "Special Death" : 0
		4096: "Knocked Out" : 0
	]
	deathtarget(String) : "Death Target" : ""
	minpatroldist (String) : "Min Patrol Dist" : "128.0"
	maxpatroldist (String) : "Max Patrol Dist" : "768.0"
	maxpatrolpath (String) : "Max Path Dist" : "2048.0"
	waitpatroltime (String) : "Patrol Wait Time" : "0.0"
	Spawnflags(Flags) = 
	[
		1 : "WaitTillSeen" 	: 0
		2 : "Gag"		: 0
		4 : "CharacterClip"	: 0
        8 : "Head Turn"     : 0
		16: "Prisoner"		: 0
		64: "Player Ally"	: 0
		128: "WaitForScript" 	: 0
		256: "Pre-Disaster" 	: 0
		512: "Fade Corpse"	: 0
		8192: "Ignore Player"	: 0
		16384: "Break Script"	: 0
		32768: "No Cover"	: 0
		65536: "Patrol"		: 0
        262144: "Death Cam" : 0
        524288: "Initial Event" : 0
        1048576: "Don't Move" : 0
        2097152: "Is Guard" : 0
        4194304: "Is Deaf" : 0
	]
    message (String) : "Hostage Group" : ""
    deathcam (String) : "Death Camera" : ""
	excludeaievents(Flags) = 
	[
		1: "Killed" : 0
		2: "Move" : 0
		4: "Use Continuous" : 0
		8: "Use Toggle" : 0
		16: "New Enemy" : 0
		32: "Node See Enemy" : 0
	]
	cameratarget (String) : "Camera Target" : ""
	sight_dist(integer) : "Sight Distance" : 2048
]

@SolidClass Group("Triggers") = trigger_changelevelicon : "Trigger: Change level icon"
[
]

@SolidClass Group("Triggers") = trigger_changelevel : "Trigger: Change level"
[
	targetname(string) : "Name"
	map(string) : "New map name"
	landmark(string) : "Landmark name\Player Start name"
	changetarget(target_destination) : "Change Target"
	changedelay(string) : "Delay before change target" : "0"
	Spawnflags(flags) =
	[
		1: "No Intermission" : 0
		2: "USE Only" : 0
		4: "Seamless" : 0
		8: "New Level Unit" : 0
	]
]

@PointClass Group("Scripting") shape(D6) base(Targetx, Targetname) = trigger_changetarget : "Trigger Change Target"
[
	m_iszNewTarget(string) : "New Target"
]

@PointClass Group("Scripting") shape(D6) base(Targetx, Targetname) = trigger_changesequence : "Trigger Change Sequence"
[
	m_iszNewSequence(string) : "New Sequence"
]

@SolidClass Group("Triggers") base(Trigger, Targetname) = trigger_counter : "Trigger counter" 
[
	master(string) : "Master" 
	count(integer) : "Count before activation" : 2
	Spawnflags(flags) = 
	[ 
		1 : "No Message" : 0 
	]
]

@PointClass Group("Triggers") shape(D6) base(Targetname, Target) = trigger_endcinematic : "Trigger End Cinematic" []

@PointClass Group("Triggers") shape(D6) base(Targetname) = trigger_endgame : "Trigger End Game" []

@SolidClass Group("Triggers") base(Targetname) = trigger_endsection : "EndSection Trigger"
[
	section(string) : "Section"
	Spawnflags(flags) =
	[
		1: "USE Only" : 0
	]
]

@SolidClass Group("Triggers") base(Trigger) = trigger_gravity : "Trigger Gravity"
[
	gravity(integer) : "Gravity (0-1)" : 1
	Spawnflags(flags) = 
	[
		16: "Set sv_gravity" : 0
	]
]

@SolidClass Group("Triggers") base(Targetname,Target) = trigger_hurt : "Trigger player hurt" 
[
	master(string) : "Master" 
	dmg(integer) : "Damage" : 10
	delay(string) : "Delay before trigger" : "0"
	damagetype(choices) : "Damage Type" : 0 =
	[
		0 : "GENERIC"
		1 : "CRUSH"
		2 : "BULLET"
		4 : "SLASH"
		8 : "BURN"
		16 : "FREEZE"
		32 : "FALL"
		64 : "BLAST"
		128 : "CLUB"
		256 : "SHOCK"
		512 : "SONIC"
		1024 : "ENERGYBEAM"
		16384: "DROWN"
		32768 : "PARALYSE"
		65536 : "NERVEGAS"
		131072 : "POISON"
		262144 : "RADIATION"
		524288 : "DROWNRECOVER"
		1048576 : "CHEMICAL"
		2097152 : "SLOWBURN"
		4194304 : "SLOWFREEZE"
	]
	Spawnflags(flags) = 
	[ 
		1: "Target Once" : 0 
		2: "Start Off" : 0
		8: "No clients" : 0
		16:"FireClientOnly" : 0
		32:"TouchClientOnly" : 0
	]
]


@SolidClass Group("Triggers") base(Trigger) = trigger_multiple : "Trigger: Activate multiple" 
[
	wait(integer) : "Delay before reset" : 10
]

@SolidClass Group("Triggers") base(Trigger, Targetname) = trigger_music : "Trigger: Music" 
[
	musictype(string) : "Music Type" : "ambient"
	volume(integer) : "Volume" : 100
]


@SolidClass Group("Triggers") base(Targetname,Target) = trigger_new_hurt : "Trigger player hurt (New)" 
[
	master(string) : "Master" 
	dmg(integer) : "Damage" : 10
	delay(string) : "Delay before trigger" : "0"
	damagetype(choices) : "Damage Type" : 0 =
	[
		0 : "GENERIC"
		1 : "CRUSH"
		2 : "BULLET"
		4 : "SLASH"
		8 : "BURN"
		16 : "FREEZE"
		32 : "FALL"
		64 : "BLAST"
		128 : "CLUB"
		256 : "SHOCK"
		512 : "SONIC"
		1024 : "ENERGYBEAM"
		16384: "DROWN"
		32768 : "PARALYSE"
		65536 : "NERVEGAS"
		131072 : "POISON"
		262144 : "RADIATION"
		524288 : "DROWNRECOVER"
		1048576 : "CHEMICAL"
		2097152 : "SLOWBURN"
		4194304 : "SLOWFREEZE"
	]
	Spawnflags(flags) = 
	[ 
		1: "Target Once" : 0 
		2: "Start Off" : 0
		8: "No clients" : 0
		16:"FireClientOnly" : 0
		32:"TouchClientOnly" : 0
	]
]


@PointClass Group("Triggers") base(Targetname) shape(D4) color (255 0 128) = trigger_objective : "Trigger: Objective"
[
	idkey(integer) : "Objective ID" : 0
	message(string) : "Objective Text (Slider Bar)" : ""
	netname(string) : "Hidden Objective Text (Mission Screen)" : ""
	completed(integer) : "Completed" : 0
	duration(integer) : "Duration" : 5
	Spawnflags(flags) =
	[
		1: "Auto Show" : 1
		2: "No Objective Screen" : 0
	]
]


@SolidClass Group("Triggers") base(Trigger) = trigger_once : "Trigger: Activate once" []


@PointClass Group("Triggers") base(Targetname) shape(D4) color (255 100 240) = trigger_hudmessage : "Trigger: Hud Message"
[
	message(string) : "Objective Text " : ""
	duration(integer) : "Duration" : 5
	Spawnflags(flags) =
	[
		1: "Show Immediate" : 1
		2: "No Hint List" : 0
	]
	skilllevel(Choices) : "Skill Level" : 0 =
	[
		0 : "None"
		1 : "Easy"
		2 : "Medium"
		3 : "Hard"
	]
]


@PointClass Group("Scripting") shape(D6) base(Targetx, Targetname) = trigger_pathcamera : "Trigger Path Camera" 
[
    	wait(integer) : "Hold time" : 10
    	moveto(string) : "Path Corner"
	speed(string) : "Initial Speed" : "0"
	acceleration(string) : "Acceleration units/sec^2" : "500"
	deceleration(string) : "Stop Deceleration units/sec^2" : "500"
	Spawnflags(flags) =
	[
		1: "Start At Player" : 1
		2: "Follow Player" : 1
		4: "Freeze Player" : 0
		8: "Fixed Position" : 0
	]
]

@PointClass Group("Triggers") shape(D6) base(Targetname) = trigger_playerfreeze : "Trigger Player Freeze" []

@PointClass Group("Triggers") shape(D6) base(Targetname) color (128 255 255) = trigger_playmovie : "Trigger Play Movie"
[
	message(string) : "Movie File"
]
	
@SolidClass Group("Triggers") base(Trigger) = trigger_push : "Trigger player push"
[
	speed(integer) : "Speed of push" : 40
	Spawnflags(flags) = 
	[ 
		1: "Once Only" : 0 
		2: "Start Off" : 0
	]
]


@PointClass Group("Triggers") shape(D10) base(Targetname, Targetx) = trigger_random : "Trigger Random"
[
	spawnflags(flags) =
	[
		1: "Remove On fire" : 0
		2: "Unique" : 0
		4: "Sequential" : 0
	]
	triggerstate(choices) : "Trigger State" : 0 = 
	[
		0: "Off"
		1: "On"
		2: "Toggle"
	]
	randomrange(integer) : "Random Range" : 1
    probability(string) : "Probability" : "0.0"
    usetarget(string) : "Use Target" : ""
]

@PointClass Group("Scripting") shape(D6) size(-8 -8 -8, 8 8 8) color(128 0 128) base(Targetname, Targetx) = trigger_relay : "Trigger Relay"
[
	triggerstate(choices) : "Trigger State" : 0 = 
	[
		0: "Off"
		1: "On"
		2: "Toggle"
	]
	Spawnflags(flags) =
	[
		1: "Remove On fire" : 0
	]
]

@PointClass Group("Triggers") shape(D6) base(Targetname) = trigger_sneak : "Trigger Sneak Mode" []

@SolidClass Group("Triggers") base(Trigger) = trigger_teleport : "Trigger teleport" []

@PointClass Group("Triggers") shape(D6) base(Targetname) = trigger_to_first : "Trigger To FirstPerson" []

@PointClass Group("Triggers") base(Trigger) = trigger_togglehud : "Toggle Hud" []

@SolidClass Group("Triggers") base(Targetname) = trigger_transition : "Trigger: Select Transition Area" []

//
// Weapons and Gadgets
//

@PointClass Group("Enemies") shape(D8) base(Target, Targetname) size( -16 -16 -16, 16 16 16) = virtual_enemy_snowguard : "Virtual Snow Guard" []


@PointClass Group("NPCs") shape(D8) base(Target, Targetname) size( -16 -16 -16, 16 16 16) = virtual_npc_zoe : "Virtual Zoe" []


@PointClass Group("Weapons") studio("models/w_tripmine.mdl") base(Weapon, Targetx) = weapon_bondmine : "Bond Mine" []
@PointClass Group("Weapons") studio("models/w_commando.mdl") base(Weapon, Targetx) = weapon_commando : "Commando" []
@PointClass Group("Weapons") studio("models/w_frinesi.mdl") base(Weapon, Targetx) = weapon_frinesi : "Frinesi Shotgun" []
@PointClass Group("Weapons") studio("models/w_flash_grenade.mdl") base(Weapon, Targetx) = weapon_flashgrenade : "Flash Grenade" []
@PointClass Group("Weapons") studio("models/w_frag_grenade.mdl") base(Weapon, Targetx) = weapon_fraggrenade : "Frag Grenade" []
@PointClass Group("Weapons") studio("models/w_grapple.mdl") base(Weapon, Targetx) = weapon_grapple : "Grapple" []
@PointClass Group("Weapons") studio("models/w_grenadelauncher.mdl") base(Weapon, Targetx) = weapon_grenadelauncher : "Grenade Launcher" []
@PointClass Group("Weapons") studio("models/w_kowloon.mdl") base(Weapon, Targetx) = weapon_kowloon : "Kowloon Pistol" []
@PointClass Group("Weapons") studio("models/w_l96_sniper.mdl") base(Weapon, Targetx) = weapon_l96a1 : "l96a1 Sniper" []
@PointClass Group("Weapons") studio("models/w_l96_sniper_winter.mdl") base(Weapon, Targetx) = weapon_l96a1_winter : "l96a1 Sniper Winter" []
@PointClass Group("Weapons") studio("models/w_lighter.mdl") base(Weapon, Targetx) = weapon_lighter : "Lighter Camera" []
@PointClass Group("Weapons") studio("models/w_mini.mdl") base(Weapon, Targetx) = weapon_minigun : "Minigun" []
@PointClass Group("Weapons") studio("models/w_mp9.mdl") base(Weapon, Targetx) = weapon_mp9 : "MP9 Sub Machinegun" []
@PointClass Group("Weapons") studio("models/w_mp9_silenced.mdl") base(Weapon, Targetx) = weapon_mp9_silenced : "MP9 Silenced" []
@PointClass Group("Weapons") studio("models/w_9mmhandgun.mdl") base(Weapon, Targetx) = weapon_pp9 : "PP9 Pistol" []
@PointClass Group("Weapons") studio("models/w_pda.mdl") base(Weapon, Targetx) = weapon_pda : "PDA" []
@PointClass Group("Weapons") studio("models/w_pdw90.mdl") base(Weapon, Targetx) = weapon_pdw90 : "PDW90" []
@PointClass Group("Weapons") studio("models/w_pen.mdl") base(Weapon, Targetx) = weapon_pen : "Dart Pen" []
@PointClass Group("Weapons") studio("models/w_rocketlauncher.mdl") base(Weapon, Targetx) = weapon_rocketlauncher : "Rocket Launcher" []
@PointClass Group("Weapons") studio("models/w_qworm.mdl") base(Weapon, Targetx) = weapon_qworm : "QWorm" []
@PointClass Group("Weapons") studio("models/w_raptor.mdl") base(Weapon, Targetx) = weapon_raptor : "Raptor Pistol" []
@PointClass Group("Weapons") studio("models/w_ronin.mdl") base(Weapon, Targetx) = weapon_ronin : "Ronin" []
@PointClass Group("Weapons") studio("models/w_smoke_grenade.mdl") base(Weapon, Targetx) = weapon_smokegrenade : "Smoke Grenade" []
@PointClass Group("Weapons") studio("models/w_taser.mdl") base(Weapon, Targetx) = weapon_taser : "Taser" []
@PointClass Group("Weapons") studio("models/w_up11.mdl") base(Weapon, Targetx) = weapon_up11 : "UP11" []
@PointClass Group("Weapons") studio("models/w_watch.mdl") base(Weapon, Targetx) = weapon_watch : "Watch" []
@PointClass studio("models/w_weaponbox.mdl") base(Weapon, Targetx) = weaponbag : "Weapon Bag" []



//////////////////////////////////////////////////////////////////////////////
// Bond CTF Entities							    //
//////////////////////////////////////////////////////////////////////////////

//
// BaseClasses
//

@SolidClass Group("CTF") shape(D6) base(Target, Targetname) = trigger_ctfgeneric : "Trigger CTF Generic"
[
	team_no(Choices) : "Team" : 0 =
	[
		0 : "Both Teams"
		1 : "MI6 Only"
		2 : "Phoenix Only"
	]
	trigger_delay(string) : "Re-activate delay" : "5"
	score(string) : "Player Score" : "0"
	team_score(string) : "Team Score" : "0"
	triggerstate(choices) : "Trigger State" : 0 = 
	[
		0: "Off"
		1: "On"
		2: "Toggle"
	]
]

@PointClass Group("CTF") shape(D6) base(Target, Targetname) size(-16 -16 -16, 16 16 16) = ctf_hudicon : "Custom Hud Icon"
[
    icon_name(string) : "Icon Name" : ""
    icon_index(integer) : "Icon Index" : 0
    rendercolor(color255) : "Icon Color (R G B)" : "255 255 255"
    icon_left(integer) : "Icon Left" : 0
    icon_top(integer) : "Icon Top" : 0
    icon_width(integer) : "Icon Width" : 32
    icon_height(integer) : "Icon Height" : 32
]

@PointClass base(Weapon, Targetx) = world_items : "World Items" 
[
	type(choices) :"types" : 42 =
	[
		42: "Antidote"
		43: "Security Card"
		44: "Battery"
		45: "Suit"
	]
]
Personal tools