User:SirYodaJedi/Tremulous.fgd: Difference between revisions
From Valve Developer Community
Jump to navigation
Jump to search
SirYodaJedi (talk | contribs) (Created page with "{{quake topicon}} FGD file for {{w|Tremulous}}, as included in {{Jack|2}}. == FGD == {{textfile|FGD}} {{codeblock|src=quake3/tremulous.fgd|lang=fgd|<!-- --><nowiki>//generated by def2fgd //Modified by FreeSlave @BaseClass = Light [ light(integer) : "Brightness" : 300 : "overrides the default 300 intensity." _color(color1) : "RGB color" : "1 1 0.5" : "weighted RGB value of light color (default white - 1.0 1.0 1.0)." target(target_destination) : "Target" : : "Ligh...") |
SirYodaJedi (talk | contribs) mNo edit summary |
||
Line 523: | Line 523: | ||
</nowiki>}} | </nowiki>}} | ||
[[Category:Non-Valve engine FGDs| | [[Category:Non-Valve engine FGDs|Tremulous.fgd]] |
Latest revision as of 10:45, 15 February 2025
FGD file for Tremulous, as included in
J.A.C.K..
FGD
- This is a FGD (Forge Game Data) file used to define all of the entities of a game for a map editor (such as Hammer).
To add a FGD file to the map editor, copy the following text into a text editor such as Windows Notepad,Notepad++ or
Visual Studio Code, and save it with "save as type" being "all files" and .fgd appended to the file name. Then open your map editor and add the FGD to your game configuration (Example for HL:S).

quake3/tremulous.fgd
Forge Game Data
//generated by def2fgd
//Modified by FreeSlave
@BaseClass = Light
[
light(integer) : "Brightness" : 300 : "overrides the default 300 intensity."
_color(color1) : "RGB color" : "1 1 0.5" : "weighted RGB value of light color (default white - 1.0 1.0 1.0)."
target(target_destination) : "Target" : : "Lights pointed at a target will be spotlights."
radius(integer) : "Radius" : : "overrides the default 64 unit radius of a spotlight at the target point."
_sun(integer) : "Q3MAP2 Sun" : : "Set this key to 1 on a spotlight to make an infinite sun light."
fade(string) : "Q3MAP2 Fade" : : "Fades light attenuation. Only affects linear lights."
scale(string) : "Q3MAP2 Scale" : : "Scales light attentation, from SOF2/JK2. Scales the light value."
spawnflags(flags) =
[
1 : "linear" : 0 : "Use a linear falloff. Default is inverse distance squared (more realistic)."
2 : "noangle" : 0 : "Ignore angle attenuation."
16 : "nogridlight" : 0 : "Do not affect the lightgrid (dynamic entity lighting)."
]
]
@BaseClass = Model2
[
model2(studio) : "Model" : : "path/name of model to include (eg: models/mapobjects/jets/jets01.md3)."
origin(string) : "Origin" : : "alternate method of setting XYZ origin of sound and .md3 model included with entity."
]
@BaseClass = Q3MAP2_keys
[
_targetname(target_destination) : "Q3MAP2 TargetName" : : "Used to attach a misc_model entity to this entity."
_lightmapscale(float) : "Q3MAP2 Lightmapscale" : 1.0 : "Floating point value scaling the resolution of lightmaps on brushes/patches in this entity (default 1.0)."
_castshadows(string) : "Q3MAP2 CastShadows" : : "Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world."
_receiveshadows(string) : "Q3MAP2 ReceiveShadows" : : "Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities."
_celshader(string) : "Q3MAP2 Celshader" : : "Sets the cel shader used for this geometry. Note: omit the textures/ prefix."
]
@BaseClass = Q3MAP2_terrain
[
alphamap(string) : "Q3MAP2 terrain Alphamap" : : "Path/name for the art file used to guide the mapping of textures on the terrain surface."
layers(integer) : "Q3MAP2 terrain Layers" : : "Integer value is the number unique root shaders that will be use on the terrain."
shader(string) : "Q3MAP2 terrain shader" : : "Path to the metashader used to assign textures to the terrain entity. Note: Omit the textures/ prefix."
]
@BaseClass base(Q3MAP2_keys, Q3MAP2_terrain) = Q3MAP2 []
@BaseClass = ConstantLight
[
light(integer) : "Brightness" : 0 : "constantLight radius of .md3 model included with entity. Has no effect on the entity's brushes (default 0)."
color(color1) : "Color" : "1 1 1" : "constantLight color of .md3 model included with entity. Has no effect on the entity's brushes (default 1 1 1)."
]
@BaseClass = SoundState
[
sound1to2(sound) : "Sound 1 to 2" : : "the sound played when the door, platform or button moves from state 1 to state 2."
sound2to1(sound) : "Sound 2 to 1" : : "the sound played when the door or platform moves from from state 2 to state 1."
soundPos2(sound) : "Sound 2" : : "the sound played when the door or platform reaches state 2."
soundPos1(sound) : "Sound 1" : : "the sound played when the door or platform reaches state 1."
]
@BaseClass = Door
[
wait(string) : "Wait" : 2 : "number of seconds before door returns (default 2)"
targetname(target_source) : "Name" : : "if set, a func_button or trigger is required to activate the door."
health(string) : "Health" : 0 : "(default 0) if set to any non-zero value, the door must take damage (any amount) to activate."
team(string) : : : "assign the same team name to multiple doors that should operate together."
]
@BaseClass = TriggerTarget
[
target(target_destination) : "Target" : : "this points to the entity to activate."
]
@BaseClass = TriggerWait
[
wait(float) : "Wait" : 0.2 : "time in seconds until trigger becomes re-triggerable after it's been touched (default 0.2, -1 = trigger once)."
random(float) : "Random" : 0 : "random time variance in seconds added or subtracted from wait delay (default 0)."
]
@BaseClass = TargetName
[
targetname(target_source) : "Name" : : "activating trigger points to this."
]
@BaseClass color(0 52 255) flags(Angle) = HumanBuilding []
@BaseClass color(255 52 0) flags(Angle) = AlienBuilding []
@BaseClass = NoiseLooped
[
noise(sound) : "Noise" : : "path/name of .wav file to play. Use looping sounds only (eg. sound/world/drone6.wav)."
]
@PointClass size(-8 -8 -8, 8 8 8) iconsprite("sprites/light.spr") flags(Light) base(Light) = light : "Non-displayed point light source. The -pointscale and -scale arguments to Q3Map2 affect the brightness of these lights. The -skyscale argument affects brightness of entity sun lights." []
@PointClass size(-6 -6 -6, 6 6 6) color(0 179 77) flags(Angle) base(Light) = lightJunior : "Non-displayed point light source THAT ONLY AFFECTS ENTITIES (lightgrid). The -pointscale and -scale arguments to Q3Map2 affect the brightness of these lights. The -skyscale argument affects brightness of entity sun lights." []
@SolidClass base(NoiseLooped, Model2, Q3MAP2, ConstantLight) = func_bobbing : "Solid entity that oscillates back and forth in a linear motion. By default, it will have an amount of displacement in either direction equal to the dimension of the brush in the axis in which it's bobbing. Entity bobs on the Z axis (up-down) by default. It can also emit sound if the noise key is set. Will crush the player when blocked."
[
speed(integer) : "Speed" : 4 : "amount of time in seconds for one complete oscillation cycle (default 4)."
height(integer) : "Height" : 32 : "sets the amount of travel of the oscillation movement (default 32). "
phase(float) : "Phase" : 0 : "sets the start offset of the oscillation cycle. Values must be 0 < phase < 1. Any integer phase value is the same as no offset (default 0)."
spawnflags(flags) =
[
1 : "x_axis" : 0 : "entity will bob along the X axis."
2 : "y_axis" : 0 : "entity will bob along the Y axis."
]
]
@SolidClass base(Model2, Q3MAP2, ConstantLight) = func_button : "When a button is touched by a player, it moves in the direction set by the angle key, triggers all its targets, stays pressed by an amount of time set by the wait key, then returns to it's original position where it can be operated again."
[
angle(string) : "Angle" : : "determines the direction in which the button will move (up = -1, down = -2)."
target(target_destination) : "Target" : : "all entities with a matching targetname will be triggered."
speed(integer) : "Speed" : 40 : "speed of button's displacement (default 40)."
wait(integer) : "Wait" : 1 : "number of seconds button stays pressed (default 1, -1 = return immediately)."
lip(integer) : "Lip" : 4 : "lip remaining at end of move (default 4 units)."
health(integer) : "Health" : 0 : "(default 0) if set to any non-zero value, the button must take damage (any amount) to activate."
sound1to2(sound) : "Sound 1 to 2" : : "the sound played when the door, platform or button moves from state 1 to state 2."
]
@SolidClass base(Door, SoundState Model2, ConstantLight, Q3MAP2) = func_door : "Normal sliding door entity. By default, the door will activate when player walks close to it or when damage is inflicted to it."
[
angle(string) : "Angle" : : "determines the opening direction of door (up = -1, down = -2)."
speed(integer) : "Speed" : 100 : "determines how fast the door moves (default 100)."
lip(integer) : "Lip" : 8 : "lip remaining at end of move (default 8)"
dmg(integer) : "Damage" : 4 : "damage to inflict on player when he blocks operation of door (default 4). Door will reverse direction when blocked unless CRUSHER spawnflag is set."
spawnflags(flags) =
[
1 : "start_open" : 0 : "the door will spawn in the open state and operate in reverse."
4 : "crusher" : 0 : "door will not reverse direction when blocked and will keep damaging player until he dies or gets out of the way."
]
]
@SolidClass base(Door, SoundState Model2, ConstantLight, Q3MAP2) = func_door_model : "A model based door entity. By default, the door will activate when player walks close to it. The opening and closing of the door is provided by an animation in the model itself."
[
speed(integer) : "Speed" : 200 : "determines the time taken for the door to change state in msec (default 200)."
model2(studio) : "Model" : : "path/name of the door model (eg: models/mapobjects/pipe/pipe02.md3)."
modelOrigin(string) : "ModelOrigin" : : "means of setting the origin of the model."
scale(string) : "Scale" : : "scale the model in each of the major axes (e.g. 1.0 1.0 2.0 -- twice as high as normal)."
animation(string) : : : "The first frame and number of frames in the door open animation (e.g. 0 10). This will be reversed for the close animation."
]
@SolidClass base(Door, SoundState Model2, ConstantLight, Q3MAP2) = func_door_rotating : "Rotating door entity. By default, the door will activate when player walks close to it."
[
speed(integer) : "Speed" : : "determines how fast the door moves (in degrees/second)."
rotatorAngle(string) : "RotatorAngle" : 90 : "the number of degrees through which to rotate (default 90)."
dmg(string) : "Damage" : 4 : "damage to inflict on player when he blocks operation of door (default 4). Door will reverse direction when blocked unless CRUSHER spawnflag is set."
spawnflags(flags) =
[
1 : "start_open" : 0 : "the door will spawn in the open state and operate in reverse."
4 : "crusher" : 0 : "door will not reverse direction when blocked and will keep damaging player until he dies or gets out of the way."
8 : "reverse" : 0 : "the door will open the other way."
32 : "x_axis" : 0 : "rotate on the X axis instead of the Z."
64 : "y_axis" : 0 : "rotate on the Y axis instead of the Z."
]
]
@SolidClass base(Q3MAP2) = func_group : "This is not an entity as such. It is strictly an editor utility to group world brushes and patches together for convenience (selecting, moving, copying, etc). You cannot group entities with this."
[
terrain(string) : : : "this is an on/off flag. When set to 1, the entity becomes a terrain entity. Note: unecessary when compiling with Q3Map2. See Q3Map2 keys."
]
@SolidClass base(NoiseLooped, Model2, ConstantLight, Q3MAP2) = func_pendulum : "Solid entity that describes a pendulum back and forth rotation movement. Rotates on the X axis by default. Pendulum frequency is a physical constant based on the length of the beam and gravity. Blocking the pendulum instantly kills a player."
[
angle(string) : "Angle" : "0" : "angle offset of axis of rotation from default X axis (default 0)."
speed(integer) : "Speed" : 30 : "angle of swing arc in either direction from initial position (default 30)."
phase(float) : "Phase" : : "sets the start offset of the swinging cycle. Values must be 0 < phase < 1. Any integer phase value is the same as no offset (default 0)."
]
@SolidClass base(ConstantLight, Model2, SoundState, Q3MAP2) = func_plat : "Rising platform the player can ride to reach higher places. Plats must always be drawn in the raised position, so they will operate and be lighted correctly but they spawn in the lowered position. The plat will stay in the raised position until the player steps off. There are no proper sounds for this entity, only beep noises. It will spawn in the game and work properly but it sounds silly.\n\nBy default, the total amount of vertical travel of a platform is implicitly determined by the overall vertical size of the brushes of which it's made minus the lip value. But if the 'height' key is used, then the total amount of vertical travel of the plat will be exactly that value regardless of the shape and size of the plat and regardless of the value of the 'lip' key. Using the 'height' key is the best method for any kind of platforms and the only possible one for thin plats which need to travel vertical distances many times their own thickness. Setting the origin key is simply an alternate method to using an origin brush. When using the model2 key, the origin point of the model will correspond to the origin point defined by either the origin brush or the origin coordinate value.\n\nThere is a way to make plats play proper sounds. Just create a sound\movers\plats folder under baseq3 and put 2 sounds named pt1_strt.wav and pt1_end.wav in it. Those can be the renamed sounds from the Q2 plats or renamed copies of the sound\movers\doors sounds you can extract from your pak0.pk3 file or new custom sounds if you're up to it. Thanks to Fragzilla for the tip. Target this entity with a misc_model to have the model attached to the entity (set the model's target key to the same value as this entity's targetname)."
[
speed(integer) : "Speed" : 150 : "determines how fast the plat moves (default 150)."
lip(integer) : "Lip" : "16" : "lip remaining at end of move (default 16). Has no effect if height is set."
height(integer) : "Height" : : "if set, this will determine the total amount of vertical travel of the plat."
dmg(integer) : "Damage" : : "damage to inflict on player when he blocks operation of plat (default 4). Plat will reverse direction when blocked."
targetname(target_source) : "Name" : : "if set, the trigger that points to this will raise the plat each time it fires. The plat raises and comes back down a second later if no player is on it."
spawnflags(flags) =
[
1 : "dont_wait" : 0 : "The platform will not wait for a client to leave before returning to its original position."
]
]
@SolidClass base(NoiseLooped, Model2, ConstantLight, Q3MAP2) = func_rotating : "Solid entity that rotates continuously. Rotates on the Z axis by default and requires an origin brush. It will always start on in the game and is not targetable."
[
speed(string) : "Speed" : 100 : "determines how fast entity rotates (default 100)."
spawnflags(flags) =
[
4 : "x_axis" : 0 : "entity will rotate along the X axis."
8 : "y_axis" : 0 : "entity will rotate along the Y axis."
]
]
@SolidClass base(Model2, ConstantLight, Q3MAP2) = func_static : "Static non-solid bspmodel. Can be used for conditional walls and models." []
@PointClass size(-8 -8 -8, 8 8 8) color(0 128 205) = func_timer : "Time delay trigger that will continuously fire its targets after a preset time delay. The time delay can also be randomized. When triggered, the timer will toggle on/off.\n\nWhen the random key is set, its value is used to calculate a minimum and a maximum delay. The final time delay will be a random value anywhere between the minimum and maximum values: (min delay = wait - random) (max delay = wait + random)."
[
wait(string) : "Wait" : 1 : "delay in seconds between each triggering of its targets (default 1)."
random(string) : "Random" : 0 : "random time variance in seconds added or subtracted from wait delay (default 0)."
target(target_destination) : "Target" : : "this points to the entities to trigger."
targetname(target_source) : "Name" : : "a func_button or trigger that points to this will toggle the timer on/off when activated."
spawnflags(flags) =
[
1 : "start_on" : 0 : "timer will start on in the game and continuously fire its targets."
]
]
@SolidClass base(Model2, ConstantLight, Q3MAP2) = func_train : "Trains are moving solids that follow a string of path_corner entities. Trains in Tremulous are less basic than in Q3A, they also require an origin brush.\n\n1. Trains instakill anything in their path by default.\n2. Trains cannot emit sound.\n3. When BLOCK_STOPS is set, trains cannot be stopped just by getting in their way, the player must be wedged between the train and another obstacle to block it.\nSetting the origin key is simply an alternate method to using an origin brush. When using the model2 key, the origin point of the model will correspond to the origin point defined by either the origin brush or the origin coordinate value.\nTarget this entity with a misc_model to have the model attached to the entity (set the model's 'target' key to the same value as this entity's 'targetname')."
[
speed(string) : "Speed" : 100 : "speed of displacement of train (default 100 or overridden by speed value of path)."
target(target_destination) : "Target" : : "this points to the first path_corner of the path which is also the spawn location of the train's origin."
spawnflags(flags) =
[
1 : "start_off" : 0 : "the train will spawn in the off state"
2 : "block_stops" : 0 : "with this set a train simply stops if blocked, instead of killing."
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 128 0) = info_notnull : "Used as a positional target for entities that can use directional pointing. A target_position can be used instead of this but was kept in Q3A for legacy purposes."
[
targetname(target_source) : "Name" : : "must match the target key of entity that uses this for pointing."
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 128 0) = info_null : "Used as a positional target for light entities to create a spotlight effect. A target_position can be used instead of this but was kept in Q3A for legacy purposes."
[
targetname(target_source) : "Name" : : "must match the target key of entity that uses this for pointing."
]
@PointClass size(-8 -8 -8, 8 8 8) color(255 0 255) flags(Angle) = info_player_intermission : "Camera for intermission screen between matches. Can be aimed by setting the angles key or targeting an pointing to an aiming entity. Use only one per level."
[
angles(string) : : : "alternate pitch, yaw, roll angles method of aiming intermission camera (default 0 0 0)."
target(target_destination) : "Target" : : "point this to an info_notnull or target_position entity to set the camera's pointing angles."
]
@PointClass size(-8 -8 -8, 8 8 8) color(255 0 255) flags(Angle) = info_alien_intermission : "Camera for aliens before they spawn. Can be aimed by setting the angles key or targeting an pointing to an aiming entity. Use one per level."
[
angles(string) : : : "alternate pitch, yaw, roll angles method of aiming intermission camera (default 0 0 0)."
target(target_destination) : "Target" : : "point this to an info_notnull or target_position entity to set the camera's pointing angles."
]
@PointClass size(-8 -8 -8, 8 8 8) color(255 0 255) flags(Angle) = info_human_intermission : "Camera for humans before they spawn. Can be aimed by setting the angles key or targeting an pointing to an aiming entity. Use one per level."
[
angles(string) : : : "alternate pitch, yaw, roll angles method of aiming intermission camera (default 0 0 0)."
target(target_destination) : "Target" : : "point this to an info_notnull or target_position entity to set the camera's pointing angles."
]
@PointClass size(-16 -16 -16, 16 16 16) color(255 128 64) flags(Angle) base(Q3MAP2_keys) studio() = misc_model : "Generic placeholder for inserting MD3 models in game. Requires compilation of map geometry to be added to level. If the map is compiled with Q3Map2, then ASE, 3DS, OBJ and other model formats are supported."
[
angle(string) : "Angle" : : "direction in which model will be oriented."
model(studio) : "Model" : : "path/name of model to use (eg: models/mapobjects/teleporter/teleporter.md3)."
angles(string) : "Angles" : "0 0 0" : "Individual control of PITCH, YAW, and ROLL (default 0 0 0)."
modelscale(float) : "ModelScale" : 1.0 : "Floating-point value used to scale a model up or down (default 1.0)."
modelscale_vec(string) : "ModelScaleVector" : "1.0 1.0 1.0" : "Floating-point vector used to scale a model's axes individually (default 1.0 1.0 1.0)."
_remap(string) : "Remap" : : "Used to remap textures/shaders in the model. To remap all shaders to a given shader, use *;models/mymodel/mytexture. To remap a specific shader, use models/mymodel/old;models/mymodel/new."
target(target_destination) : "Target" : : "Used to attach the misc_model to a brush entity, where its targetname key is the same value."
AUTOCLIP(string) : : : "Sets the autoclipping spawnflag, automatically assigning q3map_clipmodel to any shaders used by the model. Use of Q3Map2 autoclipping for models is only recommended for large models with relatively few triangles in their mesh (i.e. terrain). The Q3Map2 autoclipping algorithm is a bit of a hack, and can hurt in-game performance (as well as produce erroneous clipping results) when used on small, dense models."
spawnflags(flags) =
[
1 : "castshadow" : 0 : "Toggles the model casting shadows on the map surfaces."
2 : "autoclip" : 0
4 : "forcemeta" : 0 : "Sets the forcemeta spawnflag, automatically adding q3map_forcemeta to any shaders used by the model (which, in turn, allows the model to become lightmapped). This, effectively, is the lightmapped model spawnflag."
]
]
@PointClass size(-16 -16 -16, 16 16 16) color(255 128 64) flags(Angle) = misc_anim_model : "A little like misc_model except that it is a game entity and does not become part of the map geometry. An instance of this entity will draw an arbituary md3 in the world with an arbituary frame or with an animation."
[
angle(string) : "Angle" : : "direction in which model will be oriented."
radius(float) : "Radius" : 1.0 : "The scale of the model compared to its original size. Defaults to 1.0."
animation(string) : "Animation" : : "The guts of the entity. This is identical to an entry in an animation.cfg - Start Frame, Number of frames, Looping Frames, Frame rate. For example 0 30 30 20 will play frames 0 through 30 continously at 20 fps."
model(studio) : "Model" : : "path/name of model to use (eg: models/mapobjects/teleporter/teleporter.md3)."
spawnflags(flags) =
[
1 : "trigger_toggle" : 0 : "With this set triggering the entity disables the model altogether as opposed to the regular behaviour of toggling the animation."
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(255 128 64) flags(Angle) = misc_particle_system : "A particle system entity."
[
psName(string) : "Particle system name" : : "The name of the particle system to spawn at this entity."
spawnflags(flags) =
[
1 : "spawn_disabled" : 0 : "Spawn disabled."
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(166 166 255) = misc_light_flare : "A light flare entity."
[
targetShaderName(string) : "Shader name" : : "The name of the shader of the light flare."
radius(string) : "Radius" : : "The radius key is a vector."
angles(string) : : : "This reflects which direction the flare points. It is not important unless the second component of the radius key is employed. angles is a vector of PITCH YAW ROLL. For example a value of 90 0 0 would create a flare pointing down. ROLL is redundant in this context and can be set arbitrarily."
spawnflags(flags) =
[
1 : "spawn_disabled" : 0 : "Spawn disabled."
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(255 128 64) flags(Angle) = misc_portal_camera : "Portal camera. This camera is used to project its view onto a portal surface in the level through the intermediary of a misc_portal_surface entity. Use the angles key or target a target_position or info_notnull entity to set the camera's pointing direction."
[
angles(string) : "Angles" : : "this sets the pitch and yaw aiming angles of the portal camera (default 0 0). Use roll key to set roll angle."
target(target_destination) : "Target" : : "point this to a target_position entity to set the camera's pointing direction."
targetname(target_source) : "Name" : : "a misc_portal_surface portal surface indicator must point to this."
roll(string) : "Roll" : : "roll angle of camera. A value of 0 is upside down and 180 is the same as the player's view."
spawnflags(flags) =
[
1 : "slowrotate" : 0 : "makes the portal camera rotate slowly along the roll axis."
2 : "fastrotate" : 0 : "makes the portal camera rotate faster along the roll axis."
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(255 128 64) flags(Angle) = misc_portal_surface : "Portal surface indicator. This will lock on the brush face closest to it and identify as a portal. The view displayed on the portal surface is the view of the misc_portal_camera that this entity targets. Also used for mirrors.\nThe entity must be no farther than 64 units away from the portal surface to lock onto it. To make a mirror, apply the common/mirror shader to the surface, place this entity near it but don't target a misc_portal_camera."
[
target(target_destination) : "Target" : : "point this to a misc_portal_camera that sees the view you want to display on the portal."
]
@PointClass size(-32 -32 -24, 32 32 -16) color(255 128 64) flags(Angle) = misc_teleporter_dest : "Teleport destination location point for trigger_teleporter entities."
[
angle(string) : "Angle" : : "direction in which player will look when teleported."
targetname(target_source) : "Name" : : "make the trigger_teleporter point to this."
]
@PointClass size(-8 -8 -8, 8 8 8) color(128 77 0) flags(Angle) = path_corner : "Path corner entity that func_trains can be made to follow."
[
target(target_destination) : "Target" : : "point to next path_corner in the path."
targetname(target_source) : "Name" : : "the train following the path or the previous path_corner in the path points to this."
speed(integer) : "Speed" : : "speed of func_train while moving to the next path corner. This will override the speed value of the train."
wait(integer) : "Wait" : 0 : "number of seconds func_train will pause on path corner before moving to next path corner."
]
@PointClass size(-8 -8 -8, 8 8 8) color(255 0 0) = target_rumble : "When triggered, this initiates a level-wide rumble effect. All players are affected."
[
speed(integer) : "Speed" : 100 : "severity of the quake (default: 100)"
count(integer) : "Count" : 10 : "duration of the quake (default: 10)"
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 179 179) base(TargetName, TriggerTarget) = target_delay : "Time delay trigger intermediary. Like a target_relay, this can only be fired by other triggers which will cause it in turn to fire its own targets."
[
wait(float) : "Wait" : : "delay in seconds from when this gets triggered to when it fires its own targets (default approx. 1)."
delay(float) : "Delay" : : "same as wait? replaces it? WTF?...I'm confused now."
random(float) : "Random" : 0 : "random time variance in seconds added or subtracted from wait delay (default 0)."
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 128 0) base(TargetName) = target_kill : "This will kill the player who activates the trigger that fires this target." []
@PointClass size(-8 -8 -8, 8 8 8) color(0 128 0) = target_location : "Location marker used for team chats. The closest target_location in sight is used for the location. If none is in sight, the closest in distance is used."
[
message(string) : "Message" : : "name of the location (text string). Displayed in parentheses in front of all team chat and order messages."
count(integer) : "Count" : : "color of the location text displayed in parentheses during team chat. Set to 0-7 for color."
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 128 0) = target_position : "Aiming target for entities like light, misc_portal_camera and trigger_push (jump pads) in particular."
[
targetname(target_source) : "Name" : : "the entity that requires an aiming direction points to this."
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 128 0) base(TargetName) = target_print : "This will print a message on the center of the screen when triggered. By default, all the clients will see the message."
[
message(string) : "Message" : : "text string to print on screen."
spawnflags(flags) =
[
1 : "human_team" : 0 : "only the human team players will see the message."
2 : "alien_team" : 0 : "only the alien team players will see the message."
4 : "private" : 0 : "only the player that activates the target will see the message."
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(128 128 128) flags(Angle) = target_push : "This can be used to create jump pads and launch ramps. The direction of push can be set by the angles key or pointing to a target_position or info_notnull entity. Unlike trigger_push, this is NOT client side predicted and must be activated by a trigger."
[
angles(string) : "Angles" : : "this sets the pitch and yaw aiming angles of push entity (default 0 0). The roll angle does not apply."
speed(integer) : "Speed" : 1000 : "speed of push (default 1000). Has no effect if entity targets an aiming entity."
targetname(target_source) : "Name" : : "the activating trigger points to this. Push originates from the location of the trigger."
target(target_destination) : "Target" : : "this points to the aiming entity to which the player will jump."
spawnflags(flags) =
[
1 : "bouncepad" : 0 : "if set, trigger will play bounce noise instead of beep noise when activated (recommended)."
2 : "nosound" : 0 : "if set, no sound is played at all"
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 179 179) base(TargetName, TriggerTarget) = target_relay : "This can only be activated by other triggers which will cause it in turn to activate its own targets."
[
spawnflags(flags) =
[
1 : "human_only" : 0 : "only human team players can activate trigger."
2 : "alien_only" : 0 : "only alien team players can activate trigger."
4 : "random" : 0 : "one one of the targeted entities will be triggered at random."
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 128 0) base(TargetName) = target_score : "This is used to automatically give frag points to the player who activates this. A spawn location entity like info_player_* or CTF respawn points can target this entity to give points to the player when he spawns in the game. Or a trigger can also be used to activate this. The activator of the trigger will get the points."
[
count(integer) : "Count" : 1 : "number of frag points to give to player (default 1)."
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 179 179) base(TargetName) = target_speaker : "Sound generating entity that plays .wav files. Normal non-looping sounds play each time the target_speaker is triggered. Looping sounds can be set to play by themselves (no activating trigger) or be toggled on/off by a trigger."
[
noise(sound) : "Noise" : : "path/name of .wav file to play (eg. sound/world/growl1.wav)."
wait(float) : "Wait" : : "delay in seconds between each time the sound is played (random key must be set)."
random(float) : "Random" : : "random time variance in seconds added or subtracted from wait delay (wait key must be set)."
spawnflags(flags) =
[
1 : "looped_on" : 0 : "sound will loop and initially start on in level (will toggle on/off when triggered)."
2 : "looped_off" : 0 : "sound will loop and initially start off in level (will toggle on/off when triggered)."
4 : "global" : 0 : "sound will play full volume throughout the level."
8 : "activator" : 0 : "sound will play only for the player that activated the target."
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(0 128 0) flags(Angle) base(TargetName, TriggerTarget) = target_teleporter : "Activating this will teleport players to the location of the targeted misc_teleporter_dest entity. Unlike trigger_teleport, this entity must be activated by a trigger and does NOT allow client prediction of events." []
@PointClass size(-8 -8 -8, 8 8 8) color(255 52 0) base(TargetName) = target_alien_win : "When triggered, this causes an unconditional win for the alien team." []
@PointClass size(-8 -8 -8, 8 8 8) color(0 52 255) base(TargetName) = target_human_win : "When triggered, this causes an unconditional win for the human team." []
@PointClass size(-8 -8 -8, 8 8 8) color(224 52 0) base(TargetName) = target_hurt : "When triggered, this hurts the entity that caused the trigger."
[
dmg(integer) : "Damage" : 5 : "amount of damage to deal (default: 5)"
]
@PointClass size(-40 -40 -4, 40 40 4) base(HumanBuilding) studio("models/buildables/telenode/telenode.md3") offset(0 0 6) = team_human_spawn : "The human spawn point." []
@PointClass size(-40 -40 -13, 40 40 50) base(HumanBuilding) studio("models/buildables/arm/arm.md3") offset(0 0 14) = team_human_armoury : "The human armoury." []
@PointClass size(-35 -35 -13, 35 35 47) base(HumanBuilding) studio("models/buildables/dcc/dcc.md3") offset(0 0 14) = team_human_dcc : "The human defense computer." []
@PointClass size(-35 -35 -7, 35 35 7) base(HumanBuilding) studio("models/buildables/medistat/medistat.md3") offset(0 0 10) = team_human_medistat : "The human medical station." []
@PointClass size(-25 -25 -20, 25 25 20) base(HumanBuilding) studio("models/buildables/mgturret/mgturret.md3") offset(0 0 22) = team_human_mgturret : "The human machinegun turret." []
@PointClass size(-50 -50 -15, 50 50 95) base(HumanBuilding) studio("models/buildables/reactor/reactor.md3") offset(0 0 18) = team_human_reactor : "The human reactor." []
@PointClass size(-15 -15 -15, 15 15 25) base(HumanBuilding) studio("models/buildables/repeater/repeater.md3") offset(0 0 16) = team_human_repeater : "The human repeater." []
@PointClass size(-22 -22 -40, 22 22 40) base(HumanBuilding) studio("models/buildables/tesla/tesla.md3") offset(0 0 42) = team_human_tesla : "The human tesla generator." []
@PointClass size(-15 -15 -15, 15 15 15) base(AlienBuilding) studio("models/buildables/eggpod/eggpod.md3") offset(0 0 16) = team_alien_spawn : "The alien spawn point." []
@PointClass size(-25 -25 -25, 25 25 25) base(AlienBuilding) studio("models/buildables/acid_tube/acid_tube.md3") offset(0 0 16) = team_alien_acid_tube : "The alien acid tube." []
@PointClass size(-35 -35 -15, 35 35 60) base(AlienBuilding) studio("models/buildables/barricade/barricade.md3") offset(0 0 20) = team_alien_barricade : "The alien barricade." []
@PointClass size(-26 -26 -9, 26 26 9) base(AlienBuilding) studio("models/buildables/booster/booster.md3") offset(0 0 12) = team_alien_booster : "The alien booster." []
@PointClass size(-50 -50 -20, 50 50 20) base(AlienBuilding) studio("models/buildables/hovel/hovel.md3") offset(0 0 24) = team_alien_hovel : "The alien hovel." []
@PointClass size(-45 -45 -15, 45 45 95) base(AlienBuilding) studio("models/buildables/overmind/overmind.md3") offset(0 0 18) = team_alien_overmind : "The alien overmind." []
@PointClass size(-15 -15 -15, 15 15 15) base(AlienBuilding) studio("models/buildables/trapper/trapper.md3") offset(0 0 18) = team_alien_trapper : "The alien trapper." []
@PointClass size(-35 -35 -25, 35 35 25) base(AlienBuilding) studio("models/buildables/hive/hive.md3") offset(0 0 28) = team_alien_hive : "The alien hive." []
@SolidClass = trigger_heal : "Any player that touches this will be healed. It does heal points of healage each server frame. Targeting the trigger will toggle its effects."
[
heal(integer) : "Heal" : 5 : "Health points to heal (default 5)"
spawnflags(flags) =
[
1 : "start_off" : 0 : "needs to be triggered (toggle) to activate."
2 : "slow" : 0 : "changes the heal rate to once per second."
]
]
@SolidClass = trigger_ammo : "Any player that touches this will have the ammo for his held weapon restored. It gives ammo in chunks reflected by the key ammo each server frame."
[
ammo(integer) : "Ammo amount" : 1 : "Amount of ammo to give (default 1)"
spawnflags(flags) =
[
1 : "slow" : 0 : "changes the ammo rate to once per second."
2 : "noenergy" : 0 : "disables this entity for energy weapons."
4 : "nocase" : 0 : "disables this entity for case based weapons."
]
]
@SolidClass = trigger_gravity : "The gravity (for players) within this trigger is determined by the gravity key. Targetting this entity toggles its effects."
[
gravity(integer) : "Gravity" : 800 : "The gravity within this trigger (default 800)."
]
@SolidClass base(TriggerTarget, TriggerWait) = trigger_buildable : "Triggered by a buildable or subset of buildables. If no buildables key is supplied every buildable will trigger this entity."
[
buildables(string) : "Buildables" : : "a comma delimited list of buildables which will trigger this entity."
spawnflags(flags) =
[
1 : "spawn_disabled" : 0 : "needs to be triggered (toggle) to activate."
2 : "negate" : 0 : "negate the trigger condition."
]
]
@SolidClass base(TriggerTarget, TriggerWait) = trigger_class : "Triggered by a specific class or subset of classes. If no classes key is supplied every class will trigger this entity."
[
classes(string) : "Classes" : : "a comma delimited list of classes which will trigger this entity."
spawnflags(flags) =
[
1 : "spawn_disabled" : 0 : "needs to be triggered (toggle) to activate."
2 : "negate" : 0 : "negate the trigger condition."
]
]
@SolidClass base(TriggerTarget, TriggerWait) = trigger_equipment : "Triggered by a player carrying some item (weapon or upgrade) or subset of items. If no equipment key is supplied every human will trigger this entity."
[
equipment(string) : "Equipment" : : "a comma delimited list of equipment which will trigger this entity."
spawnflags(flags) =
[
1 : "spawn_disabled" : 0 : "needs to be triggered (toggle) to activate."
2 : "negate" : 0 : "negate the trigger condition."
]
]
@PointClass size(-8 -8 -8, 8 8 8) color(128 128 128) base(TriggerTarget) = trigger_stage : "Fires its targets when the team key reaches stage key."
[
team(string) : "Team" : : "the team which triggers this entity; 1 for aliens, 2 for humans"
stage(integer) : "Stage" : : "the stage at which this entity is triggered; 1 for stage 2, 2 for stage 3"
]
@PointClass size(-8 -8 -8, 8 8 8) color(128 128 128) base(TriggerTarget) = trigger_win : "Fires its targets when the team key wins."
[
team(string) : "Team" : : "the team which triggers this entity; 1 for aliens, 2 for humans"
]
@PointClass size(-8 -8 -8, 8 8 8) color(128 128 128) base(TriggerTarget) = trigger_always : "Automatic trigger. It will fire the entities it targets as soon as it spawns in the game." []
@SolidClass = trigger_hurt : "Any player that touches this will be hurt by dmg points of damage once per server frame (very fast). A sizzling sound is also played while the player is being hurt."
[
dmg(integer) : "Damage" : 5 : "number of points of damage inflicted to player per server frame (default 5 - integer values only)."
spawnflags(flags) =
[
1 : "start_off" : 0
4 : "silent" : 0 : "supresses the sizzling sound while player is being hurt."
8 : "no_protection" : 0 : "player will be hurt regardless of protection."
16 : "slow" : 0 : "changes the damage rate to once per second."
]
]
@SolidClass base(TriggerTarget, TriggerWait) = trigger_multiple : "Variable size repeatable trigger. It will fire the entities it targets when touched by player. Can be made to operate like a trigger_once entity by setting the wait key to -1. It can also be activated by another trigger that targets it."
[
targetname(target_source) : "Name" : : "activating trigger points to this."
]
@SolidClass = trigger_push : "This is used to create jump pads and launch ramps. It MUST point to a target_position or info_notnull entity to work. Unlike target_push, this is client side predicted."
[
target(target_destination) : "Target" : : "this points to the target_position to which the player will jump."
]
@SolidClass = trigger_teleport : "Touching this will teleport players to the location of the targeted misc_teleporter_dest entity. This entity allows client prediction of events."
[
target(target_destination) : "Target" : : "this must point to a misc_teleporter_dest entity."
spawnflags(flags) =
[
1 : "spectator" : 0 : "only spectators can use this teleport."
2 : "spawn_disabled" : 0
]
]
@SolidClass flags(Angle) = worldspawn : "Only used for the world."
[
message(string) : : : "text to print at user logon. Used for name of level."
music(string) : : : "path/name of looping .wav file used for level's music (eg. music/sonic5.wav)."
humanBuildPoints(string) : : : "The maximum amount of power the humans can use. Defaults to 1000."
humanMaxStage(string) : : : "The highest stage the humans are allowed to use [0/1/2]. Defaults to 2."
humanStage2Threshold(string) : : : "The number of kills the humans must aquire to advance to stage 2. Defaults to 50."
humanStage3Threshold(string) : : : "The number of kills the humans must aquire to advance to stage 3. Defaults to 100."
alienBuildPoints(string) : : : "The maximum amount of sentience available to the overmind. Defaults to 1000."
alienMaxStage(string) : : : "The highest stage the aliens are allowed to use [0/1/2]. Defaults to 2."
alienStage2Threshold(string) : : : "The number of kills the aliens must aquire to advance to stage 2. Defaults to 50."
alienStage3Threshold(string) : : : "The number of kills the aliens must aquire to advance to stage 3. Defaults to 100."
disabledEquipment(string) : : : "A comma delimited list of human weapons or upgrades to disable for this map."
disabledClasses(string) : : : "A comma delimited list of alien classes to disable for this map."
disabledBuildables(string) : : : "A comma delimited list of buildables to disable for this map."
ambient(string) : : : "Adds a constant value to overall lighting. Use is not recommended. Ambient light will have a tendency to flatten out variations in light and shade."
_color(color1) : "RGB color" : "1 1 0.5" : "RGB value for ambient light color (default is 0 0 0)."
gravity(string) : : : "gravity of level (default is normal gravity: 800)."
gridsize(string) : : : "granularity of the lightgrid created by q3map. Value is three integers separated by spaces, representing number of units between grid points in X Y Z. Default gridsize value is 128 128 256. Use larger powers of 2 to reduce BSP size and compile time on very large maps."
_blocksize(string) : : : "q3map always splits the BSP tree along the planes X=_blocksize*n and Y=_blocksize*n. Default _blocksize value is 1024. Increase the blocksize using larger powers of 2 to reduce compile times on very large maps with a low structural brush density."
_minlight(string) : : : "Minimum light value, levelwide. Uses the _color key to set color. Does not add unlike ambient."
_minvertexlight(string) : : : "Minimum vertex lighting, levelwide."
_mingridlight(string) : : : "Minimum lightgrid (dynamic entity lighting) levelwide."
_keeplights(string) : : : "Keep light entities in the BSP. Normally stripped out by the BSP process and read from the .map file by the lighting phase."
_noshadersun(string) : : : "Ignore q3map_sun/sun directives in sky shaders and ONLY use entity sun lights."
_farplanedist(string) : : : "Limit on how many units the vis phase of compilation can see. Used in combination with level-wide fog, it can help reduce r_speeds on large, open maps."
_foghull(string) : : : "Shader to use for fog hull. Foghull shader should be a sky shader. Omit the textures/ prefix."
_lightmapscale(string) : : : "Floating point value scaling the resolution of lightmaps on brushes/patches in the world. Can be overridden in func_group (or other entities) (default 1.0)."
_castshadows(string) : : : "Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world."
_receiveshadows(string) : : : "Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities."
_celshader(string) : : : "Sets the cel shader used for this geometry. Note: omit the textures/ prefix. Overridable in entities."
alphamap(string) : : : "Path/name for the art file used to guide the mapping of textures on the terrain surface."
layers(string) : : : "Integer value is the number unique root shaders that will be use on the terrain."
shader(string) : : : "Path to the metashader used to assign textures to the terrain entity. Note: Omit the textures/ prefix."
]