Files
2026-05-20 18:53:01 -07:00

629 lines
22 KiB
Modula-2

/***********************************************************************
func
***********************************************************************/
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.\n" \
"\n" \
"'accelsound' sound to play when acceleration starts\n" \
"'movesound' sound to play when movement starts\n" \
"'decelsound' sound to play when deceleration starts"
"spawnclass" "idMover"
"cinematic" "1"
}
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.\n" \
"\n" \
"'joint' joint to attach camera\n" \
"'model' model to use"
"spawnclass" "idCameraAnim"
"fov" "90"
}
entityDef func_camera_spline {
"editor_color" "0 .5 .8"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "Camera controlled by spline.\n" \
"\n" \
"'pathfile' file to load spline path from"
"spawnclass" "idCameraView"
}
entityDef func_mover_amodel {
"editor_color" "0 0 0"
"editor_mins" "?"
"editor_maxs" "?"
"editor_usage" "Movers are objects meant to be controlled through scripts.\n" \
"\n" \
"'accelsound' sound to play when acceleration starts\n" \
"'movesound' sound to play when movement starts\n" \
"'decelsound' sound to play when deceleration starts"
"spawnclass" "idMover"
"cinematic" "1"
}
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_var start_on" "set to 1 to rotate when spawned."
"editor_var x_axis" "set to 1 to rotate around x-axis."
"editor_var 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."
"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.\n" \
"\n" \
"'x_axis' set to 1 to rotate around x-axis\n" \
"'y_axis' set to 1 to rotate around y-axis\n" \
"'height' amplitude of bob (default 32)\n" \
"'speed' seconds to complete a bob cycle (default 4)\n" \
"'phase' the 0.0 to 1.0 offset in the cycle to start at (default 0)\n" \
"'dmg' damage to inflict when blocked (default 2)\n" \
"'accelsound' sound to play when acceleration starts\n" \
"'movesound' sound to play when movement starts\n" \
"'decelsound' sound to play when deceleration starts"
"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. " \
"Pendulum frequency is a physical constant based on the length of the beam and gravity.\n" \
"\n" \
"'speed' the number of degrees each way the pendulum swings (default 30)\n" \
"'phase' the 0.0 to 1.0 offset in the cycle to start at (default 0)\n" \
"'dmg' damage to inflict when blocked\n" \
"'accelsound' sound to play when acceleration starts\n" \
"'movesound' sound to play when movement starts\n" \
"'decelsound' sound to play when deceleration starts"
"spawnclass" "idPendulum"
"speed" "30"
"phase" "0"
"dmg" "2"
}
entityDef func_plat {
"editor_color" "0 .5 .8"
"editor_mins" "?"
"editor_maxs" "?"
"editor_usage" "'no_touch' the plat should not be triggered by the player touching it, only by another trigger. (default 0)\n" \
"'lip' protrusion above rest position (default 8)\n" \
"'height' total height of movement, defaults to model height\n" \
"'speed' speed to move up and down at (default 200)\n" \
"'dmg' damage to inflict when blocked (default 2)\n" \
"'accelsound' sound to play when acceleration starts\n" \
"'movesound' sound to play when movement starts\n" \
"'decelsound' sound to play when deceleration starts"
"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 " \
"have the mover activate a triggers as it moves. When target by triggers, activating the " \
"trigger will toggle the activator on and off. Activator will disable itself when it activates a trigger.\n" \
"\n" \
"'start_off' set to 1 to have it spawn disabled. Activator will disable itself when it activates a trigger. (default 0)\n" \
"'stay_on' to prevent activator from disabling itself. (default 0)"
"spawnclass" "idActivator"
"start_off" "0"
"stay_on" "0"
}
entityDef func_door {
"editor_color" "0 .5 .8"
"editor_mins" "?"
"editor_maxs" "?"
"editor_usage" "'start_open' the door moves to its destination when spawned, and operate in\n" \
" reverse. It is used to temporarily or permanently close off an\n" \
" area when triggered (not useful for touch or takedamage doors).\n" \
"'no_touch' the door should not be triggered by the player touching it, only by another trigger\n" \
"'locked' used in conjunction with no_touch,the door must be triggered by a trigger, after which it works normally\n" \
" if locked = 1 then the door opens when unlocked, if locked = 2 then the door just becomes unlocked\n" \
"'buddy' will toggle shaderparm 7 of the entity given as a buddy, this allows shaders to be remapped for lock status etc.\n" \
"'crusher' the door does not reverse when blocked\n" \
"'angle' determines the opening direction (default 0)\n" \
"'movedir' determines the opening direction. if set, 'angle' determines orientation.\n" \
"'speed' movement speed (default 100)\n" \
"'time' movement time in seconds. overrides speed. used for doors that move different distances, but still need to be synced. (default 1)\n" \
"'wait' wait before returning (-1 = never return) (default 3)\n" \
"'lip' lip remaining at end of move (default 8)\n" \
"'dmg' damage to inflict when blocked (default 2)\n" \
"'health' if set, the door must be shot open (default 0)\n" \
"'triggersize' sets the amount the trigger extends from the door (default 60)\n" \
"'accelsound' sound to play when acceleration starts\n" \
"'movesound' sound to play when movement starts\n" \
"'decelsound' sound to play when deceleration starts"
"spawnclass" "idDoor"
"start_open" "0"
"no_touch" "0"
"crusher" "0"
"angle" "0"
"speed" "100"
"wait" "3"
"lip" "8"
"dmg" "2"
"health" "0"
"triggersize" "60"
"snd_open" "sound/nin/LEVELS/E3_2/F_door1/F_door1_in_02.wav"
"snd_close" "sound/nin/LEVELS/E3_2/F_door1/F_door1_out_02.wav"
"snd_opened" "" // Looping sound for it's opened state
}
entityDef func_button {
"editor_color" "0 .5 .8"
"editor_mins" "?"
"editor_maxs" "?"
"editor_usage" "When a button is touched, it moves some distance in the direction of it's angle, " \
"triggers all of it's targets, waits some time, then returns to it's original position " \
"where it can be triggered again.\n" \
"\n" \
"'angle' determines the opening direction (default 0)\n" \
"'target' all entities with a matching name will be used\n" \
"'speed' move speed (default 40)\n" \
"'wait' how many seconds to wait (-1 = never return) (default 1)\n" \
"'lip' lip remaining at end of move (default 4)\n" \
"'health' if set, the button must be killed instead of touched (default 0)\n" \
"'accelsound' sound to play when acceleration starts\n" \
"'movesound' sound to play when movement starts\n" \
"'decelsound' sound to play when deceleration starts"
"spawnclass" "idDoor"
"angle" "0"
"speed" "40"
"wait" "1"
"lip" "4"
"health" "0"
}
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. " \
"When triggered, toggles between visible and hidden. Entity is non-solid when hidden."
"editor_var solid" "whether the object should be solid or not."
"editor_var hide" "whether the object should be visible when spawned."
"spawnclass" "idStaticEntity"
"solid" "1"
"hide" "0"
}
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. " \
"When damaged, shader parm 3 is set to the current time, and shader parm 7 is set " \
"to either a random number from 1 to 'numstates', or to the value in 'forcestate' if " \
"it is non-zero.\n" \
"\n" \
"'broken' if set, switch to this model when the entity is broken\n" \
"'health' amount of damage to recieve before becoming damaged (default 5)\n" \
"'target' targets to trigger when damaged\n" \
"'count' number of times to allow to be triggered, (-1 means infinite) (default 1)\n" \
"'cycle' if set to 1, entity will cycle through each shader state when damaged, reseting to 0 when it exceeds numstates (default 0)\n" \
"'numstates' the number of different shader states. Shader parm 7 will be set to a value between 1 and this value (default 1)\n" \
"'forcestate' if non-zero, the state to force the shader into when damaged (default 0)\n" \
"'wait' Seconds between triggerings (default 0.1)\n"
"spawnclass" "idDamagable"
"health" "5"
"count" "1"
"cycle" "0"
"numstates" "1"
"forcestate" "0"
"wait" "0.1"
}
entityDef func_moveable {
"editor_color" "0 .5 .8"
"editor_mins" "?"
"editor_maxs" "?"
"editor_usage" "Moveable object. Will drop to the floor and rest untill activated.\n" \
"The visual model set with the 'model' key can also be used for\n" \
"collision detection. However the model may not be too complex.\n" \
"max vertices = 32\n" \
"max edges = 32\n" \
"max polygons = 16\n" \
"max edges per polygon = 16\n" \
"The collision model must be an enclosed hull. Dangling polygons or\n" \
"edges are not allowed. If the visual model is too complex or does\n" \
"not meet these requirements it can be contained in a less complex\n" \
"model for collision detection. Such a collision model is specified with the\n" \
"'clipmodel' key.\n" \
"\n" \
"'density' Volume of the object times the density is the mass. (default 0.2)\n" \
"'friction' Friction with contacting surfaces in the range [0-1] where 0 is no friction. (default 0.2)\n" \
"'bouncyness' How much the object bounces in the range [0-1] where 0 is no bounce. (default 0.6)\n" \
"'clipmodel' Model to be used for collision detection.\n" \
"'clipshrink' Shrink the visual model with an epsilon and use it as a clip model.\n" \
"'nodrop' Do not drop to the floor.\n" \
"'noimpact' Do not activate by the impact of other objects.\n" \
"'unbindondeath' Unbind entity when health drops down to or below zero.\n" \
"'health' If set the visual model changes to 'broken' when the health drops down to or below zero.\n" \
"'broken' Visual model to be used when the health drops down to or below zero.\n" \
"'explode' If set to 1 the moveable explodes and is removed when the health drops down to or below zero.\n" \
"'init_velocity' Initial linear velocity set when activated.\n" \
"'init_avelocity' Initial angular velocity set when activated.\n"
"spawnclass" "idMoveable"
"snd_bounce" "moveable_brick_bounce"
}
entityDef func_barrel {
"editor_color" "0 .5 .8"
"editor_mins" "?"
"editor_maxs" "?"
"editor_usage" "Moveable barrel. Works just like a func_moveable. However the barrel\n" \
"has special handling to make it appear more round.\n"
"spawnclass" "idBarrel"
"density" "0.02"
"friction" "0.2"
"bouncyness" "0.4"
}
entityDef func_cartonbox {
"inherit" "func_moveable"
"density" "0.02"
"friction" "0.2"
"bouncyness" "0.2"
}
entityDef func_smallmetalbox {
"inherit" "func_moveable"
"density" "0.1"
"friction" "0.2"
"bouncyness" "0.2"
}
entityDef func_cokecan {
"inherit" "func_moveable"
"density" "0.5"
"friction" "0.1"
"bouncyness" "0.4"
}
entityDef func_chair {
"inherit" "func_moveable"
"density" "0.005"
"friction" "0.1"
"bouncyness" "0.4"
}
entityDef func_table {
"inherit" "func_moveable"
"density" "0.005"
"friction" "0.1"
"bouncyness" "0.4"
}
entityDef func_brick {
"inherit" "func_moveable"
"density" "0.05"
"friction" "0.2"
"bouncyness" "0"
}
entityDef func_domino {
"inherit" "func_moveable"
"density" "0.005"
"friction" "0.6"
"bouncyness" "0.2"
}
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.\n"
}
entityDef func_spring {
"editor_color" "1 .5 .3"
"editor_mins" "?"
"editor_maxs" "?"
"editor_usage" "Spring connecting two entities.\n"
"spawnclass" "idSpring"
}
entityDef func_forcefield {
"editor_color" "1 .5 .3"
"editor_mins" "?"
"editor_maxs" "?"
"editor_usage" "Force field.\n" \
"\n" \
"'uniform' 3D force vector. If set the force field is uniform.\n" \
"'explosion' Magnitude of explosion force. If set the field exerts a repelling force from the entity origin.\n" \
"'implosion' Magnitude of implosion force. If set the field exerts a force that gravitates to the entity origin.\n" \
"'randomTorque' Amount of random torque added to objects inside or touching the force field.\n" \
"'start_on' By default the force field is off until activated. If 'start_on' is set to '1' the force field starts on.\n" \
"'wait' If unequal zero the force field automatically switches back to the previous state (on/off) after 'wait' seconds.\n"
"spawnclass" "idForceField"
}
entityDef func_explosion {
"editor_color" "0 .5 .3"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "Explosion\n" \
"\n" \
"'damage [50]' amount of damage to cause\n"\
"'radius [64]' radius to inflict damage\n"\
"'debris [1]' if you want debris\n" \
"'fxSound' set to sound if you want noise\n"
"spawnclass" "idExplodable"
}
entityDef func_spawner {
"editor_color" ".2 .5 .3"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "Spawns enties to location and angle\n" \
"\n" \
"'angle' direction to face\n"\
"'itemClass' class of item to spawn\n"\
"'activate' will activate (aggro) the item if set to 1\n"\
"'spawn_' key vals starting with spawn_ will be passed on sans 'spawn_'\n"\
"'fxSound' set to sound if you want noise\n" \
"Set 'fxLight' to 1 if you want a light\n"\
" fxShader = light shader\n"\
" fxTime [0.5] = light life time in seconds\n"\
" fxRadius [64] = light radius in game units\n"\
"Set 'fxModel (not implemented)' model name if you want a model effect to spawn in\n"\
" fxModelTime [0.5] = model life time in seconds\n"
"spawnclass" "idSpawnableEntity"
}
entityDef func_teleporter {
"editor_color" "1 .5 .3"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "Teleports player or enties to location and angle\n" \
"\n" \
"'angle' amount of damage to cause\n"\
"'fxSound' set to sound if you want noise\n" \
"Set 'fxLight' to 1 if you want a light\n"\
" fxShader = light shader\n"\
" fxTime [0.5] = light life time in seconds\n"\
" fxRadius [64] = light radius in game units\n"\
"Set 'fxModel (not implemented)' model name if you want a model effect to spawn in\n"\
" fxModelTime [0.5] = model life time in seconds\n"
"spawnclass" "idTeleporter"
}
entityDef func_securitycamera {
"editor_color" "1 .5 .3"
"editor_mins" "-4 -4 -4"
"editor_maxs" "4 4 4"
"editor_rotatable" "1"
"editor_usage" "Security camera\n\n" \
"Orient the camera pointing at the start location\n"\
"then it will sweep from that + sweepAngle and back\n\n"\
"'sweepAngle' [90] the amount of sweep\n"\
"'health' [100] health for camera\n"\
"'fx_destroy' fx to run when camera is destroyed.\n"\
"'fx_damage' fx to run when camera is damaged.\n"\
"'scanFov' [90] fov of view\n"\
"'scanDist' [200] how far the camera can see\n"\
"'flipAxis' set to 1 to flip the model axis of the cam\n"\
"'modelAxis' 0, 1 or 2 based on which axis the source model was built on\n"\
"'sightTime' [5] The time in seconds it takes to notice the player\n"\
"'sightResume' [1.5] The time it will resume scanning after seeing the player but has not activated\n"\
"'sweepSpeed' [5] Speed of sweep\n"\
"'sweepWait' [0.5] Delay at edge of sweep before reversing direction\n"\
"'wait' [20] Time it will hold after an alert status before resuming\n"\
"Uses the following sound shaders\n"\
"security_camera_moving - movement\n"\
"security_camera_end - cam stops at edge of movement\n"\
"security_camera_sight - sights player\n"\
"security_camera_activate - goes into alert mode\n\n"\
"See duffy/examples/securitycam.map for an example\n"
"spawnclass" "idSecurityCamera"
}
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 or angle.\n"
"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."
"editor_var pose" "anim to use to pose model when first spawned. pose_frame sets the frame. Model does not animate until triggered."
"editor_var pose_frame" "which frame to use when spawning with a static pose."
"editor_var start_anim" "anim to play when first spawned. anim will loop until triggered."
"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_var 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_var 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."
"spawnclass" "idAnimated"
"cinematic" "1"
"blend_in" "0"
"cycle" "1"
"wait" "-1"
"pose_frame" "1"
"sound_bone" "origin"
}
entityDef func_iktail {
"editor_color" "0 .5 .8"
"editor_mins" "-8 -8 -8"
"editor_maxs" "8 8 8"
"spawnclass" "idIKTail"
"model" "ase/f_barrello.ase"
}
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.\n" \
"'damage' damage def to be used."
"spawnclass" "idTarget_Damage"
}
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"
}
entityDef func_fx {
"editor_color" "0 .5 .8"
"editor_mins" "-8 -8 -8"
"editor_maxs" "8 8 8"
"editor_usage" "Spawns a special effect when triggered."
"editor_var fx" "the .fx file to spawn when triggered"
"spawnclass" "idEntityFx"
}
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 item" "name of the inventory item to remove.. i.e. objective, or key_red"
"spawnclass" "idItemRemover"
}