
/***********************************************************************

 func

***********************************************************************/

//Ritual Begin
entityDef func_jumppad_q4x_silent {
	"inherit"			"func_jumppad"
	"snd_jump"			""

	"fx_jump"			""
	"editor_var target"		"Target entity which which will be the apex of the jump."
	"editor_bool start_on"		"By default the jumppad is on. If 'start_on' is set to '0' the jump pad starts off."
}
//Ritual End

entityDef func_group {
	"editor_color"				"0 0 0"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Used to group brushes together just for editor convenience.  They are turned into normal brushes by the utilities."
}

entityDef func_mover {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Movers are objects meant to be controlled through scripts."
	"editor_snd snd_accel"		"sound to play when acceleration starts.  Played on SND_CHANNEL_BODY & SND_CHANNEL_BODY2."
	"editor_snd snd_move"		"sound to play when movement starts.  Played on SND_CHANNEL_BODY & SND_CHANNEL_BODY2."
	"editor_snd snd_decel"		"sound to play when deceleration starts.  Played on SND_CHANNEL_BODY & SND_CHANNEL_BODY2."
// RAVEN BEGIN
// rhummer: new sound key for movers, which plays a sound when it has stopped moving.
	"editor_snd snd_stopped"	"sound to play when the mover has stopped. Played on SND_CHANNEL_BODY & SOUND_CHANNEL_BODY2."
	"editor_snd snd_idle"		"sound to play all the time on this object."
// RAVEN END

	"editor_var accel_time"		"how long it takes the mover to accelerate to full speed."
	"editor_var decel_time"		"how long it takes the mover to deccelerate to a stop."
	"editor_var move_time"		"how long it takes the mover to complete a move.  cannot be used with 'move_speed'."
	"editor_var move_speed"		"how many units the mover travels per second.  cannot be used with 'move_time'."
	"editor_var solidForTeam"	"whether mover is solid to objects bound to it, or objects it is bound to."
	"editor_var damage"			"how much damage to cause entities that block mover."
	"editor_var solid"			"whether the mover is solid to other entities."
	"editor_var nopush"			"set to 1 to disable pushing objects that block the mover."
	"editor_var guiTarget"		"GUI's associated with mover."
	"editor_var health"			"when non-zero, how much damage to take before triggering targets."

// RAVEN BEGIN
// mekberg: added
	"editor_var attenuate"		"Allow the sound on this object to be attenuated based on speed."
	"editor_var attenuationScale"	"Scale for attenuation. Set this to be roughly the average speed of the mover. Tweak as necessary."
	"editor_var	maxAttenuation"	"Maximum attenuation allowed."
// RAVEN END

	"spawnclass"				"idMover"
}

entityDef func_cameraTarget {
	"inherit"					"func_mover"
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"
	"editor_usage"				"used to control camera view motion and camera view position motion."
	"spawnclass"				"idMover"
}

entityDef func_splinemover {
	"editor_color"				".7 .0 .9"
// RAVEN BEGIN
// abahr: these are never seen so making them a constant size
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"
// RAVEN END

	"editor_usage"				"Entity which stores a spline path."
	"editor_float time"			"For movers targeted at this, time the mover takes to complete travel this spline"
	
// RAVEN BEGIN
// abahr: added nodraw so these don't get drawn in the game
	"shader"					"textures/common/nodraw"
// RAVEN END

	"spawnclass"				"idSplinePath"
	
	"time"						"0"
}

entityDef func_camera_anim {
	"editor_color"					"0 .5 .8"
	"editor_mins"					"-16 -16 0"
	"editor_maxs"					"16 16 32"

	"editor_usage"					"Camera controlled by animation."
	"editor_var joint"				"joint to attach camera."
	"editor_model model"			"model to use."
	"editor_float fov"				"FOV of view through camera."
	"editor_bool ignore_enemies"	"If not set, when camera is activated, any active monsters that have an enemy but are not marked with 'cinematic' will be removed."
	"editor_var cycle"				"Number of times to play the animation before activating targets.  Use -1 for infinite."

	"spawnclass"					"idCameraAnim"

	"fov"							"90"
}

entityDef func_mover_amodel {
	"inherit"					"func_mover"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Mover with a model.  Movers are objects meant to be controlled through scripts."
}

entityDef func_rotating {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Generic rotating entity.  It will rotate around the Z axis by default.  Targeting entity will cause it to start or stop rotating."

	"editor_bool start_on"		"set to 1 to rotate when spawned."
	"editor_bool x_axis"		"set to 1 to rotate around x-axis."
	"editor_bool y_axis"		"set to 1 to rotate around y-axis."
	"editor_var speed"			"determines how fast it moves."
	"editor_var dmg"			"damage to inflict when blocked."

// RAVEN BEGIN
// rhummer: new sound key for movers, which plays a sound when it has stopped moving.
	"editor_snd snd_stopped"	"sound to play when elevator has stopped moving."
// RAVEN END

	"spawnclass"				"idRotater"
	"x_axis"					"0"
	"y_axis"					"0"
	"speed"						"100"
	"dmg"						"2"
	"start_on"					"1"
}

entityDef func_bobbing {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Generic bobbing entity.  It will bob on the Z axis by default."
	"editor_bool x_axis"		"set to 1 to rotate around x-axis."
	"editor_bool y_axis"		"set to 1 to rotate around y-axis."
	"editor_var height"			"amplitude of bob."
	"editor_var speed"			"seconds to complete a bob cycle."
	"editor_var phase"			"the 0.0 to 1.0 offset in the cycle to start at."
	"editor_var dmg"			"damage to inflict when blocked."
	"editor_snd snd_open"		"sound to play when opening."
	"editor_snd snd_close"		"sound to play when closing."
	"editor_snd snd_opened"		"looping sound for it's opened state."

	"spawnclass"				"idBobber"

	"x_axis"					"0"
	"y_axis"					"0"
	"height"					"32"
	"speed"						"4"
	"phase"						"0"
	"dmg"						"2"
}

entityDef func_pendulum {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Pendulums always swing north / south on unrotated models.  Add an angles field to the model to allow rotation in other directions."
	"editor_usage1"				"Pendulum frequency is a physical constant based on the length of the beam and gravity."
	"editor_var freq"			"If set, overrides frequency basic on beam length and forces a specific frequency."
	"editor_var speed"			"the number of degrees each way the pendulum swings."
	"editor_var phase"			"the 0.0 to 1.0 offset in the cycle to start at."
	"editor_var dmg"			"damage to inflict when blocked."
	"editor_snd snd_open"		"sound to play when opening."
	"editor_snd snd_close"		"sound to play when closing."
	"editor_snd snd_opened"		"looping sound for it's opened state."

	"spawnclass"				"idPendulum"

	"speed"						"30"
	"phase"						"0"
	"dmg"						"2"
}

entityDef func_plat {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"
	"editor_mover"				"1"

	"editor_usage"				"Standard Quake-style platform."
	"editor_bool no_touch"		"the plat should not be triggered by the player touching it, only by another trigger."
	"editor_var lip"			"protrusion above rest position."
	"editor_var height"			"total height of movement, defaults to model height."
	"editor_var speed"			"speed to move up and down at."
	"editor_var dmg"			"damage to inflict when blocked."
	"editor_snd snd_open"		"sound to play when opening."
	"editor_snd snd_close"		"sound to play when closing."
	"editor_snd snd_opened"		"looping sound for it's opened state."

	"spawnclass"				"idPlat"

	"no_touch"					"0"
	"lip"						"8"
	"speed"						"200"
	"dmg"						"2"
}

entityDef func_activator {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"

	"editor_usage"				"Non-displayed entity used to activate triggers when it touches them.  Bind to a mover to"
	"editor_usage1"				"have the mover activate a triggers as it moves.  When target by triggers, activating the"
	"editor_usage2"				"trigger will toggle the activator on and off.  Activator will disable itself when it activates a trigger."
	"editor_bool start_off"		"set to 1 to have it spawn disabled.  Activator will disable itself when it activates a trigger."
	"editor_bool stay_on"		"to prevent activator from disabling itself."

	"spawnclass"				"idActivator"

	"start_off"					"0"
	"stay_on"					"0"
}

entityDef func_door {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"
	"editor_mover"				"1"

	"editor_usage"				"Door."
	"editor_bool start_open"		"the door moves to its destination when spawned, and operate in reverse.  It is used to temporarily or permanently close off an area when triggered (not useful for touch or takedamage doors)."
								
 	"editor_bool no_touch"		"the door should not be triggered by the player touching it, only by another trigger. in multiplayer, this door can't be shot to open."
	"editor_bool locked"		"used in conjunction with no_touch,the door must be triggered by a trigger, after which it works normally.  if locked = 1 then the door opens when unlocked, if locked = 2 then the door just becomes unlocked."
	"editor_var buddy"			"will toggle shaderparm 7 of the entity given as a buddy, this allows shaders to be remapped for lock status etc."
	"editor_bool crusher"		"the door does not reverse when blocked."
	"editor_var angle"			"determines the opening direction."
	"editor_var movedir"		"determines the opening direction.  if set, 'angle' determines orientation."
	"editor_var speed"			"movement speed."
	"editor_var time"			"movement time in seconds.  overrides speed.  used for doors that move different distances, but still need to be synced."
	"editor_bool wait"			"wait before returning (-1 = never return)."
	"editor_bool toggle"		"wait at each position until triggered again."
	"editor_var lip"			"lip remaining at end of move."
	"editor_var dmg"			"damage to inflict when blocked."
	"editor_var health"			"if set, the door must be shot open."
	"editor_var triggersize"	"sets the amount the trigger extends from the door."
	"editor_bool gui_noninteractive" "any gui attached will not be interactive"
	"editor_snd snd_locked"		"sound to play if door is locked and player approaches."
	"editor_snd snd_open"		"sound to play when opening."
	"editor_snd snd_close"		"sound to play when closing."
	"editor_snd snd_opened"		"looping sound for it's opened state."
	"editor_var triggerClosed"	"name of entity to trigger when door closes, can be iterated with triggerClosed2, 3 etc."
	"editor_var triggerOpened"	"name of entity to trigger when door opens, can be iterated with triggerOpened2, 3 etc."
	"editor_var triggerBlocked"	"name of entity to trigger when door is blocked, can be iterated with triggerBlocked2, 3 etc."
// RAVEN BEGIN
// jdischler: adding door features for aweldon
	"editor_var triggerOnOpen"	"entity to trigger when the door trigger is first touched.  When using openWait, " \
								"this can happen before the door actually opens, which is intentional and what is needed."
	"editor_var openWait"		"time to wait, in seconds after being triggered, before actually opening."
// RAVEN END

	"spawnclass"				"idDoor"

	"start_open"				"0"
	"no_touch"					"0"
	"crusher"					"0"
	"angle"						"0"
	"speed"						"100"
	"wait"						"3"
	"lip"						"8"
	"dmg"						"2"
	"health"					"0"
	"triggersize"				"60"
// RAVEN BEGIN
// zquarles: changed default door sounds
  	"snd_closed"				"door_default_closed"
  	"snd_close"					"door_default_close"
  	"snd_open"					"door_default_open"
   	"snd_opened"				"door_default_opened"
  	"snd_locked"				"door_default_locked"
// RAVEN END
 	"snd_unlocked"				"network_blastdoor_unlock"
}

entityDef func_static {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"A brush model that just sits there, doing nothing.  Can be used for conditional walls and models."
	"editor_usage1"				"When triggered, toggles between visible and hidden (see hide).  Entity is non-solid when hidden."

	"editor_bool solid"			"whether the object should be solid or not."
	"editor_bool hide"			"whether the object should be visible when spawned. you need to set a value for triggering on/off to work"
	"editor_gui gui"			"gui attached to this static, gui2 and gui3 also work"
	"editor_gui gui_demonic"	"demonic gui attached to this statit, gui_demonic2 and gui_demonic3 also work"
	"editor_bool gui_noninteractive" "any gui attached will not be interactive"
	"editor_bool noclipmodel"	"0 by default. Sets whether or not to generate a collision model for an ASE/LWO func_static at level load. (Set to 1 for stuff the player can't interact with. This will save memory.)"
	"editor_bool inline"		"If true, turn the model into map geometry at dmap time"

	"spawnclass"				"idStaticEntity"
	
	"solid"						"1"
	"noclipmodel"				"0"
}

entityDef func_shaking {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-12 -12 -12"
	"editor_maxs"				"12 12 12"

	"editor_usage"				"Shaking object.  Starts shaking at map start by default.  Triggering entity turns it on and off."
	"editor_var shake"			"pitch yaw and roll shake angles"
	"editor_var period"			"period of the shake in seconds"
	"editor_var start_off"		"when set, entity won't start shaking until triggered."

	"spawnclass"				"idShaking"
	"shake"						"0.5 0.5 0.5"
	"period"					"0.05"
}

entityDef func_emitter {
	"inherit"					"func_static"
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-12 -12 -12"
	"editor_maxs"				"12 12 12"
	"editor_rotatable"			"1"

	"editor_usage"				"Inherits from a func_static but is fixed size and shows a rotation arrow."
	"editor_usage1"				"Use it to orient particle models"
	"editor_usage2"				"Trigger it to fade it in and/or out"
	"editor_var start_off"		"if set to 1, particle system will not be visible on spawn"
	"editor_var cycleTrigger"	"if set to 1, will not hide/show but will just reset time to cycle a cycles particle"
	"solid"						"0"
	"noclipmodel"				"1"

	"spawnclass"				"idFuncEmitter"
}

entityDef func_damagable {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Breakable object.  Fires targets and changes shader parms and model when damaged."
	"editor_usage1"				"When damaged, shader parm 3 is set to the current time, and shader parm 7 is set"
	"editor_usage2"				"to either a random number from 1 to 'numstates', or to the value in 'forcestate' if"
	"editor_usage3"				"it is non-zero. If you want an invisible texture, use common/collision. Make sure"
	"editor_usage4"				"you func_remove it after it is shot if it's blocking an entrance."
							
	"editor_model broken"		"if set, switch to this model when the entity is broken."
	"editor_var health"			"amount of damage to recieve before becoming damaged."
	"editor_var target"			"targets to trigger when damaged."
	"editor_var count"			"number of times to allow to be triggered, (-1 means infinite)."
	"editor_bool cycle"			"if set to 1, entity will cycle through each shader state when damaged, reseting to 0 when it exceeds numstates."
	"editor_var numstates"		"the number of different shader states.  Shader parm 7 will be set to a value between 1 and this value."
	"editor_var forcestate"		"if non-zero, the state to force the shader into when damaged."
	"editor_var wait"			"Seconds between triggerings."
	
	"editor_var damage_filter"	"damage filter name that must exist in a damage def for this damageable to be damaged.  The keyword in the damage def will be 'filter_<value>' and it should be set to 1"
	"editor_var nosplash"		"must be damaged directly, splash damage will not hit it"

	"spawnclass"				"idDamagable"

	"health"					"5"
	"count"						"1"
	"cycle"						"0"
	"numstates"					"1"
	"forcestate"				"0"
	"wait"						"0.1"
//	"nosplash"					"0"
}


entityDef func_clipmodel {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"
	"editor_usage"				"Holder for a clip model which can be used by another entity."

	"spawnfunc"					"func_clipmodel"
}

entityDef func_spring {
	"editor_color"				"1 .5 .3"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Spring connecting two entities."
	
	"spawnclass"				"idSpring"
}

entityDef func_forcefield {
	"editor_color"				"1 .5 .3"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Force field."

	"editor_var target"			"Target entity. If set the force field is uniform in the direction of the target, the magnitude of the force equals the distance to the target."
	"editor_var uniform"		"3D force vector. If set the force field is uniform, magnitude of the force equals the length of the vector."
	"editor_var explosion"		"Magnitude of explosive force. If set the field exerts a repelling force from the entity origin."
	"editor_var implosion"		"Magnitude of implosive force. If set the field exerts a force that gravitates to the entity origin."
	"editor_var randomTorque"	"Amount of random torque added to objects inside or touching the force field."
	"editor_bool applyForce"	"If set apply a force."
	"editor_bool applyVelocity" "If set apply a velocity."
	"editor_bool applyImpulse"	"If set apply an impulse."
	"editor_bool playerOnly"	"Force field only works for players."
	"editor_bool monsterOnly"	"Force field only works for monsters."
	"editor_bool start_on"		"By default the force field is off until activated. If 'start_on' is set to '1' the force field starts on."
	"editor_var wait"			"If unequal zero the force field automatically switches back to the previous state (on/off) after 'wait' seconds."

	"spawnclass"				"idForceField"
	
	"randomTorque"				"0"
	"start_on"					"0"
}

entityDef func_explosion {
	"editor_color"							"0 .5 .3"
	"editor_mins"							"-16 -16 -16"
	"editor_maxs"							"16 16 16"

	"editor_usage"							"Hidden object that explodes when activated."
	
	"editor_var def_damage"					"name of damage def to use"
	"editor_snd snd_explode"				"set to sound if you want noise"
	"editor_var model"						"particle effect to use when exploding"
	

	"def_damage"							"damage_explosion"
	"snd_explode"							"player_rocketlauncher_explode2"

	"spawnclass"							"idExplodable"
}

entityDef func_securitycamera {
	"editor_color"				"1 .5 .3"
	"editor_mins"				"-4 -4 -4"
	"editor_maxs"				"4 4 4"
	"editor_rotatable"			"1"
	"editor_showangle"			"1"

	"editor_usage"				"Security camera."
	"editor_usage1"				"Orient the camera pointing at the start location"
	"editor_usage2"				"then it will sweep from that + sweepAngle and back."
	"editor_usage3"				"Uses the following sound shaders"
	"editor_usage4"				"security_camera_moving - movement"
	"editor_usage5"				"security_camera_end - cam stops at edge of movement"
	"editor_usage6"				"security_camera_sight - sights player"
	"editor_usage7"				"security_camera_activate - goes into alert mode"
	"editor_usage8"				""
	"editor_usage9"				"See duffy/examples/securitycam.map for an example."
								
	"editor_var sweepAngle"		"the amount of sweep."
	"editor_var health"			"health for camera."
	"editor_var scanFov"		"fov of view."
	"editor_var scanDist"		"how far the camera can see."
	"editor_var flipAxis"		"set to 1 to flip the model axis of the cam."
	"editor_var modelAxis"		"0, 1 or 2 based on which axis the source model was built on."
	"editor_var sightTime"		"The time in seconds it takes to notice the player."
	"editor_var sightResume"	"The time it will resume scanning after seeing the player but has not activated."
	"editor_var sweepSpeed"		"Speed of sweep."
	"editor_var sweepWait"		"Delay at edge of sweep before reversing direction."
	"editor_var wait"			"Time it will hold after an alert status before resuming."

	"spawnclass"				"idSecurityCamera"
	"snd_sight"					"security_camera_sight"
	"snd_moving"				"security_camera_moving"
	"snd_activate"				"security_camera_activate"
	"snd_stop"					"security_camera_end"

	"sweepAngle"				"90"
	"health"					"100"
	"scanFov"					"90"
	"scanDist"					"200"
	"sightTime"					"5"
	"sightResume"				"1.5"
	"sweepSpeed"				"5"
	"sweepWait"					"0.5"
	"wait"						"20"
}

entityDef func_cameraview {
	"editor_color"					"0 .5 .8"
	"editor_mins"					"-8 -8 -8"
	"editor_maxs"					"8 8 8"
	"editor_rotatable"				"1"
	"editor_showangle"				"1"

	"editor_usage"					"Simple Camera view, apply a rotation matrix, angle or target it at a target_null."
	"editor_var cameraTarget"		"target entity to render view from, point this at self to view from this position."
	"editor_var fov"				"fov - defaults to 90"
	"editor_var trigger"			"if set to 1, when triggered will set the view to this camera, when triggered again will set the view back to normal"
	"editor_bool ignore_enemies"	"If not set, when camera is activated, any active monsters that have an enemy but are not marked with 'cinematic' will be removed."

	"spawnclass"					"idCameraView"
}

entityDef func_animate {
	"editor_color"				"1 .5 .3"
	"editor_mins"				"-16 -16 0"
	"editor_maxs"				"16 16 32"

	"editor_usage"				"Object that changes animation when triggered."

	"editor_var anim"			"anim to play when triggered.  (unless 'num_anims' is set)"
	"editor_var start_anim"		"anim to play when first spawned.  anim will loop until triggered."
	"editor_var num_anims"		"the number of anims to play in sequence.  trigger entity to start next anim.  set anims using 'anim1', 'anim2', 'anim3', etc.  Triggers targets when done playing animl."
	"editor_var blend_in"		"how long to transition from the start_anim to the triggered anim."
	"editor_var wait"			"how long to wait before auto activating.  -1 means only activate when triggered."
	"editor_var cycle"			"how many times to play the animation after being triggered (use -1 for infinite)."
	"editor_bool remove"		"set to 1 to remove object when animation finishes."
	"editor_var target"			"all entities with a matching name will be used after anim plays."
	"editor_bool hide"			"if 1, object remains hidden until triggered.  doesn't work when 'start_anim' is set."
	"editor_var sound_bone"		"Bone to play sounds from."
	"editor_var loop_last_anim"	"Loops the last anim when 'num_anims' is set.  the next trigger will cause the entity to hide, or be removed if 'remove' is set."
	"editor_var auto_advance"	"When 'num_anims' is set, won't wait to be triggered between each anim."
 // RAVEN BEGIN
// bdube: script support
	"editor_var scriptObject"	"specifies a script object to run an animation state loop with, this overrides all other animation functionality"
// RAVEN END

	"spawnclass"				"idAnimated"
	"blend_in"					"0"
	"cycle"						"1"
	"wait"						"-1"
	"pose_frame"				"1"
	"sound_bone"				"origin"
}

entityDef func_remove {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"

	"editor_usage"				"Removes targeted entities from the game when triggered."

	"spawnclass"				"idTarget_Remove"
}

entityDef func_damage {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"

	"editor_usage"				"Damages targeted entities when triggered."
	"editor_var damage"			"damage def to be used."

	"spawnclass"				"idTarget_Damage"
	"def_damage"				"damage_generic"
}

entityDef func_waitforbutton {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"

	"editor_usage"				"When activated, waits for the player to press the fire button and then activates its targets.  Targeting entity toggles it on and off."

	"spawnclass"				"idTarget_WaitForButton"
}

// RAVEN BEGIN
// bdube: not using
/*
entityDef func_fx {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"
	"editor_showangle"			"1"
	"editor_rotatable"			"1"

	"editor_usage"				"Spawns a special effect when triggered."
	"editor_var fx"				"the .fx file to spawn when triggered"
	"editor_var restart"		"Once triggered, how often do you want it to re-trigger itself ? (usefull for fx/sparks.fx)"
	"editor_var triggered"		"Start effect when triggered."
	"editor_var start"			"If set, starts effect as soon as it's spawned (unless 'triggered' is set)"

	"spawnclass"				"idEntityFx"
}
*/
// RAVEN END

entityDef func_itemremove {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-4 -4 -4"
	"editor_maxs"				"4 4 4"

	"editor_usage"				"Removes an item from the players inventory"
 	"editor_var remove"			"name of the inventory item to remove.. i.e. objective, or key_red"

	"spawnclass"				"idItemRemover"
}	

entityDef func_elevator {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Elevators move to predefined floors and activate door teams based on floor number."
	"editor_usage1"				"Use the default elevator gui to control them"
	"editor_usage2"				"Repeat floor1_ height and door info with floor2_ etc.. for as many floors as you want."
	
	"editor_var move_speed"		"world units per second to move between floors, use this or move_time"
	"editor_var move_time"		"time in seconds to move between floors"
	"editor_var accel_time" 	"time in seconds to accelerate"
	"editor_var decel_time" 	"time in seconds to decelerate"
	"editor_snd snd_accel"		"sound to play when elevator starts moving."
	"editor_snd snd_move"		"sound to play when elevator is moving."
	"editor_snd snd_decel"		"sound to play when elevator stops moving."
// RAVEN BEGIN
// rhummer: new sound key for movers, which plays a sound when it has stopped moving.
	"editor_snd snd_stopped"	"sound to play when elevator has stopped moving."
// RAVEN END
	"editor_var innerdoor"		"door name for interior doors, these will move automatically with the elevator."
	"editor_var floorPos_1"		"origin of first floor"
	"editor_var floorDoor_1"	"door name for floor 1 exterior door"
	"editor_var floor"			"floor number to start on 1 through.. number of floors"
	"editor_var pauseOnFloor"	"floor to pause on before opening doors"
	"editor_var pauseTime"		"time to pause if pauseOnFloor is defined"
	"editor_var statusgui"		"entity name to update floor info, can use statusgui2..3..4..etc. for multiple updates.  if appended with _num it will target an optional specific gui number on the entity this is handy for models with multiple guis."

// RAVEN BEGIN
// zquarles: defualt sound changes
 	"snd_accel"					"elevator_medium_start"
  	"snd_decel"					"elevator_medium_decel"
  	"snd_move"					"elevator_medium_move"
  	"snd_stopped"				"elevator_medium_stop"		
// RAVEN END

	"spawnclass"				"idElevator"
}

entityDef func_fracture {
	"editor_color"						"0 .5 .8"
	"editor_mins"						"?"
	"editor_maxs"						"?"
	"spawnclass"						"idBrittleFracture"

	"editor_usage"						"b-rep brittle fracture"

	"editor_var maxShardArea"			"maximum surface area of each shard"
	"editor_var maxShatterRadius"		"maximum distance from impact where the surface is shattered"
	"editor_var minShatterRadius"		"minimum distance from impact where the surface is shattered"
	"editor_var linearVelocityScale"	"linear velocity scale"
	"editor_var angularVelocityScale"	"angular velocity scale"
	"editor_var health"					"the surface breaks when the health drops down to or below zero"
	"editor_var fx"						"special effect to be used when surface breaks"
	"editor_var decalSize"				"size of projected decal"
	"editor_var mtr_decal"				"material to be used for decals"
	"editor_var snd_bullethole"			"sound to play for bullet holes"
	"editor_var snd_shatter"			"sound to play when the surface breaks"
	"editor_var disableFracture"		""

	"mtr_decal"							"gfx/effects/decals/bulletglass"
// RAVEN BEGIN
// zquarles: sound changes
 	"snd_bullethole"					"bullet_impact_glass"
 	"snd_shatter"						"glass_break"
// RAVEN END
}

entityDef func_beam {
	"editor_color"				"1 .5 .3"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"

	"editor_usage"				"Creates a beam from origin to origin of targeted func_beam.  Turns on and off when triggered.  Can only target one func_beam at a time and be targeted by one func_beam."
	"editor_var skin"			"Material to use for the beam's texture"
	"editor_var start_off"		"Set to 1 to have beam off when level starts."
	"editor_var width"			"Width of the beam."
	
	"spawnclass"				"idBeam"
}

entityDef func_liquid {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"
	
	"mins"						"0 0 -64"
	"maxs"						"144 144 64"

	"spawnclass"				"idLiquid"
}

entityDef func_earthquake {
	"editor_color"					"0 1 0"
	"editor_mins"					"-8 -8 -8"
	"editor_maxs"					"8 8 8"
	"editor_material"				"textures/common/speaker"
	"editor_usage"					"Use to trigger earthquakes. The sound shader MUST have shakes set, this allows the sound system to provide a more realistic shake based on sound."
	"editor_snd snd_quake"			"the sound shader or wavefile."
	"editor_var playerOriented"		"play from players pov, otherwise plays from location of entity"
	"editor_var wait"				"seconds to wait between firings, -1 means only once"
	"editor_var randomDelay"		"delay variance.  wait + or - random_delay before firing targets."
	"editor_var triggered"			"waits to be triggered before quaking"
	"spawnclass"					"idEarthQuake"
}

entityDef func_portal {
	"editor_color"					"0 1 0"
	"editor_mins"					"-16 -16 -16"
	"editor_maxs"					"16 16 16"
	"editor_material"				"textures/editor/visportal"
	"editor_usage"					"Use to make triggerable portals."
	"editor_var start_on"			"set to 1 to close portal when map starts"
	"spawnclass"					"idFuncPortal"
}

entityDef func_aas_portal {
	"editor_color"					"0 1 0"
	"editor_mins"					"?"
	"editor_maxs"					"?"
	"editor_material"				"textures/editor/aassolid"
	"editor_usage"					"Used to dynamically block off areas from monsters.  Toggles on/off when triggered."
	"editor_var start_on"			"set to 1 to close portal when map starts"
	"spawnclass"					"idFuncAASPortal"
}

entityDef func_aas_obstacle {
	"editor_color"					"0 1 0"
	"editor_mins"					"?"
	"editor_maxs"					"?"
	"editor_material"				"textures/editor/aasobstacle"
	"editor_usage"					"Used to dynamically block off areas from monsters.  Toggles on/off when triggered."
	"editor_var start_on"			"set to 1 to turn on obstacle when map starts"
	"spawnclass"					"idFuncAASObstacle"
}

entityDef func_radiochatter {
	"editor_color"					"1 1 0"
	"editor_mins"					"-8 -8 -8"
	"editor_maxs"					"8 8 8"
	"editor_usage"					"Use to make triggerable radio chatters."
	"editor_var time"				"length of the sound, this may be able to go away with support for len from the sound system"
	"editor_snd snd_radiochatter"	"sound shader with chatter"
	"spawnclass"					"idFuncRadioChatter"
}


entityDef func_phantom_objects {
	"editor_color"					"0 .5 .8"
	"editor_mins"					"-8 -8 -8"
	"editor_maxs"					"8 8 8"

	"editor_usage"					"Causes moveable objects to fly at player when triggered.  triggering toggles it on/off."
	"editor_var speed"				"How fast objects should fly at player"
	"editor_var time"				"How long it takes to toss all objects"
	"editor_var end_time"			"How long to throw objects.  set to 0 to throw each object once"
	"editor_var shake_time"			"How long objects shake before thrown"
	"editor_var min_wait"			"Minimum time to wait before tossing object again"
	"editor_var max_wait"			"Maximum time to wait before tossing object again"
	"editor_var shake_ang"			"Angles to shake object"

	"time"							"5"
	"speed"							"1200"
	"end_time"						"0"
	"shake_time"					"1"
	"shake_ang"						"65 65 65"
	"min_wait"						"1"
	"max_wait"						"3"

	"spawnclass"					"idPhantomObjects"
}

entityDef func_riser {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Simply rises or falls when triggered."
	"editor_var time"			"how many seconds to complete the movement"
	"editor_var hide"			"start off hidden"
	"editor_var solid"			"set to zero to make non-solid"
	"editor_var height"			"how much to move ( use negative to move down )"

	"spawnclass"				"idRiser"

	"time"						"5"
	"height"					"32"
}

entityDef func_splat {
	"inherit"					"func_emitter"
	"editor_color"				"0 0 1"
	"editor_mins"				"-6 -6 -6"
	"editor_maxs"				"6 6 6"
	"editor_rotatable"			"1"

	"editor_usage"				"Splats a decal based on the rotation angle"
	"editor_var mtr_splat"		"The decal to splat, you can provide multiples for a random effect, mtr_splat2, etc."
	"editor_var splatCount"		"Number of splats"
	"editor_var splatSize"		"Size of the splat, defaults to 24"
	"editor_var splatDistance"	"How far the splat will project, defaults to 128"
	"editor_var splatDelay"		"Delay to launch the decals"
	"editor_var snd_splat"		"Optional sound to play at splat"
	"editor_var snd_spurt"		"Optional sound to play at spurt"

	"spawnclass"			"idFuncSplat"
}
/***********************************************************************

 Raven additions

***********************************************************************/

entityDef func_camera_follow
{
	"editor_color"			"0 .5 .8"
	"editor_mins"			"-16 -16 0"
	"editor_maxs"			"16 16 32"

	"editor_usage"			"camera that follows an entity.\n" \
							"\n" \
							"'distance'	default = 120\n" \
							"'offset'	default = '0 0 96'"\
							"'followAngles' default = false"

	"spawnclass"			"idCameraFollow"
}

entityDef func_fx 
{
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"
	"editor_showangle"			"1"
	"editor_rotatable"			"1"

	"editor_usage"				"Spawns a special effect when triggered."
	"editor_var fx"				"the .fx file to spawn when triggered"
	"editor_var loop"			"Loop the effect"
	"editor_var start_on"		"If set, starts effect as soon as it's spawned (unless 'triggered' is set)"
	"editor_var triggered"		"start effect when activated"
	"editor_var remove"			"If set, the entity will remove itself from the world once the effect is done playing"
	"editor_var lookAtTarget"	"If set, effect continually updates itself to look at its target"

	"spawnclass"				"rvEffect"
}

entityDef func_deathpush
{
	"editor_color"				".1 .1 .9"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"
	"editor_showangle"			"1"
	"editor_rotatable"			"1"
	
	"spawnclass"				"rvDeathPush"
}

entityDef func_camera_portalsky 
{
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-16 -16 0"
	"editor_maxs"				"16 16 32"

	"editor_usage"				"View from which the skybox is rendered"

	"spawnclass"				"rvCameraPortalSky"
}

entityDef func_playback
{
	"editor_color"				"0 .5 .8"
	"editor_mins"				"-16 -16 0"
	"editor_maxs"				"16 16 32"

	"editor_usage"				"Follows a playback path when triggered."
	"editor_var angles_from_vel" "If non-zero, the angles for the playback will come from its velocity rather than from the recorded angles."
	"editor_var playback_name"	"Name of the playback to execute when triggered."

	"spawnclass"				"rvPlaybackEnt"

	"playback_name"				""
	"angles_from_vel"			"0"
}

entityDef func_conveyor {
	"editor_color"				"0 .5 .8"
	"editor_mins"				"?"
	"editor_maxs"				"?"

	"editor_usage"				"Moves all entities standing on the entity in a given direction at a constant speed. Either moveAngle or targetting a chain of target_null's can be used to indicate the direction of the movement (note that moveAngle can only be used for flat conveyor belts)."
	"editor_var speed"			"speed entities on the conveyor belt should be moved at"
	"editor_var moveAngle"		"angle the conveyor belt should move"

	"editor_material"			"textures/common/conveyor"
	"spawnclass"				"rvConveyor"
}

entityDef func_train {
	"inherit"					"func_mover"
	"editor_usage"				"Trains are movers with a scriptObject that lets you move them along a linked path of target_nulls or func_splinemovers."
	"editor_float loopDelay"	"If set, the train will restart it's path after this amount of time once it reaches the end."
	"editor_float useSplineAngles"	"If set, the train will align itself to the spline's angles as it moves along the route."
	"loopDelay"					"0"
	"useSplineAngles"			"0"
	"scriptObject"				"func_train"
}

entityDef func_jumppad {
	"editor_color"				"1 .5 .3"
	"editor_mins"				"?"
	"editor_maxs"				"?"
	"editor_usage"				"Jump Pad."
	"editor_material"			"textures/common/trigmulti"

	"spawnclass"				"rvJumpPad"
	"start_on"					"1"
	"snd_jump"					"mp_jumppad"
	"fx_jump"					"effects/mp/jumppad_trigger.fx"

	"editor_var target"			"Target entity which which will be the apex of the jump."
	"editor_bool start_on"		"By default the jumppad is on. If 'start_on' is set to '0' the jump pad starts off."
}


// Keep for backwards compatibility
entityDef func_spawner_enemy {
	"spawnclass"					"rvSpawner"
}

entityDef func_spawner {
	"editor_color"					".8 .8  1"
	"editor_mins"					"-8 -8 -8"
	"editor_maxs"					"8 8 8"

	"editor_usage"					"Spawns specified entities.  Target any number of target_nulls as possible spawn locations."
	"editor_usage1"					"All keys prefixed with 'spawn_' will be copied over directly without the spawn_ to newly created enemies."
	"editor_usage2"					"Any fields on the target_nulls prefixed with 'spawn_' will also be copied over."
	"editor_var def_spawn"			"set to the classname of the entity to be spawned (for example, 'def_spawn_1' 'monster_grunt')"
	"editor_var count"				"number of entities to spawn before being used up (defaults to -1 which means spawn there is no count limit)"
	"editor_var max_active"			"If there are more than this number of entities from this spawner active, spawning will pause.  (Defaults to 4)"
	"editor_var delay"				"time between spawning (default to 2)"
	"editor_var auto_target"		"If set to 1, spawned enemies will automatically target their nearest foe (Defaults to 1)"
	"editor_var face_enemy"			"If set to 1, spawned enemies will be facing their enemy when they spawn in (Defaults to 0)"
	"editor_var call"				"Script function to be called at the time of spawn (the entity parameter will be the spawner itself)"
	"editor_var call_spawned"		"Script function to be called at the time of spawn (the entity parameter will be the spawned entity)"
	"editor_var script_used_up"		"Script function to be called when the spawner has exhausted its available enemies."
	"editor_var skipVisible"		"If set to 1, spawn targets will be skipped if the player can see them (defaults to 1)"
	"editor_var trigger_only"		"If set to 1 the spawner will only spawn when triggered.  Each trigger will spawn 1 enemy."
	"editor_var waves"				"number of enemies to spawn simultaneously (default 1)"
	"editor_var remove"				"If set to 1 the spawner will be removed when triggered off.  (defaults to 1)"

	"editor_var target def_spawn"	"spawn target: overrides the spawn type of the spawner for the spawn target"
	"editor_var target remove"		"spawn target: If set to 1 the spawn target will be removed after it has been used (defaults to 0)."

	"spawnclass"					"rvSpawner"
}

// RAVEN BEGIN
// abahr:
entityDef func_mover_spline {
	"editor_color"					".8 .8  1"
	"editor_mins"					"-8 -8 -8"
	"editor_maxs"					"8 8 8"
	"editor_rotatable"				"1"
	
	"editor_usage"					""
	"editor_var accel"				"acceleration"
	"editor_var decel"				"deceleration"
	"editor_var speed"				"max speed"
	"editor_var solid"				"Sets contents to solid.  Default: 1"
	"editor_var solidClip"			"Sets clipMask to solid.  Default: 0"
	"editor_var damage"				"Damage scale to inflict on blocking entity.  Default: 0"
	"editor_var waitForTrigger"		"will not move until triggered.  Default: 0"
	"editor_var call_doneMoving"	"script event to be called when done moving"
	
	"spawnclass"					"rvSplineMover"
}

// twhitaker:
entityDef func_vehicle_driver {
	"editor_color"				".6 .2 1"
	"editor_mins"				"-8 -8 -8"
	"editor_maxs"				"8 8 8"

	"editor_usage"				"Move a vehicle based on a path specified by target_vehicle_paths."

	"spawnclass"				"rvVehicleDriver"
}

entityDef func_savegame {
	"editor_color"					"1 1 0"
	"editor_mins"					"-8 -8 -8"
	"editor_maxs"					"8 8 8"
	"editor_usage"					"Use to make triggerable save games."
	"spawnclass"					"rvFuncSaveGame"
}
// RAVEN END

//RITUAL BEGIN
//singlis: func grapple node
entityDef func_grapplenode {
	"editor_color"			"0 .8 0"
	"editor_mins"			"?"
	"editor_maxs"			"?"

	"editor_usage"			"Grapple hook can only attach to this geometry"
	"editor_var model"		"The model to use"
	"editor_var grappable"	"Entity can be targeted by the grappling hook. Default: 1"
	"editor_var size"		"Size of the grapple node bounding box. Default: 184 184 64"

	"spawnclass"			"idMover"
	
	"model"					"models/mapobjects/q4x/grapple_node/grapple_node.ASE"
	
	"grappable"				"1"
	"size"					"184 184 64"
}

entityDef func_fire_volume {
	"editor_color"				"0.8 0.1 0.2"
	"editor_mins"				"?"
	"editor_maxs"				"?"
	"editor_material"			"textures/common/trighurt"

	"editor_usage"				"Fire that can be put out by the Freeze Gun.  The fx will spawn at the ORIGIN of the trigger.  You must use the common/shot_clip texture for the Freeze Gun to hit it!"
	"editor_var def_damage"		"Damage def to use, (default: damage_painTrigger)"
	"editor_var health"			"Amount of health the trigger has (default: 100)"
	"editor_var fx_fireLarge"	"The large (stage 1) fire effect"
	"editor_var fx_fireSmall"	"The small (stage 2) fire effect.  Can be the same as stage 1."
	"editor_var fx_smoke"		"The smoke effect to use after the fires are out."
	"editor_var damageDelay"	"The delay, in milliseconds (default: 1000), between damage pulses"
	"editor_var on"				"Whether or not this fire trigger is on.  Defaults to 1."
	"editor_var fxtarget"		"The direction the special effect should face.  Specify a target_null."
	
	"spawnclass"				"riFireFX"
	"fx_fireLarge"				"effects/fire/gasjet_long.fx"
	"fx_fireSmall"				"effects/fire/gasjet.fx"
	"fx_smoke"					"effects/smoke/smolder1.fx"
	"def_damage"				"damage_painTrigger"
	"damageDelay"				"1000"
	"on"						"1"
}
//RITUAL END
