Spirit Entity Guide
Spirit Entity Guide
Version 1.2 (18th November 2003
)
Legend:
indicates features unique to Spirit.
indicates features new to version 1.2.
General Information:
For any "target" type value, you can use a "+" or "-" prefix to
specify that the target should be turned on or off, respectively.
(e.g. suppose you have an entity which targets "mylight". If you tell it
to target "+mylight" instead, then it will only turn the light on, never
off.)
Similarly, for any Master, you can invert the master relationship (that
is, you can disable the entity whenever the master is on) by
adding a tilde (~) at the start of the master's name.
When testing your level, it's sometimes helpful to be able to trigger
entities manually. To trigger an entity named "mydoor", you can simply
type "fire mydoor" at the console.
Similarly, if you just type "fire", you will trigger whatever entity the
player is aiming at.
NB: this command will only work if sv_cheats is set to 1.
Contents:
worldspawn
aiscripted_sequence
ambient_generic
ammo_ entities
button_target
calc_ entities
cycler_ entities
env_ entities
func_ entities
game_ entities
gibshooter
hud_sprite
infodecal
info_ entities
item_ entities
light_ entities
momentary_ entities
locus_ entities
monster_ entities
monstermaker
motion_manager
multisource
multi_ entities
path_ entities
player_ entities
scripted_ entities
speaker
target_cdaudio
trigger_ entities
watcher_ entities
weapon_ entities
world_items
xen_ entities
worldspawn: World entity
Edit Worldspawn's properties from the map menu ["Map \ Map Properties..."]
- message:
Map Description / Title
- skyname:
environment map (cl_skyname)
- sounds:
CD track to play
- light:
Default light level
- WaveHeight:
Default Wave Height
- MaxRange:
Max viewable distance
- chaptertitle:
Chapter Title Message
- startdark:
Level Fade In
- gametitle:
Display 'Half-Life' title?
- newunit:
Flush global entities?
- No, keep global ents
- Yes, flush global ents
- mapteams:
Map Team List
- defaultteam:
Default Team
- Fewest Players
- First Team
- startsuit:
HEV from start
Yes means the player will start this level wearing an HEV suit.
- allowmonsters:
Allow Monsters (MP only)
Yes means that monsters will appear in multiplayer games. This has no effect in a single player level.
aiscripted_sequence: AI Scripted Sequence
Obsolete. Use scripted_sequence. (The only difference between them is that aiscripted_sequence
effectively has its "Override AI" flag ticked all the time.
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- target:
Target (fire when done)
- delay:
Delay before firing target
- killtarget:
KillTarget when done
- m_iszFireOnBegin:
Fire after moving
When the animation starts, this target will be triggered. (The standard 'target' value is triggered only when the sequence ends.)
This is useful to let you have special effects etc triggered during the animation.
- m_iszEntity:
Target Monster [LE]
Specify either a classname (e.g. monster_barney) or a targetname to look for.
- m_flRadius:
Search Radius
If "Target Monster" is a classname, the game picks a random monster of that type from within this
search radius.
- m_iPriority:
Priority
- m_iFinishSchedule:
AI Schedule when done
- m_iRepeats:
Repeat action X more times
- m_fRepeatFrame:
Repeat from frame
- m_iszMoveTarget:
Move target (blank = this) [LE]
- m_fMoveTo:
Move to Position
- m_iszAttack:
Turn target (blank = this) [LE]
If you specify a classname (e.g. monster_barney) here, the script will choose a random entity of that
type.
- m_fTurnType:
Turn mode
- m_iszPlay:
Action Animation
Animation to play after moving. Note that a monster_generic won't add any sounds or
special effects to its animations. If you need those to appear, you'll have to use the
specific monster_<whatever> entities, instead.
- m_iszIdle:
Idle Animation
If you specify an idle animation, then when the level begins the monster will be frozen and made
to play that animation (this is the main use for the idle animation in Valve's levels). After that
the monster will play the action animation when you trigger the sequence, and will then revert to its
normal AI.
If there are any other scripted_sequences with the same name as this one, then the monster will also play the "idle" animation
while it's waiting for the other sequences to be ready to start.
And finally, if the action animation is the same as the idle animation, then any time the monster would be playing the idle
animation, instead it will be frozen.
Obvious, eh? ;)
- spawnflags:
ambient_generic: Universal Ambient
- targetname:
Name
- movewith:
Moves with
- message:
WAV Name (e.g. vox/c.wav)
- health:
Volume (10 = loudest)
- target:
Entity to play from
The entity you name here will play the sound, instead of the ambient_generic doing so itself.
Be aware that if the entity is playing another sound on the same channel, they will interfere
with each other.
- channel:
Channel to use for that entity
- Weapon
- Voice
If a monster's model has a mouth, and you play a sound on its "voice" channel,
the mouth will automatically move.
- Item
- Body
- Stream
- Static
- preset:
Dynamic Presets
- None
- Huge Machine
- Big Machine
- Machine
- Slow Fade in
- Fade in
- Quick Fade in
- Slow Pulse
- Pulse
- Quick pulse
- Slow Oscillator
- Oscillator
- Quick Oscillator
- Grunge pitch
- Very low pitch
- Low pitch
- High pitch
- Very high pitch
- Screaming pitch
- Oscillate spinup/down
- Pulse spinup/down
- Random pitch
- Random pitch fast
- Incremental Spinup
- Alien
- Bizzare
- Planet X
- Haunted
- volstart:
Start Volume
- fadein:
Fade in time (0-100)
- fadeout:
Fade out time (0-100)
- pitch:
Pitch (> 100 = higher)
- pitchstart:
Start Pitch
- spinup:
Spin up time (0-100)
- spindown:
Spin down time (0-100)
- lfotype:
LFO type (0 - 3)
- Off
- Square
- Triangle
- Round
- lforate:
LFO rate (0-1000)
- lfomodpitch:
LFO mod pitch (0-100)
- lfomodvol:
LFO mod vol (0-100)
- cspinup:
Incremental spinup count
- spawnflags:
- Play Everywhere
- Small Radius
- Medium Radius
Medium is the default radius, so ticking this does nothing.
(These should really be chosen from a pull-down menu.)
- Large Radius
- Start Silent
- Is NOT Looped
ammo_357: 357 Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
ammo_9mmAR: 9mm Assault Rifle Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
ammo_9mmbox: box of 200 9mm shells
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
ammo_9mmclip: 9mm Pistol Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
ammo_ARgrenades: Assault Grenades
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
ammo_buckshot: Shotgun Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
ammo_crossbow: Crossbow Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
ammo_gaussclip: Gauss Gun Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
ammo_rpgclip: RPG Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
button_target: Target Button
This entity is probably obsolete, now that func_button has a "Can't Use" flag.
- target:
Target
- master:
Master
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- movewith:
Moves with
- spawnflags:
calc_position: Calculate position
To use this, simply refer to it in any field that's designated [LP].
- targetname:
Name
- netname:
Entity to use [LE]
- impulse:
Position to calculate
- Origin
- Eyes
- Top
- Centre
- Bottom
- Attachment point 0
- Attachment point 1
- Attachment point 2
- Attachment point 3
- Random
Return a random point from within the entity's bounding box.
- message:
Add offset [LV]
calc_ratio: Ratio adjustment
To use this, simply refer to it in any field that's designated [LR].
- targetname:
Name
- target:
Based on ratio [LR]
- impulse:
Transformation
- None
- Reversed (1-X)
- Negative (-X)
- Reciprocal (1/X)
- netname:
Offset by [LR]
- message:
Scale factor [LR]
- noise:
Min (blank = none) [LR]
- noise1:
Max (blank = none) [LR]
- frags:
If outside range
- Pick nearest value
e.g. if the range were 0%-100%, and the value were 120%, the result would be 100%.
- Wrap around
In the case above, the result would be 20%.
- Bounce back
In the case above, the result would be 80%.
calc_subvelocity: Calculate velocity based on entity properties
To use this, simply refer to it in any field that's designated [LV].
- targetname:
Name
- netname:
Entity to use [LE]
- impulse:
Value to calculate from
- Movement Velocity
- Angle
- View Angle
- Attachment point 0
- Attachment point 1
- Attachment point 2
- Attachment point 3
- noise:
Scale factor [LR]
- message:
Add offset [LV]
- spawnflags:
calc_velocity_path: Calculate velocity for travelling
To use this, simply refer to it in any field that's designated [LV].
This calculates the velocity that would be needed to travel from one point to another.
By default, things will take 0.1 seconds to travel this distance. (Use the "length
factor" setting to change this.)
This can also be used to calculate (for example) where a beam's endpoint should
be, in order for it to point towards a given location.
- targetname:
Name
- target:
Start position [LP]
- netname:
Destination
- armorvalue:
Destination is
- Position [LP]
The destination is the end position.
- Offset [LV]
To find the end position, add this offset to the start position.
- health:
Length Calculation
- Square (X = X*X)
- None (X = X)
- Normalise (X = 1)
With this choice, the actual distance between the points is ignored.
So instead of taking a fixed time to travel, the object will move at
a fixed speed, or the beam will extend a fixed distance.
- Reciprocal (X = 1/X)
- Inverse Square (X = 1/X*X)
- noise:
Length factor [LR]
E.g: 2.0 will specify "twice as fast/twice as far", and
0.5 will specify "half as fast/half as far".
A negative number here will make the line go in the opposite direction.
- frags:
Line is blocked by
If this is set, a line will be drawn from the start position to the end
position. The first obstacle it hits will then be used as the new end
position.
- Nothing
- Walls
- Walls & Glass
- Walls & Monsters
- Walls, Monsters & Glass
calc_velocity_polar: Calculate velocity
To use this, simply refer to it in any field that's designated [LV].
- targetname:
Name
- netname:
Based on velocity [LV]
- angles:
Rotated by angle (Y Z X)
Rotate the velocity by this amount.
- noise:
Length factor [LR]
Scale the velocity by this factor.
E.g: 2.0 will specify "twice as fast/twice as far", and
0.5 will specify "half as fast/half as far".
- message:
Add offset [LV]
After rotation and scaling, add this offset to the velocity.
- spawnflags:
- Normalize
The "length factor" field will set the exact length of the velocity,
instead of scaling it by a factor.
cycler: Monster Cycler
- targetname:
Name
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- movewith:
Moves with
- model:
Model
cycler_sprite: Sprite Cycler
- targetname:
Name
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- movewith:
Moves with
- model:
Sprite
- framerate:
Frames per second
cycler_weapon: Weapon Cycler
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- movewith:
Moves with
- spawnflags:
env_beam: Energy Beam Effect
- targetname:
Name
- LightningStart:
Start Entity
- LightningEnd:
Ending Entity
- renderfx:
Render FX
- renderamt:
Brightness (1 - 255)
- rendercolor:
Beam Color (R G B)
- Radius:
Radius
If you only give the beam one endpoint, then radius will specify how
far away the other endpoint should be (randomly) placed.
- life:
Life (seconds 0 = infinite)
- BoltWidth:
Width of beam (pixels*0.1 0-255)
- NoiseAmplitude:
Distortion (0-255)
- texture:
Sprite Name
- TextureScroll:
Texture Scroll Rate (0-100)
- framerate:
Frames per 10 seconds
- framestart:
Starting Frame
- StrikeTime:
Strike again time (-1 = never)
- damage:
Damage / second
If you use a negative number for the damage, it'll now heal the target.
- frags:
Damage type
- Energy Beam
- Fracture
- Bullet ('blood loss')
- Lacerations
- Burning
- Freezing
- Crowbar
- Electric shock
- Sonic ('internal bleeding')
- Drowning
- Biohazard
- Poison (duration)
- Radiation
- Hazardous chemical
- target:
Fire on trip
- netname:
Tripped only by entity
- spawnflags:
- Start On
This is the default unless you specify a name.
- Toggle
- Random Strike
- Ring
Makes the beam form a circle, with a diameter that stretches between the two endpoints.
For some unknown reason, both endpoints must have a model.
NB: because the beam will stretch between the origins of the two entities, you'll
need to give each endpoint an origin brush.
- StartSparks
- EndSparks
- Decal End
- Fade Start
The beam fades in from nothing, like a tracer bullet.
- Fade End
- Draw Solid
For making a rope, etc.
NB: this flag will be ignored unless the beam's Life is 0.
This also won't work on a Ring beam.
- Draw Sine
env_beamtrail: Beam trail effect

If you specify an "entity to trail", a trail will be attached or removed from the entity you
specify. The trail will turn off automatically if the
entity remains stationary for a few seconds, or alternatively you can turn it on and off by
triggering the env_beamtrail.
If you don't specify an "entity to trail", the env_beamtrail itself will have a trail; in that case
you probably want to tell it what entity it should MoveWith.
Neither version will do anything if the trailed entity isn't moving when you activate the trail.
The trail effect doesn't correspond exactly to with the movement of the entity, so don't expect too
much from it. We're not mapping for UT2003 here.
- targetname:
Name
- movewith:
Moves with
- target:
Entity to trail (blank = this) [LE]
- netname:
Sprite Name
- renderamt:
Brightness (1 - 255)
- rendercolor:
Color (R G B)
- armorvalue:
Width
- health:
Fade time (secs)
- spawnflags:
env_beverage: Beverage Dispenser
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- target:
Initial position (blank = here) [LP]
- health:
Capacity
- skin:
Beverage Type
- Coca-Cola
- Sprite
- Diet Coke
- Orange
- Surge
- Moxie
- Random
env_blood: Blood Effects
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- target:
Initial position (blank = here) [LP]
- netname:
Direction (blank = angles) [LV]
- color:
Blood Color
- Red (Human)
- Yellow (Alien)
- amount:
Amount of blood (damage to simulate)
- spawnflags:
- Random Direction
- Blood Stream
- On Player
- Spray decals
env_bubbles: Bubble Volume
Bubbles cannot drift sideways with this entity; use an env_model and
"models/pipe_bubbles.mdl" instead.
- targetname:
Name
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- movewith:
Moves with
- density:
Bubble density
- frequency:
Bubble frequency
- current:
Speed of Current
- spawnflags:
env_customize: Change entity properties
Works like an env_render : you trigger it to change the properties of the target.
- targetname:
Name
Leave this blank to have it take effect as soon as the level starts.
- target:
Target to affect [LE]
You can also specify a classname here, e.g. monster_barney.
- m_flRadius:
Search Radius
If the target is a classname, the game picks a random monster of that type from within this
search radius. This has no effect if the target is anything except a classname.
- body:
Set body
Player: 0 = gordon's head, 1 = helmeted.
Gina, Gordon, Helmet and Scientist player models: 0 = original design, 1 = updated (better looking) version.
Barneys: 0 = holstered gun, 1 = holding gun, 2 = missing gun.
Scientists: 0-3 = no syringe, 4-7 = syringe in hand. 4 different heads in each set. (0 = Glasses, 1 = Einstein, 2 = Luther, 3 = Slick)
Human Grunts: 0-3 = Mp5, 4-7 = Shotgun, 8-11 = No gun. 4 different heads in each set. (0 = Gasmask, 1 = Beret, 2 = Skimask, 3 = Cigar)
Note that this entity can only change their appearance- for example, grunts who had shotguns will still fire shotgun rounds.
- skin:
Set skin
Scientists and Human Grunts: 1 = black skin.
Bullsquids, Houndeyes, Slaves: 1 = eyes shut.
Ichthyosaur: 0-4 = different eye positions.
- No change
- Toggle 0/1
- Skin 0 (normal)
- Skin 1
- Skin 2
- Skin 3
- frame:
Set brush texture
If the target is a brush entity with a switchable texture (one with both a +0 version and
a +A version), then this switches between the two versions.
If the entity has switchable texlights on it, this will also turn those lights on and off.
- No change
- Toggle 0/1
- Texture 0 (normal)
- Texture 1 (alternate)
- On/Off based on usetype
With this set, triggering the env_customize On makes the target
use its normal texture, and Off makes it use the alternate one.
- Off/On based on usetype
The opposite of the previous setting; On sets the alternate texture,
Off sets the normal one.
- m_iszModel:
Set model (e.g. models/can.mdl)
Use this setting with caution - a lot of a monster's behaviour is
determined by its model. (You should be safe if the new model is just
a set of different textures.)
- m_bloodColor:
Blood Color
- No change
- Don't Bleed
- Red (Human)
- Yellow (Alien)
- m_voicePitch:
Voice Pitch (100 = normal)
Change the pitch of the monster's voice (100 = normal pitch, higher numbers = higher pitch)
- m_fFramerate:
Frame rate (-1 = no change)
>1 = fast
1 = normal speed
0..1 = slow
0 = stop
-1 = no change
- m_fController0:
Bone controller 0
Sets:
agrunt.mdl: head position (45..-45)
hgrunt.mdl: head position (70..-70)
barney.mdl, gman.mdl, islave.mdl, scientist.mdl: head position (60..-60)
apache.mdl: gun yaw (90..-90)
barnacle.mdl: tongue length (0..-1024)
garg.mdl: body yaw (60..-60)
osprey.mdl: rotor angle (0..-90)
icky.mdl: tail position (45..-45)
miniturret.mdl, sentry.mdl, turret.mdl: gun yaw (0..360)
- m_fController1:
Bone controller 1
Sets:
apache.mdl: gun pitch (45..-10)
(mini)turret.mdl: gun pitch (15..-90)
sentry.mdl: gun pitch (60..-60)
garg.mdl: body pitch (35..-35)
- m_fController2:
Bone controller 2
In the standard models, this does nothing. Supplied for the benefit of
user-produced models.
- m_fController3:
Bone controller 3
In the standard models, this does nothing. Supplied for the benefit of
user-produced models.
- m_iClass:
Set behaviour
- No change
- Scientist
Likes players and barneys; hates Human Military and most aliens; scared of Alien Military and Bullsquids.
- Barney
Likes players and scientists; dislikes Machines, Human Military, and all aliens.
- Human Military
Dislikes scientists and most aliens. Hates players, barneys and Alien Military.
- Machine (Human Military)
Machines go clang when hit, and never gib. Bioweapons (Snarks and Hornets) ignore them.
Otherwise, they're pretty much like Human Military.
- Alien Military
Hates players and Human Military. Dislikes Machines, scientists and barneys.
- Other Alien
Dislikes Machines and all humans.
- Headcrab
Dislikes all humans. Scared of Bullsquids.
- Bullsquid
Hates Headcrabs. Dislikes humans and other Bullsquids.
- Faction A
Dislikes everyone, except other Faction A members.
- Faction B
Dislikes everyone, except other Faction B members.
- Faction C
Dislikes everyone, except other Faction C members.
- m_iPlayerReact:
Reaction to player
Replaces the old "Player Ally" flag.
- No Change
- Normal
That is, normal for the monster's current behaviour.
- Ignore
- Friendly until hurt
Scientists usually use this behaviour. The monster will
stop being friendly when hurt by the player, regardless of
how. (e.g. even if they stupidly ran into the middle of a firefight.)
- Friendly unless provoked
Barneys usually use this behaviour. The monster will
stop being friendly when shot deliberately by the player,
but not when (for instance) caught in grenade explosions, or in the
middle of combat.
- Enemy
- m_iVisible:
Visibility
If you want the entity to be partly transparent, use env_render instead.
- No change
- Visible
- Invisible
- Toggle
- On/Off based on usetype
Trigger the env_customize On for visible, and Off for invisible.
- Off/On based on usetype
Trigger the env_customize Off for visible, and On for invisible.
- m_iSolid:
Solidity
Currently, this will cause problems if used to solidify a non-monster,
non-brush entity.
Note that a func_ladder will still act as a ladder if you make it
non-solid.
- No change
- Solid
- Not Solid
- Toggle
- On/Off based on usetype
Trigger the env_customize On for solid, and Off for non-solid.
- Off/On based on usetype
Trigger the env_customize Off for solid, and On for non-solid.
- m_iPrisoner:
Prisoner
- No change
- Yes
- No
- Toggle
- On/Off based on usetype
Trigger the env_customize On for a prisoner, and Off for a non-prisoner.
- Off/On based on usetype
Trigger the env_customize Off for a prisoner, and On for a non-prisoner.
- m_iMonsterClip:
MonsterClip flag
- No change
- On
- Off
- Toggle
- On/Off based on usetype
Trigger the env_customize On to use Monsterclip, and Off to not use it.
- Off/On based on usetype
Trigger the env_customize Off to use Monsterclip, and On to not use it.
- m_iProvoked:
Angry At Player
Applies to barneys, scientists, "Friendly until hurt" and "Friendly
until provoked" monsters, and overrides these monsters' usual liking
for the player- e.g. as if the player had shot them.
- No change
- Yes
- No
- Toggle
- On/Off based on usetype
Trigger the env_customize On to be angry, and Off to calm down.
- Off/On based on usetype
Trigger the env_customize Off to be angry, and On to calm down.
- spawnflags:
- Affect corpses
- Once Only
- Debug
env_decal: Decal sprayer

- targetname:
Name
- target:
Position (blank = here) [LP]
- netname:
Spray direction (blank = angle) [LV]
- message:
Max distance (blank = none) [LR]
- impulse:
Decal group
- Gunshot
- Big gunshot
- Blood
- Alien blood
- Glass cracks
- Scorch marks
- Bullsquid splat
- Custom (see below)
- noise:
Custom decal texture
env_dlight: Dynamic light effect
Creates a temporary ball of light when triggered.
Note that this primarily lights the world (i.e. brushes); studio models will
pick up the lighting if they're standing in it, but they'll just be a solid colour.
To just light studio models, see env_elight .
- targetname:
Name
- movewith:
Moves with
- message:
Position (blank = here) [LP]
- rendercolor:
Light Color (R G B)
- renderamt:
Radius
- health:
Duration (0 = until triggered)
- frags:
Decay (units/sec)
- spawnflags:
env_elight: Entity light effect
Creates a temporary ball of light when triggered. Only lights studio models
(e.g. monsters), but does light them properly. Quite pretty.
See env_dlight if you want to light the walls, etc.
- targetname:
Name
- movewith:
Moves with
- netname:
At position (blank = here) [LP]
- target:
Entity to follow (blank = this) [LE]
- impulse:
Attachment point on that entity
- renderamt:
Radius
- rendercolor:
Color (R G B)
- health:
Duration (0 = until triggered)
- frags:
Decay (units/sec)
- spawnflags:
env_rain: Rain Effect
Essentially, this produces a shifting group of parallel beams. I've called it
env_rain because that's the most-requested use for it.
For a sunbeam effect, try Drip Speed = 0, Drip Width = 30, Drip Brightness = 25,
Drip Color = 255 255 255, Time between updates = 0, Drip Sprite = sprites/laserbeam.spr.
For snow, try Drip Speed = 20, Drip Width = 20, Drip Color = 255 255 255,
Drip Sprite = sprites/rain.spr.
- targetname:
Name
- movewith:
Moves with
- angles:
Pitch Yaw Roll (Y Z X)
Set this to (for example) "70 0 0" to make slanted rain.
- m_dripSpeed:
Drip Speed
Negative numbers will make the rain fall upwards.
This is an average; each drip will move at between 75%-125% of this speed.
- m_dripSize:
Drip Width
- m_brightness:
Drip Brightness (1 - 255)
- rendercolor:
Drip Color (R G B)
- m_iNoise:
Beam noise (distortion)
- m_burstSize:
Number of drips per update
- m_flUpdateTime:
Time between updates
If 0, no updates; all the beams will appear as soon as it's activated.
- m_flMaxUpdateTime:
Max time between updates (random)
- target:
Fire on updating
- m_fLifeTime:
Beam Lifetime (0 = three updates)
- texture:
Drip Sprite
- m_axis:
Beam Direction
- Z axis (vertical)
- X axis
- Y axis
- m_iExtent:
Extent type
- Fill brush
- Obstructable
- Reverse obstructable
- Arcing
- Reverse arcing
- spawnflags:
env_explosion: Explosion
- targetname:
Name
- movewith:
Moves with
- target:
Initial position (blank = here) [LP]
- iMagnitude:
Magnitude/Radius
- spawnflags:
- No Damage
- Repeatable
- No Fireball
- No Smoke
- No Decal
- No Sparks
env_fade: Screen Fade
- targetname:
Name
- duration:
Duration (seconds)
- holdtime:
Hold Fade (seconds)
- renderamt:
Fade Alpha
- rendercolor:
Fade Color (R G B)
- spawnflags:
- Fade From
- Modulate
- Activator Only
If activated by a player, that player's screen will fade,
but other players will be unaffected.
- Permanent
Ignore the hold time; just fade out permanently.
(To fade back in, you'll need to use another env_fade.)
env_fog: Fog effect, DMC stylee

- targetname:
Name
- fadein:
Fade in time
- holdtime:
Hold time (0 = permanent)
- fadeout:
Fade out time
- startdist:
Fog start position
- enddist:
Fog end position
- rendercolor:
Fog Color (R G B)
- spawnflags:
env_footsteps: Change Movement Sounds
To set the player's footstep sounds, trigger this entity 'on'. To revert to normal,
trigger it 'off' in the same way.
Alternatively, you can just toggle it, to alternately set and unset the sounds.
If one of the sound fields is left blank, it will have no effect... so if you
actually want it to become silent, choose common/null.wav.
This entity is probably most useful as the "fire on/off" target of a trigger_inout,
to specify the area over which the footsteps are to be changed.
- targetname:
Name
- master:
Master
- frags:
Preset Footstep type
- Custom (see below)
- Concrete
- Metal
- Dirt
- Vent
- Grate
- Tile
- Paddling
- Wading
- Ladder
- noise:
Custom Footstep sound
Here, you can either specify a single sound file as normal, or else specify
a group of 4 sounds by inserting '?' instead of the number 1-4.
(for example, to play a random sound in the range player/pl_step1.wav to
player/pl_step4.wav, you would write 'player/pl_step?.wav'.)
(This works on the other sound fields, too.)
- noise1:
Ladder sound
- noise2:
Wading sound
- noise3:
Paddling sound
- spawnflags:
env_funnel: Large Portal Funnel
- targetname:
Name
- movewith:
Moves with
- message:
Position (blank = here) [LP]
- netname:
Particle sprite
Default: sprites/flare6.spr
- spawnflags:
env_global: Global State
See also env_state
- targetname:
Name
- globalstate:
Global State to Set
- triggermode:
Trigger to send
- initialstate:
Initial State
- spawnflags:
env_glow: Light Glow/Haze
- targetname:
Name
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- model:
Sprite Name
- scale:
Scale
env_laser: Laser Beam Effect
- targetname:
Name
- renderfx:
Render FX
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- LaserStart:
Start At (blank = here) [LP]
- LaserTarget:
Fire Towards
- m_iTowardsMode:
Meaning of Fire Towards
- Position [LP]
- Direction [LV]
- renderamt:
Brightness (1 - 255)
- rendercolor:
Beam Color (R G B)
- width:
Width of beam (pixels*0.1 0-255)
- NoiseAmplitude:
Amount of noise (0-255)
- texture:
Sprite Name
- StartSprite:
Start Sprite
If you want, you can name an env_sprite here, and the laser will use that as its start sprite.
- EndSprite:
End Sprite
If you want, you can name an env_sprite here, and the laser will use that as its end sprite.
- TextureScroll:
Texture Scroll Rate (0-100)
- framestart:
Starting Frame
- damage:
Damage / second
If you specify a negative number here, the target will be healed instead.
- frags:
Damage type
- Energy Beam
- Fracture
- Bullet ('blood loss')
- Lacerations
- Burning
- Freezing
- Sonic ('internal bleeding')
- Drowning
- Biohazard
- Poison (continuous)
- Radiation
- Hazardous chemical
- target:
Fire when tripped
- netname:
Tripped only by entity
- m_iProjection:
Projection mode
- Normal
- Extend past endpoint
With this enabled, the laser's Target position only specifies
the direction. The beam can actually extend beyond it.
- m_iStoppedBy:
Stopped by
- Glass & Monsters
- Monsters only
- Glass & Monster hulls
Monster hulls are a little bigger than monster hitboxes,
so with this option the beam will be more likely to hit them.
- Monster hulls only
- Glass only
- Neither
- spawnflags:
- Start On
- StartSparks
- EndSparks
- Decal End
- Fade Start
The beam fades in from nothing, like a tracer bullet.
- Fade End
- Draw Solid
- Interpolate
env_message: HUD Text Message
- targetname:
Name
- target:
Target
- message:
Message Name
- messagesound:
Sound Effect
- messagevolume:
Volume 0-10
- messageattenuation:
Sound Radius
- Small Radius
- Medium Radius
- Large Radius
- Play Everywhere
- spawnflags:
env_model: New alternative to cyclers

- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- model:
Model name
- skin:
Skin
- body:
Body
- scale:
Scale (1.0 = normal size)
- m_iszSequence_On:
Sequence when on
- m_iAction_On:
Behaviour when on
- Freeze when sequence ends
- Loop
- Change state when sequence ends
- m_iszSequence_Off:
Sequence when off
- m_iAction_Off:
Behaviour when off
- Freeze when sequence ends
- Loop
- Change state when sequence ends
- spawnflags:
- Initially Off
- Drop to Floor
- Solid
env_quakefx: Quake 1 particle effects
Creates various particle effects when triggered.
- targetname:
Name
- message:
Position (blank = here) [LP]
- impulse:
Effect type
- Tar Explosion
A burst of twinkly orangey particles, with explosion sound effect.
Quite pretty.
(As seen in Quake when the blob monsters are killed.)
- Lava Splash
A strange field of red particles.
- Teleport Splash
A smallish mass of white particles.
(As seen in Quake when a player spawns or teleports.)
- Explosion
A burst of yellowy-white particles, with explosion sound effect.
(As seen in Quake when a grenade or rocket goes off.)
- Particle Burst
An expanding cube of particles. Quite pretty.
- frags:
Particle Burst: color number
Used only by Particle Burst. This is an index into the
standard engine palette; e.g. 247 is human blood, 195 is alien blood.
- armortype:
Particle Burst: radius
- health:
Particle Burst: duration
- spawnflags:
env_particle: Particle Effect

- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- message:
Particle file
env_render: Render Controls
- targetname:
Name
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- message:
FX Amount factor [LR]
The Renderamt number will be multiplied by this factor.
- m_fScale:
Scale (0 = no change) [LR]
Set the scale of the affected model or sprite.
(If Fade Time is set, the scale will change slowly over time.)
- target:
Target to affect [LE]
- frags:
Fade Time (secs)
If you set this, the affected entity (or entities) will fade
progressively to the new settings you specify. Only Renderamt
and rendercolor will fade; the other values will change
instantly, as usual.
- armorvalue:
Fade Coarseness (secs)
The frequency at which the fade gets updated. If left blank (or
set to 0), it updates as fast as possible.
You probably won't need to set this unless you actually want
it to look coarse.
If a lot of entities are fading at the same time, and
you find the game is slowing down, you may want to try setting
this to 0.2 or so.
- netname:
Trigger after fading
- spawnflags:
- No Renderfx
- No Renderamt
- No Rendermode
- No Rendercolor
- Remove target
Useful if you want something to fade out and then be removed.
- Remove self
The env_render will killtarget itself after use.
env_shake: Screen Shake
- targetname:
Name
- movewith:
Moves with
- amplitude:
Amplitude 0-16
- radius:
Effect radius
- duration:
Duration (seconds)
- frequency:
0.1 = jerk, 255.0 = rumble
- spawnflags:
env_shockwave: Shockwave Effect
Creates a shockwave effect (like monster_houndeye ) when triggered.
- targetname:
Name
- movewith:
Moves with
- m_iszPosition:
Position (blank = here) [LP]
- netname:
Spritename
- rendercolor:
Color
- renderamt:
Opacity (0-255)
- m_iTime:
Duration
- m_iRadius:
Final radius
- m_iHeight:
Wave height
- m_iScrollRate:
Scroll rate
- m_iNoise:
Distortion ('noise')
- m_iFrameRate:
Frame Rate
- m_iStartFrame:
Starting Frame
- spawnflags:
- Centered
Normally, the env_shockwave entity marks the bottom of the shockwave.
Tick here to mark its centre instead.
- Repeatable
env_shooter: Model Shooter
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- m_iGibs:
Number of shots
The number of pieces to create.
- delay:
Delay between shots
Delay (in seconds) between shots. If 0, all the shots are fired at once.
- m_iszPosition:
At position (blank = here) [LP]
- m_iszVelocity:
At velocity (blank = angle) [LV]
- m_flVelocity:
Gib Speed Factor [LR]
How fast the gibs are fired
- m_flVariance:
Course Variance
- m_flGibLife:
Shot lifetime (secs)
Time in seconds for gibs to live, +/- 5%
- m_iszTargetName:
Shot's name
- m_iszSpawnTarget:
Fire on spawn (locus = shot)
If you want to change the behaviour of the shot, this is the field to use -
for example, you could target a motion_manager here, to change the shot's movement.
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- shootmodel:
Model or Sprite name
- scale:
Scale
- skin:
Skin
- body:
Body (models only)
- frame:
Start frame
- framerate:
Framerate
- m_iPhysics:
Behaviour of children
- Bouncy gib (normal)
- Sticky gib
When it hits a wall, it sticks.
- Noclip
Not affected by walls or gravity
- Fly (ignore gravity)
Stopped by walls, ignore gravity
- Fly & bounce
Bounce off walls, ignore gravity
- Arc (obey gravity)
Blocked by walls, affected by gravity
- Arc & bounce
Bounce off walls, affected by gravity
- m_iBloodColor:
Blood color
Used by the "bouncy gib" and "sticky gib" behaviours.
- Don't bleed
- Red (human)
- Yellow (alien)
- shootsounds:
Material Sound
- None
- Glass
- Wood
- Metal
- Flesh
- Concrete
- m_fFriction:
Bounce height
- m_iszTouch:
Fire on collision (locus = shot)
If you need access to both the entities involved in a collision, try targetting
a locus_alias with this field. Then, target the effect you actually want with the
"locus = wall" field, and you'll be able to refer to the shot via the alias.
NB: This field does not work with the "gib" behaviours - use "noclip" or below.
- m_iszTouchOther:
Fire on collision (locus = wall)
This won't be fired when the shot hits a wall that's not tied to an entity.
(But a func_wall works fine.)
NB: This field does not work with the "gib" behaviours - use "noclip" or below.
- m_vecSize:
Shot size (X Y Z)
- spawnflags:
env_sky: Unreal-Tournament style sky view

env_sound: DSP Sound
- master:
Master
- movewith:
Moves with
- targetname:
Name
If set, the env_sound won't use its Radius- it will simply take effect when triggered.
- target:
Fire when activated
- radius:
Radius
- roomtype:
Room Type
- (Disable all filters)
- Generic (no filters)
- Metal Small
- Metal Medium
- Metal Large
- Tunnel Small
- Tunnel Medium
- Tunnel Large
- Chamber Small
- Chamber Medium
- Chamber Large
- Bright Small
- Bright Medium
- Bright Large
- Water 1
- Water 2
- Water 3
- Concrete Small
- Concrete Medium
- Concrete Large
- Big 1
- Big 2
- Big 3
- Cavern Small
- Cavern Medium
- Cavern Large
- Weirdo 1
- Weirdo 2
- Weirdo 3
env_spark: Spark
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- target:
Initial position (blank = here) [LP]
- MaxDelay:
Max Time between sparks
- spawnflags:
env_sprite: Sprite Effect
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- framerate:
Framerate
- model:
Sprite Name
- scale:
Scale
- message:
Attached to entity...
- frags:
...at attachment point
- spawnflags:
env_state: Local State
Simply keeps track of a state. Useful as a master or a conditional "branch".
- targetname:
Name
- master:
Master
- target:
Target (on & off)
- noise1:
Fire when turned on
- noise2:
Fire when turned off
- turnontime:
Time taken to turn on
If the env_state gets turned off before it finishes turning on,
the "fire on turning on" target will never get triggered. This is very
useful for setting up "if you stay in this area for 5 seconds" type triggers.
- turnofftime:
Time taken to turn off
- spawnflags:
- Start On
- Debug Mode
If you're trying to work out what's actually happening in your level,
try ticking here and the env_state will tell you when it triggers, etc.
env_warpball: Teleport-in effect

- targetname:
Name
- movewith:
Moves with
- target:
Initial position (blank = here) [LP]
- health:
Max lightning-arc length
- frags:
Number of lightning bolts
func_breakable: Breakable Object
- targetname:
Name
- globalname:
Global Entity Name
- target:
Target on break
- whenhit:
Trigger when hit (locus = position)
Whenever the breakable takes damage, this entity will be triggered, and passed
the position and direction of the bullet (or whatever).
- health:
Strength
- material:
Material type
- explosion:
Gibs Direction
- delay:
Delay before fire
- gibmodel:
Gib Model
Can be used to override the default "gibs" value for the material you've specified.
- spawnobject:
Spawn On Break
- explodemagnitude:
Explode Magnitude (0=none)
- respawn:
Respawn time (secs)
- netname:
Target on respawn
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- style:
Texlight style
- _minlight:
Minimum light level
- spawnflags:
func_button: Button
- targetname:
Name
- target:
Target
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- master:
Master
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- style:
Texlight style
- globalname:
Global Entity Name
- locked_sound:
Locked Sound
- unlocked_sound:
Unlocked Sound
- locked_sentence:
Locked Sentence
- unlocked_sentence:
Unlocked Sentence
- speed:
Speed
- health:
Health (shootable if > 0)
- lip:
Lip
- sounds:
Sounds
The number against each sound (except Lightswitch) corresponds to the wav file
played. e.g. Buzz (10) plays "buttons/button10.wav".
- None
- Big zap & Warmup (1)
- Access Denied (2)
- Access Granted (3)
- Quick Combolock (4)
- Power Deadbolt 1 (5)
- Power Deadbolt 2 (6)
- Plunger (7)
- Small zap (8)
- Keycard Sound (9)
- Buzz (10)
- Buzz Off (11)
- Lightswitch
- wait:
Delay before Reset
- delay:
Delay before trigger
- _minlight:
Minimum light level
- spawnflags:
- Don't move
- Direct use only
Normally, the player can use buttons through walls etc. Tick here to
prevent that.
(With this set, it's also impossible to use the button unless it's in
the centre of the player's crosshairs. So at last, control panels can
have their buttons close together!)
Don't combine this with Not Solid - the button will become unusable.
- Toggle
- Sparks
- Not Solid
- Touch Activates
- Can't Use
Normally, a button can be activated with the Use key. Tick here to disable that behaviour.
If "Touch activates" is also selected, this flag will instead enable the use key.
func_conveyor: Conveyor Belt
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- speed:
Conveyor Speed
- _minlight:
Minimum light level
- spawnflags:
func_door: Basic door
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- master:
Master
- skill:
Skill setting
- target:
Target (Always)
- message:
Target on Open
- netname:
Target on Close
- killtarget:
KillTarget
- immediatemode:
Fire before moving
- onoffmode:
On/Off Aware
- speed:
Speed
- movesnd:
Move Sound
- stopsnd:
Stop Sound
- wait:
Delay before close
Setting wait to -1 also prevents the door from reversing when it comes into
contact with the player, as seen on the bunker door in Crossfire.
This setting isn't recommended if the door is using MoveWith.
- lip:
Lip
- dmg:
Damage inflicted when blocked
- delay:
Delay before fire
This delay only applies to the Target, not the Fire on Open/Close fields.
- health:
Health (shoot open)
- _minlight:
Minimum light level
- locked_sound:
Locked Sound
- unlocked_sound:
Unlocked Sound
- locked_sentence:
Locked Sentence
- unlocked_sentence:
Unlocked Sentence
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- directuse:
Direct use only
Normally, the player can open doors when he can't actually see them
(e.g. from the other side of a wall). Select "yes" here to prevent that.
Don't combine this with Passable - the door will become unusable.
- spawnflags:
func_door_rotating: Rotating door
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- master:
Master
- skill:
Skill setting
- target:
Target (Always)
- message:
Target on Open
- netname:
Target on Close
- killtarget:
KillTarget
- immediatemode:
Fire before moving
- onoffmode:
On/Off Aware
- speed:
Speed
- movesnd:
Move Sound
- stopsnd:
Stop Sound
- wait:
Delay before close
Setting wait to -1 also prevents the door from reversing when it comes into
contact with the player, as seen on the bunker door in Crossfire.
This setting isn't recommended if the door is using MoveWith.
- lip:
Lip
- dmg:
Damage inflicted when blocked
- delay:
Delay before fire
This delay only applies to the Target, not the Fire on Open/Close fields.
- health:
Health (shoot open)
- _minlight:
Minimum light level
- locked_sound:
Locked Sound
- unlocked_sound:
Unlocked Sound
- locked_sentence:
Locked Sentence
- unlocked_sentence:
Unlocked Sentence
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- directuse:
Direct use only
Normally, the player can open doors when he can't actually see them
(e.g. from the other side of a wall). Select "yes" here to prevent that.
Don't combine this with Passable - the door will become unusable.
- distance:
Distance (deg)
- axes:
Axis Multipliers (Y Z X)
- spawnflags:
func_friction: Surface with a change in friction
- skill:
Skill setting
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- modifier:
Percentage of standard (0 - 100)
0% = No friction, 100% = Normal Friction
- spawnflags:
func_guntarget: Moving platform
- targetname:
Name
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- speed:
Speed (units per second)
- target:
First stop target
- message:
Fire when damaged
- health:
Damage to Take
- _minlight:
Minimum light level
func_healthcharger:
- targetname:
Name
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- style:
Texlight style
- globalname:
Global Entity Name
- _minlight:
Minimum light level
func_illusionary: Fake Wall/Light
- targetname:
Name
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- skin:
Contents
- Empty
- Volumetric Light
- Zero-G
- Hover-Field
- Fog effect
- Special 1 (Particles)
- Special 2 (Particles)
- Special 3 (Particles)
- _minlight:
Minimum light level
func_ladder: Ladder
Creates an invisible, climbable field.
To show the actual ladder image, either add a func_illusionary covered with a {ladder texture, or tick the Visible flag.
- targetname:
Name
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- spawnflags:
func_monsterclip: Monster clip brush
Also prevents hlcsg.exe from making a path between two info_node entities on opposite sides of the brush.
- targetname:
Name
- movewith:
Moves with
func_mortar_field: Mortar Field
- targetname:
Name
- movewith:
Moves with
- m_flSpread:
Spread Radius
- m_iCount:
Repeat Count
- m_fControl:
Targeting
- m_iszXController:
X Controller
- m_iszYController:
Y Controller
func_pendulum: Swings back and forth
Only partially implemented, some keys don't work properly.
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- skill:
Skill setting
- speed:
Speed
- axes:
Axis Multipliers (Y Z X)
- distance:
Distance (deg)
- damp:
Damping (0-1000)
- dmg:
Damage inflicted when blocked
- _minlight:
_minlight
- spawnflags:
- Not in Deathmatch
- Start ON
- Passable
- Auto-return
- X Axis
- Y Axis
func_plat: Elevator
With any luck, I've fixed the bug which caused players to sometimes be frozen.
- targetname:
Name
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- movesnd:
Move Sound
- custommovesnd:
Custom Move Sound
- stopsnd:
Stop Sound
- customstopsnd:
Custom Stop Sound
- volume:
Sound Volume 0.0 - 1.0
- height:
Travel altitude (can be negative)
- speed:
Speed
- _minlight:
Minimum light level
- spawnflags:
func_platrot: Moving Rotating platform
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- movesnd:
Move Sound
- custommovesnd:
Custom Move Sound
- stopsnd:
Stop Sound
- customstopsnd:
Custom Stop Sound
- volume:
Sound Volume 0.0 - 1.0
- speed:
Speed of rotation
- axes:
Axis Multipliers (Y Z X)
- height:
Travel altitude (can be negative)
- rotation:
Spin amount
- _minlight:
Minimum light level
- spawnflags:
func_pushable: Pushable object
- targetname:
Name
- globalname:
Global Entity Name
- target:
Target on break
- whenhit:
Trigger when hit (locus = position)
Whenever the breakable takes damage, this entity will be triggered, and passed
the position and direction of the bullet (or whatever).
- health:
Strength
- material:
Material type
- explosion:
Gibs Direction
- delay:
Delay before fire
- gibmodel:
Gib Model
Can be used to override the default "gibs" value for the material you've specified.
- spawnobject:
Spawn On Break
- explodemagnitude:
Explode Magnitude (0=none)
- respawn:
Respawn time (secs)
- netname:
Target on respawn
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- friction:
Friction (0-400)
- buoyancy:
Buoyancy
- _minlight:
Minimum light level
- spawnflags:
- Breakable Flags
- Breakable
- Can't Pull
Tick here if the crate can only ever be pushed.
func_recharge:
func_rot_button: RotatingButton
Like func_button , except it rotates.
- targetname:
Name
- target:
Target
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- master:
Master
- locked_sound:
Locked Sound
- unlocked_sound:
Unlocked Sound
- locked_sentence:
Locked Sentence
- unlocked_sentence:
Unlocked Sentence
- changetarget:
ChangeTarget Name
if set, then when the button is pressed, the "target" field of the entity targetted by the button will be set to this value.
- speed:
Speed
- axes:
Axis Multipliers (Y Z X)
- health:
Health (shootable if > 0)
- sounds:
Sounds
The number against each sound corresponds to the wav file
played. e.g. Squeaky (1) plays "buttons/lever1.wav".
- None
- Squeaky (1)
- Squeaky Pneumatic (2)
- Ratchet Groan (3)
- Clean Ratchet (4)
- Gas Clunk (5)
- wait:
Delay before reset
- delay:
Delay before trigger
- distance:
Distance (deg)
- _minlight:
_minlight
- spawnflags:
- Not solid
- Reverse Dir
- Direct use only
- Toggle
- X Axis
- Y Axis
- Touch Activates
- Invert '+Use'able
func_rotating: Rotating Object
- targetname:
Name
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- angles:
Pitch Yaw Roll (Y Z X)
This sets the initial orientation of the entity, but that could
be achieved by simply rotating the brushes, in Worldcraft.
More importantly, it will change the position of the axes
the entity pivots around.
- speed:
Rotation Speed
- axes:
Axis Multipliers (Y Z X)
This field overrides the "X Axis" and "Y Axis" flags. It's
mostly useful to make a complex orbit for an object. (If you
just want to have a tilted axis for an otherwise normal rotating
object, you'll want to change the "angle" field instead.)
For example, set this field to "0 12 1" and the Z axis will
rotate 12 times in the time it takes the X axis to complete one
turn. (the entity will also turn 12 times faster than the
Rotation Speed you specify.)
NB: The way the quake engine handles rotation is not exactly
intuitive. The Z axis is the primary axis, so rotation around
the Y and X axes will be affected by the current Z position.
Similarly, the Y axis is the secondary axis, so rotation around
the X axis will be affected by the current Y position.
To get a feel for how this works, try making a func_rotating
cube whose origin is at one corner, set its "axes" value to
"1 1 0", and watch how it moves. One edge will simply go around
in a horizontal circle, while the rest of the cube rotates
around that edge.
- volume:
Volume (10 = loudest)
- fanfriction:
Friction (0 - 100%)
- sounds:
Fan Sounds
The number against each sound corresponds to the wav file
played. e.g. Slow Rush (2) plays "fans/fan2.wav".
- No Sound
- Fast Whine (1)
- Slow Rush (2)
- Medium Rickety (3)
- Fast Beating (4)
- Slow Smooth (5)
- message:
WAV Name
The sound to play while active. This will only be used if "Fan Sounds" is set to "No Sound".
- _minlight:
_minlight
- spawnorigin:
X Y Z - Move here after lighting
- dmg:
Damage inflicted when blocked
- spawnflags:
- Start ON
- Reverse Direction
- X Axis
- Y Axis
- Acc/Dcc
- Fan Pain
- Not Solid
- Small Radius
This, and the other "radius" settings, only affect the
way the Fan Sounds are played; if you set a small radius,
the sounds will only be audible near to the fan.
- Medium Radius
- Large Radius
func_shine: Shiny Surface

- targetname:
Name
- message:
Shine sprite
- scale:
Shine scale
- renderamt:
Shine brightness (0-255)
func_tank: Brush Gun Turret
- targetname:
Name
- target:
Target
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- globalname:
Global Entity Name
- master:
(Team) Master
Mainly for use with 1009 team settings (game_team_master)
- firemaster:
Fire Master
While this master is locked, the gun cannot fire, but the player can still control it.
(Intended to enable reloading effects.)
- m_iszLocusFire:
Trigger on firing (locus = barrel)
Whenever the tank fires, this entity is triggered. (the locus for this is
the coordinates and direction at the end of the gun.)
- yawrate:
Yaw rate
- yawrange:
Yaw range
- yawtolerance:
Yaw tolerance
- pitchrate:
Pitch rate
- pitchrange:
Pitch range
- pitchtolerance:
Pitch tolerance
- barrel:
Barrel Length
- barrely:
Barrel Horizontal
- barrelz:
Barrel Vertical
- spritesmoke:
Smoke Sprite
- spriteflash:
Flash Sprite
- spritescale:
Sprite scale
- rotatesound:
Rotate Sound
Bug fixed: rotate sound now stops when a player releases control of the gun.
- firerate:
Rate of Fire
- bullet_damage:
Damage Per Bullet
- persistence:
Firing persistence
- firespread:
Bullet accuracy
- minRange:
Minmum target range
- maxRange:
Maximum target range
- m_iClass:
Behaviour
- _minlight:
Minimum light level
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- bullet:
Bullets
- spawnflags:
func_tankcontrols: Tank controls
- targetname:
Name
- movewith:
Moves with
- target:
Tank entity name
- frags:
Tolerance (-1 = total)
This specifies how far the player has to move before the controls will dump him off.
If you set -1, the player never gets dumped off. (In which case, the
func_tankcontrols can only be deactivated by triggering it with another entity.)
- crosshair:
Crosshair to use

More crosshair choices will be available in future.
- spawnflags:
- Ignore +Use
If you tick here, the controls can only be activated by triggering it with
another entity.
- Visible
func_tanklaser: Brush Laser Turret
- targetname:
Name
- target:
Target
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- globalname:
Global Entity Name
- master:
(Team) Master
Mainly for use with 1009 team settings (game_team_master)
- firemaster:
Fire Master
While this master is locked, the gun cannot fire, but the player can still control it.
(Intended to enable reloading effects.)
- m_iszLocusFire:
Trigger on firing (locus = barrel)
Whenever the tank fires, this entity is triggered. (the locus for this is
the coordinates and direction at the end of the gun.)
- yawrate:
Yaw rate
- yawrange:
Yaw range
- yawtolerance:
Yaw tolerance
- pitchrate:
Pitch rate
- pitchrange:
Pitch range
- pitchtolerance:
Pitch tolerance
- barrel:
Barrel Length
- barrely:
Barrel Horizontal
- barrelz:
Barrel Vertical
- spritesmoke:
Smoke Sprite
- spriteflash:
Flash Sprite
- spritescale:
Sprite scale
- rotatesound:
Rotate Sound
Bug fixed: rotate sound now stops when a player releases control of the gun.
- firerate:
Rate of Fire
- bullet_damage:
Damage Per Bullet
- persistence:
Firing persistence
- firespread:
Bullet accuracy
- minRange:
Minmum target range
- maxRange:
Maximum target range
- m_iClass:
Behaviour
- _minlight:
Minimum light level
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- laserentity:
env_laser Entity
- spawnflags:
func_tankmortar: Brush Mortar Turret
- targetname:
Name
- target:
Target
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- globalname:
Global Entity Name
- master:
(Team) Master
Mainly for use with 1009 team settings (game_team_master)
- firemaster:
Fire Master
While this master is locked, the gun cannot fire, but the player can still control it.
(Intended to enable reloading effects.)
- m_iszLocusFire:
Trigger on firing (locus = barrel)
Whenever the tank fires, this entity is triggered. (the locus for this is
the coordinates and direction at the end of the gun.)
- yawrate:
Yaw rate
- yawrange:
Yaw range
- yawtolerance:
Yaw tolerance
- pitchrate:
Pitch rate
- pitchrange:
Pitch range
- pitchtolerance:
Pitch tolerance
- barrel:
Barrel Length
- barrely:
Barrel Horizontal
- barrelz:
Barrel Vertical
- spritesmoke:
Smoke Sprite
- spriteflash:
Flash Sprite
- spritescale:
Sprite scale
- rotatesound:
Rotate Sound
Bug fixed: rotate sound now stops when a player releases control of the gun.
- firerate:
Rate of Fire
- bullet_damage:
Damage Per Bullet
- persistence:
Firing persistence
- firespread:
Bullet accuracy
- minRange:
Minmum target range
- maxRange:
Maximum target range
- m_iClass:
Behaviour
- _minlight:
Minimum light level
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- iMagnitude:
Explosion Magnitude
- spawnflags:
func_tankrocket: Brush Rocket Turret
- targetname:
Name
- target:
Target
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- globalname:
Global Entity Name
- master:
(Team) Master
Mainly for use with 1009 team settings (game_team_master)
- firemaster:
Fire Master
While this master is locked, the gun cannot fire, but the player can still control it.
(Intended to enable reloading effects.)
- m_iszLocusFire:
Trigger on firing (locus = barrel)
Whenever the tank fires, this entity is triggered. (the locus for this is
the coordinates and direction at the end of the gun.)
- yawrate:
Yaw rate
- yawrange:
Yaw range
- yawtolerance:
Yaw tolerance
- pitchrate:
Pitch rate
- pitchrange:
Pitch range
- pitchtolerance:
Pitch tolerance
- barrel:
Barrel Length
- barrely:
Barrel Horizontal
- barrelz:
Barrel Vertical
- spritesmoke:
Smoke Sprite
- spriteflash:
Flash Sprite
- spritescale:
Sprite scale
- rotatesound:
Rotate Sound
Bug fixed: rotate sound now stops when a player releases control of the gun.
- firerate:
Rate of Fire
- bullet_damage:
Damage Per Bullet
- persistence:
Firing persistence
- firespread:
Bullet accuracy
- minRange:
Minmum target range
- maxRange:
Maximum target range
- m_iClass:
Behaviour
- _minlight:
Minimum light level
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- spawnflags:
func_trackautochange: Automatic track changing platform
- targetname:
Name
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- globalname:
Global Entity Name
- movesnd:
Move Sound
- custommovesnd:
Custom Move Sound
- stopsnd:
Stop Sound
- customstopsnd:
Custom Stop Sound
- volume:
Sound Volume 0.0 - 1.0
- height:
Travel altitude
- rotation:
Spin amount
- train:
Train to switch
- toptrack:
Top track
- bottomtrack:
Bottom track
- speed:
Move/Rotate speed
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- _minlight:
Minimum light level
- spawnflags:
func_trackchange: Train track changing platform
- targetname:
Name
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- globalname:
Global Entity Name
- movesnd:
Move Sound
- custommovesnd:
Custom Move Sound
- stopsnd:
Stop Sound
- customstopsnd:
Custom Stop Sound
- volume:
Sound Volume 0.0 - 1.0
- height:
Travel altitude
- rotation:
Spin amount
- train:
Train to switch
- toptrack:
Top track
- bottomtrack:
Bottom track
- speed:
Move/Rotate speed
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- _minlight:
Minimum light level
- spawnflags:
func_tracktrain: Track Train
- targetname:
Name
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- target:
First stop target
- sounds:
Move Sound
The number against each sound corresponds to the wav file
played. e.g. Rail 1 plays "plats/ttrain1.wav".
- None (or custom)
- Rail 1
- Rail 2
- Rail 3
- Rail 4
- Rail 6
- Rail 7
- custommovesound:
Custom Move Sound
- customstartsound:
Start Sound
Default is "plats/ttrain_start1.wav". For silence, use "common/null.wav".
- custombrakesound:
Stop Sound
Default is "plats/ttrain_brake1.wav". For silence, use "common/null.wav".
- wheels:
Distance between the wheels
This setting controls how smoothly the train turns corners - if the wheels are
close together, it will turn sharply, and if far apart, it will turn more gradually.
- height:
Height above track
- startspeed:
Initial speed
- speed:
Speed (units per second)
- dmg:
Damage on crush
- volume:
Volume (10 = loudest)
- bank:
Bank angle on turns
- _minlight:
Minimum light level
- avelocity:
Initial avelocity (Y Z X)
- spawnflags:
- No Pitch (X-rot)
- No User Control
- No Reverse
- Passable
- No Yaw (Z-rot)
func_train: Moving platform
- targetname:
Name
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- movesnd:
Move Sound
- custommovesnd:
Custom Move Sound
- stopsnd:
Stop Sound
- customstopsnd:
Custom Stop Sound
- volume:
Sound Volume 0.0 - 1.0
- target:
First stop target
- speed:
Speed (units per second)
- avelocity:
Initial avelocity (Y Z X)
- dmg:
Damage on crush
- skin:
Contents
- volume:
Sound Volume 0.0 - 1.0
- _minlight:
Minimum light level
- spawnflags:
- Origin on paths

Usually, the center of the train (in fact, the center of its bounding box)
will be the point used when positioning the train at a path_corner. Tick
here to use its origin for this instead.
- Initially On

This is the default if you don't specify a name.
- Not solid
func_traincontrols: Train Controls
Note that unlike func_tankcontrols, this defines what area the player must be standing in in order to use the tank.
func_wall: Wall
func_wall_toggle: Toggleable geometry
func_water: Liquid
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- master:
Master
- skill:
Skill setting
- target:
Target (Always)
- message:
Target on Open
- netname:
Target on Close
- killtarget:
KillTarget
- immediatemode:
Fire before moving
- onoffmode:
On/Off Aware
- speed:
Speed
- movesnd:
Move Sound
- stopsnd:
Stop Sound
- wait:
Delay before close
Setting wait to -1 also prevents the door from reversing when it comes into
contact with the player, as seen on the bunker door in Crossfire.
This setting isn't recommended if the door is using MoveWith.
- lip:
Lip
- dmg:
Damage inflicted when blocked
- delay:
Delay before fire
This delay only applies to the Target, not the Fire on Open/Close fields.
- health:
Health (shoot open)
- _minlight:
Minimum light level
- locked_sound:
Locked Sound
- unlocked_sound:
Unlocked Sound
- locked_sentence:
Locked Sentence
- unlocked_sentence:
Unlocked Sentence
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- skin:
Contents
- WaveHeight:
Wave Height
- spawnflags:
game_counter: Fires when it hits limit
- targetname:
Name
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- master:
Master
- frags:
Initial Value
- health:
Limit Value
- spawnflags:
- Remove On fire
- Reset On fire
game_counter_set: Sets a game_counter
- targetname:
Name
- target:
Target
- master:
Master
- frags:
New Value
- spawnflags:
game_end: End this multiplayer game
- targetname:
Name
- master:
Master
game_player_equip: Initial player equipment
- targetname:
Name
- master:
Team Master
- spawnflags:
game_player_hurt: Hurts player who fires
- targetname:
Name
- master:
Master
- dmg:
Damage To Apply
- spawnflags:
game_player_team: Allows player to change teams
- targetname:
Name
- master:
Master
- target:
game_team_master to use
- spawnflags:
- Remove On fire
- Kill Player
- Gib Player
game_score: Award/Deduct Points
- targetname:
Name
- master:
Master
- points:
Points to add (+/-)
- spawnflags:
- Allow Negative
- Team Points
game_team_master: Team based master/relay
- targetname:
Name
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- master:
Master
- triggerstate:
Trigger to send
- teamindex:
Team Index (-1 = no team)
- spawnflags:
game_team_set: Sets team of team_master
- targetname:
Name
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- master:
Master
- spawnflags:
game_text: HUD Text Message
- targetname:
Name
- master:
Master
- target:
Fire when done
- message:
Message Text
- x:
X (0 - 1.0 = left to right) (-1 centers)
- y:
Y (0 - 1.0 = top to bottom) (-1 centers)
- effect:
Text Effect
- Fade In/Out
- Credits
- Scan Out
- color:
Color1
- color2:
Color2
- fadein:
Fade in Time (or character scan time)
- fadeout:
Fade Out Time
- holdtime:
Hold Time
- fxtime:
Scan time (scan effect only)
- channel:
Text Channel
- Channel 1
- Channel 2
- Channel 3
- Channel 4
- spawnflags:
game_zone_player: Player Zone brush
- targetname:
Name
- intarget:
Target for IN players
- outtarget:
Target for OUT players
- incount:
Counter for IN players
- outcount:
Counter for OUT players
gibshooter: Gib Shooter
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- m_iGibs:
Number of shots
The number of pieces to create.
- delay:
Delay between shots
Delay (in seconds) between shots. If 0, all the shots are fired at once.
- m_iszPosition:
At position (blank = here) [LP]
- m_iszVelocity:
At velocity (blank = angle) [LV]
- m_flVelocity:
Gib Speed Factor [LR]
How fast the gibs are fired
- m_flVariance:
Course Variance
- m_flGibLife:
Shot lifetime (secs)
Time in seconds for gibs to live, +/- 5%
- m_iszTargetName:
Shot's name
- m_iszSpawnTarget:
Fire on spawn (locus = shot)
If you want to change the behaviour of the shot, this is the field to use -
for example, you could target a motion_manager here, to change the shot's movement.
- m_iBloodColor:
Blood color
- Don't Bleed
- Red (human)
- Yellow (alien)
- spawnflags:
hud_sprite: Hud Sprite Display
At the moment, this can only display sprites that are defined in sprites/hud.txt, and
will always display them in the status icon area on the left of the screen.
Bear in mind, the hud isn't displayed unless you have an HEV suit.
- targetname:
Name
- model:
Sprite name
- rendercolor:
Color
- spawnflags:
infodecal: Decal
If you give a decal a targetname, then it won't appear until fired.
info_alias: Alias

An alias makes itself an "alternative name" for an entity. To refer to
an entity through the alternative name, use the alias name preceeded by a *.
For example, suppose you set up an info_alias entity called 'myalias'.
'Myalias' targets a light called 'redlight'. suppose a you set up a
trigger_once field targetting "*myalias", so that when you walk through the
trigger field, redlight gets turned on and off. So far, info_alias seems to
be like a trigger_relay . However, you can also set up a switch which targets
"myalias", to turn it off...
- targetname:
Name
- target:
Reference while On
- netname:
Reference while Off
- spawnflags:
info_bigmomma: Big Mamma Node
- targetname:
Name
- target:
Next node
- radius:
Radius
- reachdelay:
Wait after approach
- killtarget:
KillTarget
- reachtarget:
Fire on approach
- reachsequence:
Sequence on approach
- health:
Health on approach
- presequence:
Sequence before approach
- spawnflags:
- Run To Node
- Wait Indefinitely
info_compile_parameters: Compile Options
Which compile options to use.
- texdata:
Texture Data Memory (in KB)
- estimate:
Estimate Compile Times?
- bounce:
Number of radiosity bounces
- ambient:
Ambient world light (0.0 to 1.0, R G B)
- smooth:
Smoothing threshold (in degrees)
- dscale:
Direct Lighting Scale
- chop:
Chop Size
- texchop:
Texture Light Chop Size
- hullfile:
Custom Hullfile
- priority:
Priority Level
- wadautodetect:
Wad Auto Detect
- wadconfig:
Custom Wad Configuration
- verbose:
Verbose compile messages
- noclipeconomy:
Strip Uneeded Clipnodes?
- spawnflags:
- Run CSG
- No Clip
- Only Ents
- No Sky Clip
- Run BSP
- Leak Only
- No Clip
- Run VIS
- Fast
- Run RAD
- Sparse
- Circus Mode
- Extra Mode
info_group: Entity Group
An info_group acts similarly to an info_alias , except that it has several
"members" which are are accessed by writing 'mygroup.membername'.
These members are set up just like the targets of a multi_manager - except
that they'll contain an entity reference instead of a delay time.
If you set up its "target" field to refer to an info_alias entity, then when
an info_group is triggered, it will change that info_alias entity to target the
group.
- targetname:
Name
- target:
Alias to change when fired [LE]
- defaultmember:
Default member prefix
If you refer to a group member which hasn't been defined explicitly,
but you do define a default prefix here, then the member name will be
added to the prefix to generate an appropriate reference.
e.g: Suppose an info_group named "bob" defines a default prefix
"bobs_". Now; if you refer to, for example, "bob.house" or
"bob.gun", you'll actually affect entities named "bobs_house"
and "bobs_gun", respectively.
- spawnflags:
info_intermission: Intermission Spot
- target:
Target
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
info_landmark: Transition Landmark
- targetname:
Name
- movewith:
Moves with
info_movewith: Movewith relay

- targetname:
Name
- target:
MoveWith when active
- netname:
MoveWith when inactive
- spawnflags:
- Start inactive
- Blockable
Usually, info_movewith will happily pass straight through a wall.
Tick here if you want it to stop when it hits walls.
Incidentally, ticking this will also allow it to set off trigger
fields, such as trigger_multiple .
info_node: ai node
info_node_air: ai air node
info_null: info_null (spotlight target)
info_player_deathmatch: Player deathmatch start
- angles:
Pitch Yaw Roll (Y Z X)
- master:
Master
- movewith:
Moves with
- target:
Target
info_player_start: Player 1 start
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- spawnflags:
info_target: Beam Target
- targetname:
Name
- movewith:
Moves with
- spawnflags:
- Use null.spr

Essentially, this flag forces the game engine to treat an info_target as visible
(even though it isn't). This has two effects:
1) Normally if an env_beam is attached to an info_target which can move (via MoveWith),
the env_beam won't follow the info_target properly. Ticking here fixes that problem.
2) If an env_beam's "ring" mode is selected, you must make both ends of the beam
into 'visible' entities, otherwise the beam won't be displayed.
(Note that if you're making a mod and you tell an info_target to use null.spr, you will
of course have to distribute null.spr with the mod.)
info_teleport_destination: Teleport destination
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
info_texlights: Texture Light Config

item_airtank: Oxygen tank
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
item_antidote: Poison antidote
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
item_battery: HEV battery
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- model:
Model (models/w_battery.mdl)
- skin:
Skin
- body:
Body
- noise:
Sound (items/gunpickup2.wav)
- armorvalue:
Charge by (0 = normal)
- spawnflags:
item_healthkit: Small Health Kit
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
item_longjump: Longjump Module
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
item_security: Security card
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
item_suit: HEV Suit
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- spawnflags:
- Not in Deathmatch
- Short Logon
light: Invisible lightsource
- targetname:
Name
Don't create a light whose name begins with "light" - a bug/feature in RAD means
that such a light won't be able to switch on and off.
- _light:
Brightness
- style:
Appearance (static)
- pattern:
Custom Appearance (on)
This field will have no effect on a static (i.e. nameless) light.
'a' is dark, 'm' is normal brightness, 'z' is full brightness.
There's no support for a light to have a custom appearances when it's in a
state other than 'on'. See trigger_lightstyle if you need this effect.
- m_iOnStyle:
Appearance (on)
- m_iOffStyle:
Appearance (off)
- m_iTurnOnTime:
Time taken to turn on (secs)
- m_iTurnOnStyle:
Appearance (turn on)
- m_iTurnOffTime:
Time taken to turn off (secs)
- m_iTurnOffStyle:
Appearance (turn off)
- _fade:
Fade (ZHLT 2.5.1+)
- _falloff:
Falloff (ZHLT 2.5.1+)
- target:
Target to shine at
- firetarget:
Target to trigger
- spawnflags:
light_glow: Dynamic Glow
See also env_dlight .
- targetname:
Name
- movewith:
Moves with
- frags:
Glow Type
- Brightest
- Flashlight
- None
- spawnflags:
light_environment: Environment
- angles:
Pitch Yaw Roll (Y Z X)
- _fade:
Fade (ZHLT 2.5.1+)
- _falloff:
Falloff (ZHLT 2.5.1+)
- pitch:
Pitch
- _light:
Brightness
light_spot: Spotlight
- target:
Target
- targetname:
Name
Don't create a light whose name begins with "light" - a bug/feature in RAD means
that such a light won't be able to switch on and off.
- _light:
Brightness
- style:
Appearance (static)
- pattern:
Custom Appearance (on)
This field will have no effect on a static (i.e. nameless) light.
'a' is dark, 'm' is normal brightness, 'z' is full brightness.
There's no support for a light to have a custom appearances when it's in a
state other than 'on'. See trigger_lightstyle if you need this effect.
- m_iOnStyle:
Appearance (on)
- m_iOffStyle:
Appearance (off)
- m_iTurnOnTime:
Time taken to turn on (secs)
- m_iTurnOnStyle:
Appearance (turn on)
- m_iTurnOffTime:
Time taken to turn off (secs)
- m_iTurnOffStyle:
Appearance (turn off)
- _fade:
Fade (ZHLT 2.5.1+)
- _falloff:
Falloff (ZHLT 2.5.1+)
- firetarget:
Target to trigger
- _cone:
Inner (bright) angle
- _cone2:
Outer (fading) angle
- pitch:
Pitch
- _sky:
Is Sky
- spawnflags:
momentary_door: Momentary/Continuous door
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- master:
Master
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- globalname:
Global Entity Name
- speed:
Speed
Maximum speed the door is allowed to move at.
- movesnd:
Move Sound
The number against each sound corresponds to the wav file played.
e.g. Vacuum (4) plays "doors/doormove4.wav".
- No Sound
- Servo (Sliding) (1)
- Pneumatic (Sliding) (2)
- Pneumatic (Rolling) (3)
- Vacuum (4)
- Power Hydraulic (5)
- Large Rollers (6)
- Track Door (7)
- Snappy Metal Door (8)
- Squeaky 1 (9)
- Squeaky 2 (10)
- lip:
Lip
- _minlight:
Minimum light level
- spawnflags:
momentary_rot_button: Direct wheel control
- targetname:
Name
- target:
Target
- angles:
Pitch Yaw Roll (Y Z X)
- master:
Master
- movewith:
Moves with
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- zhlt_lightflags:
HLRAD Opacity (ZHLT 2.5.1+)
- light_origin:
Light Origin (ZHLT 2.5.1+)
- speed:
Speed
- axes:
Axis Multipliers (Y Z X)
- sounds:
Sounds
- None
- Big zap & Warmup
- Access Denied
- Access Granted
- Quick Combolock
- Power Deadbolt 1
- Power Deadbolt 2
- Plunger
- Small zap
- Keycard Sound
- Squeaky
- Squeaky Pneumatic
- Ratchet Groan
- Clean Ratchet
- Gas Clunk
- distance:
Distance (deg)
- returnspeed:
Auto-return speed
- _minlight:
_minlight
- angles:
Pitch Yaw Roll (Y Z X)
- spawnflags:
- Door Hack
- Not useable
- Auto Return
- X Axis
- Y Axis
locus_alias: Locus System - Entity variable
Stores a reference to an entity. Whenever the alias is triggered,
it changes to record what triggered it.
Thereafter, you can refer to that entity by *aliasname (where aliasname is the name
of the locus_alias).
Note that this records a specific entity - unlike info_alias which
records the name of an entity. So info_alias always refers to all entities with a particular
name, whereas locus_alias always refers to one specific entity.
- targetname:
Name
- netname:
Initial value
locus_beam: Locus System - Beam effect

- targetname:
Name
- m_iszStart:
Start at (blank = here)
- m_iszEnd:
End at (blank = here)
- impulse:
Start & End are
- Entity & Entity [LE LE]
- Entity & Position [LE LP]
- Position & Position [LP LP]
- Position & Direction [LP LV]
- m_iszSprite:
Sprite Name
- renderamt:
Brightness (1 - 255)
- rendercolor:
Color (R G B)
- m_iWidth:
Width
- m_iDistortion:
Distortion ('noise')
- m_fFrame:
Start frame
- m_iScrollRate:
Scroll rate
- m_fDuration:
Duration (0 = unlimited)
- m_fDamage:
Damage amount
- m_iDamageType:
Damage type
- Energy Beam
- Fracture
- Blood Loss
- Lacerations
- Burning
- Freezing
- Internal bleeding
- Drowning
- Biohazard
- Poison (duration)
- Radiation
- Hazardous chemical
- m_iszTargetName:
Name of children
- target:
Fire on spawn (locus = child)
- spawnflags:
- Ring
This will only work if "Start & End" is set to "Entity & Entity".
- StartSparks
- EndSparks
- Decal End
- Fade Start
The beam fades in from nothing, like a tracer bullet.
- Fade End
- Draw Solid
- Draw Sine
locus_variable: Locus System - Variable for storing data

As the name suggests, this acts like a variable in a programming language. It
stores three values - a position, a velocity, and a ratio. (if you want a variable
that records entities, see locus_alias ). To set values, trigger the entity; and to
access them, just refer to it like the appropriate calc_x entity.
locus_variable can also be used another way; if you give a "Child's Name"
value, triggering it will create a reference point with that name. So for example,
suppose you want to create streams of water wherever an object gets shot. You
trigger a locus_variable to record where the shot hits, and then have its "fire
on spawn" value triggering the water stream. But if you don't have it make seperate
reference points, then all the water will come out of the last shot position.
- targetname:
Name
- m_iszPosition:
Position to record [LP]
- m_iszVelocity:
Velocity to record [LV]
- m_iszRatio:
Ratio to record [LR]
- m_iszTargetname:
Child's name (blank = no child)
- m_iszFireOnSpawn:
Fire on spawn (locus = child)
- m_fDuration:
Removed after time (secs)
monster_alien_controller: Controller
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- Squad Name
- Squad Leader
Only needed if you use the Squad Name value. If you define a Squad using the
Squad Name value, but none of them are flagged as a Squad Leader, then the
squad won't get linked together properly.
- Drop gun
- spawnflags:
monster_alien_slave: Vortigaunt
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- netname:
Squad Name
- spawnflags:
- Monster Flags
- Squad Leader
Only needed if you use the Squad Name value. If you define a Squad using the
Squad Name value, but none of them are flagged as a Squad Leader, then the
squad won't get linked together properly.
- Start Peaceful
This monster won't attack unless provoked.
monster_apache: Apache
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_babycrab: Baby Headcrab
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_barnacle: Barnacle Monster
- targetname:
Name
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
monster_barney: Barney
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- UseSentence:
Use Sentence
The sentence (see sound/sentences.txt) to speak when the player tells us to follow.
- UnUseSentence:
Un-Use Sentence
The sentence to speak when the player tells us to stop following.
- RefusalSentence:
Refusal Sentence
The sentence to speak when refusing to follow the player.
- master:
Master (prevents following)
While locked by the master, this monster will refuse to follow the player.
- SpeakAs:
Speech Group
Mostly provided for mod-makers. In the standard sentences.txt, valid settings for
this are BA (speak as a Barney) and SC (speak as a Scientist). To define a
speech group "XX", you need to define sentences XX_ANSWER, XX_QUESTION, XX_IDLE,
XX_STARE, XX_OK, XX_WAIT, XX_STOP, XX_NOSHOOT, XX_HELLO, XX_SMELL, XX_WOUND and
XX_MORTAL. (as well as some others, if the monsters are going to be Pre-Disaster.)
- frags:
Weapon
- Glock (normal)
- Python 357
- spawnflags:
- Monster Flags
- Pre-Disaster
Unless given a Master, a pre-disaster monster will refuse to follow the player.
- Don't Drop Gun
Ensure the player can't take this monster's ammo or weapons.
monster_barney_dead: Dead Barney
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- pose:
Pose
- On back
- On side
- On stomach
- spawnflags:
monster_bigmomma: Big Mamma
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- netname:
First node
- spawnflags:
monster_bloater: Bloater
Not fully implemented: rudimentary AI. Will run away if attacked,
otherwise will stand still.
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_bullchicken: BullSquid
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_cockroach: Cockroach
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_flyer_flock: Flock of Flyers
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- iFlockSize:
Flock Size
- flFlockRadius:
Flock Radius
- spawnflags:
monster_furniture: Monster Furniture
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_gargantua: Gargantua
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_generic: Generic Script Monster
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- size:
Size (X Y Z)

Headcrab: 24 24 24
Houndeye: 32 32 36
Human: 32 32 72
Most Aliens: 64 64 64
- body:
Body

Player: 0 = gordon's head, 1 = hooded.
Gina, Gordon, Helmet and Scientist player models: 0 = original design, 1 = updated (better looking) version.
Barneys: 0 = holstered gun, 1 = holding gun, 2 = missing gun.
Scientists: 0-3 = no syringe, 4-7 = syringe in hand. 4 different heads in each set. (0 = Glasses, 1 = Einstein, 2 = Luther, 3 = Slick)
Human Grunts: 0-3 = Mp5, 4-7 = Shotgun, 8-11 = No gun. 4 different heads in each set. (0 = Gasmask, 1 = Beret, 2 = Skimask, 3 = Cigar)
- health:
Initial Health
If not set, health is 8.
- m_bloodColor:
Blood Color
Experiment with other values (1-255) for different blood colors.
- Don't Bleed
- Red (Human)
- Yellow (Alien)
- m_iszGibModel:
Gib Model
If you don't specify a gib model, one will be chosen based on
the Blood Colour you set.
- spawnflags:
- Monster Flags
- Not solid
- Player model
Tick here if you're using a model from the models/player/ directories.
This option sets it up so that the model's bounding box is centered on its origin (the X in
the middle of the entity, in WorldCraft), instead of being the middle of its bottom face.
- Invulnerable
monster_generic_dead: Generic Dead Body

- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- netname:
Sequence name
The corpse's pose will be the last frame of this sequence.
This overrides the 'death type' value.
- frags:
Death Type
If you don't specify a 'Sequence name', the monster will select a random death
animation of the type you specify here. Not all models have all these death types.
- Just dead
- Fell backwards
- Fell forwards
- Died violently
- Head shot
- Chest shot
- Gut shot
- Shot in the back
- body:
Body
Player: 0 = gordon's head, 1 = hooded.
Gina, Gordon, Helmet and Scientist player models: 0 = original design, 1 = updated (better looking) version.
Barneys: 0 = holstered gun, 1 = holding gun, 2 = missing gun.
Scientists: 0-3 = no syringe, 4-7 = syringe in hand. 4 different heads in each set. (0 = Glasses, 1 = Einstein, 2 = Luther, 3 = Slick)
Human Grunts: 0-3 = Mp5, 4-7 = Shotgun, 8-11 = No gun. 4 different heads in each set. (0 = Gasmask, 1 = Beret, 2 = Skimask, 3 = Cigar)
- m_bloodColor:
Blood Color
Experiment with other values (1-255) for different blood colors.
- Don't Bleed
- Red (Human)
- Yellow (Alien)
- m_iszGibModel:
Gib Model
If you don't specify a gib model, one will be chosen based on
the Blood Colour you set.
- spawnflags:
- Not in Deathmatch
- Player model
monster_gman: G-Man
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_grunt_repel: Human Grunt (Repel)
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_handgrenade: Live Handgrenade
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
monster_headcrab: Head Crab
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_hevsuit_dead: Dead HEV Suit
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- pose:
Pose
- On back
- Seated
- On stomach
- On Table
- spawnflags:
monster_hgrunt_dead: Dead Human Grunt
- targetname:
Name
- skill:
Skill setting
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- pose:
Pose
- On stomach
- On side
- Seated
- weapons:
Weapon
- body:
Head
The "no gun" settings are only included here for backwards compatibility.
- Gasmask
- Gasmask (black skin)
- Beret
- Skimask
- Skimask (black skin)
- Cigar (black skin)
- (Gasmask, no gun)
- (Beret, no gun)
- spawnflags:
monster_houndeye: Houndeye
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- netname:
Squad Name
- spawnflags:
- Monster Flags
- SquadLeader
Only needed if you use the Squad Name value. If you define a Squad using the Squad Name
value, but none of them are flagged as a Squad Leader, then the squad won't get linked
together properly.
monster_human_assassin: Human Assassin
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_human_grunt: Human Grunt (camo)
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- netname:
Squad Name
- weapons:
Weapons
- 9mmAR
- 9mmAR + HG
- 9mmAR + GL
- Shotgun
- Shotgun + HG
- spawnflags:
- Monster Flags
- SquadLeader
Only needed if you use the Squad Name value. If you define a Squad using the Squad Name
value, but none of them are flagged as a Squad Leader, then the squad won't get linked
together properly.
- Don't Drop Gun
Ensure the player can't take this monster's ammo or weapons.
monster_ichthyosaur: Ichthyosaur
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_leech: Leech
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_miniturret: Mini Auto Turret
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- orientation:
Orientation
- Floor Mount
- Ceiling Mount
- spawnflags:
monster_nihilanth: Nihilanth
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_osprey: Osprey
The helicopter which flies around and drops grunts. Basically, whenever a grunt
dies, a replacement will be dropped so that the level contains the same number as
before.
With Spirit, it's no longer necessary to place grunts in your level:
in that situation the Osprey pretends, arbitrarily, that 4 have already died.
NB: An osprey must have a patrol path; if you don't give one, it will fail to
work. Spirit also fixes the Half-Life bug which meant a path_corner had to give
a Speed value... though the Speed values will still function if you choose to use them.
FYI: an Osprey will only drop grunts at path_corners whose Speed is set
to 0. After dropping grunts, it will head for the nearest path_corner whose Speed
is greater than 400, if one exists. Spirit also fixes the Half-Life bug which
crashed the game if no such corner was available.
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
- Monster Flags
- Start Inactive
Until triggered, the osprey won't move or drop grunts.
monster_rat: Rat
Like monster_bloater : no AI, no death animation.
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_satchelcharge: Live Satchel Charge
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
monster_scientist: Scared Scientist
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- UseSentence:
Use Sentence
The sentence (see sound/sentences.txt) to speak when the player tells us to follow.
- UnUseSentence:
Un-Use Sentence
The sentence to speak when the player tells us to stop following.
- RefusalSentence:
Refusal Sentence
The sentence to speak when refusing to follow the player.
- master:
Master (prevents following)
While locked by the master, this monster will refuse to follow the player.
- SpeakAs:
Speech Group
Mostly provided for mod-makers. In the standard sentences.txt, valid settings for
this are BA (speak as a Barney) and SC (speak as a Scientist). To define a
speech group "XX", you need to define sentences XX_ANSWER, XX_QUESTION, XX_IDLE,
XX_STARE, XX_OK, XX_WAIT, XX_STOP, XX_NOSHOOT, XX_HELLO, XX_SMELL, XX_WOUND and
XX_MORTAL. (as well as some others, if the monsters are going to be Pre-Disaster.)
- body:
Body
- Random
- Glasses
- Einstein
- Luther (black skin)
- Slick
- spawnflags:
- Monster Flags
- Pre-Disaster
Unless given a Master, a pre-disaster monster will refuse to follow the player.
monster_scientist_dead: Dead Scientist
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- body:
Body
- Random
- Glasses
- Einstein
- Luther (black skin)
- Slick
- pose:
Pose
- On back
- On Stomach
- Sitting
- Hanging
- Table1
- Table2
- Table3
- spawnflags:
monster_sentry: Sentry Turret Gun
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_sitting_scientist: Sitting Scientist
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- body:
Body
- Random
- Glasses
- Einstein
- Luther (black skin)
- Slick
- spawnflags:
- Monster Flags
- Post-Disaster
Sitting scientists are pre-disaster by default.
monster_snark: Armed Snark
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_target: Target for monsters to attack
While a monster_target is active, monsters will attack it as though it were another monster.
An easy way to make monsters shoot out lights, attack func_tanks, etc.
- targetname:
Name
- movewith:
Moves with
- frags:
When active, count as:
- Ignored
- Scientist
Disliked by human military and most aliens.
- Barney
Hated by human military, disliked by most aliens.
- Human Military
Hated by alien military, disliked by barneys and most aliens.
- Alien Military
Hated by human military, disliked by barneys.
- Other Alien
Disliked by human miliary and barneys.
- Headcrab
Disliked by all humans. Hated by Bullsquids.
- Bullsquid
Disliked by all humans and by other Bullsquids. Feared by Headcrabs.
- Faction A
Disliked by everyone, except other Faction A members.
- Faction B
Disliked by everyone, except other Faction B members.
- Faction C
Disliked by everyone, except other Faction C members.
- spawnflags:
monster_tentacle: Tentacle Arm
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- sweeparc:
Sweep Arc
- sound:
Tap Sound
- spawnflags:
monster_tripmine: Active Tripmine
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monster_turret: Auto Turret
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- orientation:
Orientation
- Floor Mount
- Ceiling Mount
- spawnflags:
monster_zombie: Scientist Zombie
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- skill:
Skill setting
- health:
Initial health (0 = normal)
- model:
Model (e.g. models/can.mdl)
Be careful when changing this - a monster's actions are tied closely to its model.
- skin:
Skin
- scale:
Scale (1.0 = normal size)
- target:
Patrol Path
- m_iClass:
Behave as
- m_iPlayerReact:
Reaction to player
- TriggerTarget:
TriggerTarget
- TriggerCondition:
Trigger Condition
- spawnflags:
monstermaker: Monster Maker
- targetname:
Name
- movewith:
Moves with
- target:
Target On Release
- monstertype:
Monster Type
- netname:
Name of Spawned Monsters
- monstercount:
Number of Monsters
The total number of monsters the monstermaker can create (-1 = unlimited)
- delay:
Time between spawns
If -1, a new monster will only be made when the last monster dies.
Otherwise, this is is the time to wait (seconds) between producing new monsters.
- spawndelay:
Delay before release
Mainly for use with env_warpball . This makes a delay between the monstermaker triggering
its "target on release" entity and the monster appearing. For best results, set the
"target on release" value to the env_warpball, and set the "delay before release" to about 0.5.
- m_imaxlivechildren:
Max live children
The maximum number of live children allowed at one time; if this is set, new children will
not be made until one dies. (-1 = no limit)
- m_iClass:
Monsters behave as
If you just want a monster to be ignored, use the "Prisoner" flag instead.
- Normal
- Scientist
Likes players and barneys; hates Human Military and most aliens; scared of Alien Military and Bullsquids.
- Barney
Likes players and scientists; dislikes Machines, Human Military, and all aliens.
- Human Military
Dislikes scientists and most aliens. Hates players, barneys and Alien Military.
- Machine (Human Military)
Machines go clang when hit, and never gib. Bioweapons (Snarks and Hornets) ignore them.
Otherwise, they're pretty much like Human Military.
- Alien Military
Hates players and Human Military. Dislikes Machines, scientists and barneys.
- Other Alien
Dislikes Machines and all humans.
- Headcrab
Dislikes all humans. Scared of Bullsquids.
- Bullsquid
Hates Headcrabs. Dislikes humans and other Bullsquids.
- Faction A
Dislikes everyone, except other Faction A members.
- Faction B
Dislikes everyone, except other Faction B members.
- Faction C
Dislikes everyone, except other Faction C members.
- m_iPlayerReact:
Monsters reaction to player
Replaces the old "Player Ally" flag.
- Normal
- Ignore
- Friendly until hurt
Scientists usually use this behaviour.
- Friendly unless provoked
Barneys usually use this behaviour.
- Enemy
- spawnflags:
- Start ON
If you don't give the monstermaker a Name, this is the default.
- Cyclic
In Cyclic mode, the maker will spawn a monster each time it's triggered.
(Otherwise, triggering the maker will turn it on, and it will then make monsters as
often as its 'delay' permits.)
- MonsterClip
- Leave corpses
By default, unless "number of monsters" is 1, the corpses of the monsters will fade out.
Tick here to override this. In order to prevent infinite numbers of corpses from appearing,
this flag is ignored if Number of Monsters is set to unlimited,
- Don't Drop Gun
If this is ticked, the created monsters won't drop their weapons when they die.
motion_manager: Control the movement and direction of an entity
For controlling the movement of other entities. There are two main ways to use this entity:
a) Don't give it a targetname, just tell it what entity to affect. In this case, the
motion of the affected entity will be managed however you want. This is mostly useful to
make things MoveWith a func_pushable or a monster. (Just name the func_pushable in the
manager's "Position" field.)
b) Give it a targetname, but leave the "target to affect" set to *locus. Then, type the
motion_manager's name into the "trigger on spawn" field of, for example, an env_shooter.
In this case, every shot the shooter makes will be managed throughout its lifetime.
If you just want to change an entity's position or velocity instantly, once, then see
trigger_motion .
- targetname:
Name
- target:
Target to affect [LE]
- m_iszPosition:
Position (blank = no change)
- m_iPosMode:
Meaning of Position
- Set position [LP]
- Offset position [LV]
- Set velocity [LV]
- Accelerate by [LV]
- Follow position [LV]
- m_iszAngles:
Facing (blank = no change)
- m_iAngMode:
Meaning of Facing
- Face direction [LV]
- Rotate by [LV]
- Rotate by (Y Z X)
- Set avelocity (Y Z X)
- spawnflags:
multisource: Multisource
- targetname:
Name
- target:
Target
- netname:
Target on turning off
- globalstate:
Global State Master
multi_alias: Multi-target alias
A multi_alias is an info_alias with more than one target. It's mainly useful to group entities
together, while still allowing them to have individual names.
For example, suppose you have a set of lights in your level. Each one has its own lightswitch,
which allows it to be switched on and off on its own. But later in the level, you want the power
(i.e. all the lights) to go off. One way to do that would be to make a multi_alias which
targets all the lights, and simply trigger what that alias refers to.
- targetname:
Name
- m_iMode:
Mode
- Normal
- Choose one (weighted)
Each time the alias is used, one of the targets will be chosen
at random. Targets with higher values are proportionally more
likely to be chosen.
- % chance for each
Each time the alias is used, zero or more of the targets will
be valid. The 'value' for each target gives the percentage
chance that it will be valid each time.
multi_manager: MultiTarget Manager
Triggers a sequence of up to 16 entities, at various time offsets.
To specify the list of entities for it to trigger, turn off Worldcraft's "smart edit" mode
and add fields manually. The name of the field is the targetname of the entity to trigger,
and the contents of the field are the time (in seconds) to wait before triggering it.
If a master is given, then while the master is locked, the manager will ignore
all signals. This won't prevent it from continuing a sequence that started while the master
was unlocked, but it will prevent new sequences from starting.
- targetname:
Name
- master:
Master
- wait:
Time offset
How long to wait before starting the sequence. This delay is in addition to the offsets given for each individual target.
- maxwait:
Max Time offset (Random)
If set, then each time it's triggered the manager will wait for a random length of time. The "Time Offset"
value is used as a minimum offset.
- triggerstate:
Trigger to send
Message to send to the targets.
- Toggle
- On
- Off
- Kill
- Same as input
If you select this, the manager will send on whatever triggers (e.g. USE_ON) that it received
itself. So this is a way to "fork" the signal sent by another entity.
- mode:
Mode
- Normal (time offset)
The 'value' for each target is the time offset at which to fire it.
- Choose one (weighted)
Choose one of the targets at random, and fire it. The 'value' gives the relative chance
that each target will be chosen.
- % chance for each
Go through the list of targets, and for each one either fire it, or don't fire it.
The 'value' gives the percentage chance that a value will get fired.
- No delay (ordered)
In this mode, the number for each target specifies its position in the sequence
(relative to the other numbers), but all the targets will actually be fired at the same time.
So setting the targets to A 1, B 2 and C 3 would be equivalent to
setting A 0, B 0, and C 0 in normal mode - except that you can guarantee A will be
fired just before B, which will be just before C.
- m_iszThreadName:
Name of threads
Gives threads a name of their own. This lets you kill/trigger the threads
without affecting the manager, and vice versa. (If this is left blank, the
threads have the same name as the manager.)
This is mostly useful on a multithreaded looped manager, where you can stop all the loops
simultaneously by triggering the threads off.
- m_iszLocusThread:
Trigger on spawn (locus = thread)
Whenever a thread is created, the entity named here will be triggered,
with the new thread as the locus.
- spawnflags:
- Multi-threaded
By default, a manager will ignore all inputs while it's performing a sequence.
Tick this to allow more than one sequence to run at a time.
- Loop
NB: This flag has been moved. Apologies.
When the sequence ends, it will start again from the beginning. To stop the
loop, toggle the manager a second time.
- Once only
The manager will USE_KILL itself when the sequence is complete.
If Loop is also ticked, the manager will only USE_KILL itself when told to stop the loop.
- Start on
The manager will activate itself when the level starts, so that you don't
have to use a trigger_auto. (particularly useful for looping multi_managers.)
- Debug mode
The manager will report to the console when it fires, etc.
multi_watcher: State Watcher

A multi_watcher is like a normal watcher , except that it watches up to 16 entities at once.
The entity is probably most useful when used as a master for another entity- a versatile replacement
for the multisource , in a way. Note that if you need to handle a complex logical operation, you can make a
multi_watcher which watches other multi_watchers.
The list of watched entities is specified in the same way as the targets of a multi_manager , except that the
'value' should be set to 0. (Future versions of Spirit may make use of the value, but for now it's ignored.)
This is a very powerful entity, but is probably only useful for experienced mappers.
- targetname:
Name
- m_fLogic:
Logical test
- All (AND)
- Not all (NAND)
- At least one (OR)
- None (NOR)
- Exactly one (XOR)
- Any number but one (XNOR)
- target:
Entity to notify
This entity will be sent USE_ON or USE_OFF, as appropriate, whenever the watcher's state changes.
- spawnflags:
The bottom 5 flags are used to specify what states are being watched for. Default is to just watch for 'On'.
- Send 'Toggle'
If this is enabled, the watcher will always notify its target with USE_TOGGLE, instead of sending ON or OFF.
- NOT 'On'
- 'Off'
- 'Turn On'
- 'Turn Off'
- 'In Use'
path_corner: Path Corner
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- target:
Next stop target
- message:
Fire on Pass
- wait:
Wait here (secs)
- speed:
Speed (0 = no change)
- armortype:
Meaning of 'Speed'
- Set new speed
- Increase speed by
It's very easy to get the train going 'infinitely' fast with this setting.
Excessively high speeds tend to cause problems, so use with caution.
- Time to next corner
This permanently changes the train's speed, the same way as the other
settings. In other words: when it reaches the next corner, the train's
speed won't change back.
- turnspeed:
Turn speed (Y Z X)
When the train passes this corner, its rate of turning will be set to this value -
just like the "speed" for a corner sets the train's linear speed.
NB: setting this field to "0 0 0" will make the train stop turning. Leaving the
field blank, on the other hand, will leave the train turning at the same rate.
- armorvalue:
Match Angle
If set to "Yes", then as trains approach this corner, they will turn to face its
'angle' value.
By default, the train will keep turning after passing the corner. To
make it stay facing your chosen direction, set "Turn Speed" to "0 0 0".
- spawnflags:
- Wait for retrigger
- Teleport
- Fire once
path_track: Train Track Path
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- target:
Next stop target
- altpath:
Branch Path
- message:
Fire on Pass
- netname:
Fire on dead end
- speed:
Speed (0 = no change)
- armortype:
Meaning of 'Speed'
- Set current speed
In normal Half-Life, this was the only setting available.
NB: This will have no effect unless the train has the "No Control" flag set.
- Set master speed
This sets the train's 'master speed', which means that the train's speed in
all gears (half speed, quarter speed, etc) will also change in proportion to
the number you set.
- Increase speed by
It's very easy to get the train going 'infinitely' fast with this setting.
Excessively high speeds tend to cause problems, so use with caution.
(This changes the 'master speed').
- Time to next corner
This permanently changes the train's speed, the same way as the other
settings. In other words: when it reaches the next corner, the train's
speed won't change back.
(This changes the 'master speed').
- turnspeed:
Turn speed (Y Z X)
When the train passes this corner, its rate of turning will be set to this value -
just like the "speed" for a corner sets the train's linear speed.
NB: setting this field to "0 0 0" will make the train stop turning. Leaving the
field blank, on the other hand, will leave the train turning at the same rate.
- frags:
Meaning of 'Turn Speed'
- Set current turn speed
- Set master turn speed
The value specified will be scaled to fit the speed (e.g. half
speed, quarter speed) the train is currently moving at.
- Back to normal
When you set Turn Speed to make a tracktrain turn around, its normal turning
(face along the track, turn at corners) gets suppressed. Select this when you
want to reenable it. (The 'Turn Speed' value isn't used when this option is
selected.)
- armorvalue:
Match Angle
If set to "Yes", then as trains approach this corner, they will turn to face its
'angle' value.
By default, the train will keep turning after passing the corner. To
make it stay facing your chosen direction, set "Turn Speed" to "0 0 0".
- spawnflags:
- Disabled
- Fire once
- Branch Reverse
- Disable train
player_freeze: Stop player from moving
- targetname:
Name
- delay:
Duration (0 = until retriggered)
- spawnflags:
- Affect locus
If you set this, then the entity expects to freeze the locus you tell it.
If there's no locus, or it isn't a player, nothing will happen.
(If you don't tick this, then player_freeze will just affect player 1.)
player_loadsaved: Load Auto-Saved game
- targetname:
Name
- duration:
Fade Duration (seconds)
- holdtime:
Hold Fade (seconds)
- renderamt:
Fade Alpha
- rendercolor:
Fade Color (R G B)
- messagetime:
Show Message delay
- message:
Message To Display
- loadtime:
Reload delay
player_weaponstrip: Strip player's weapons
- targetname:
Name
- bullets:
Take 9mm bullets
In each of these fields, either choose a preset value from the menu, or else specify
a number of bullets to remove (e.g. 8).
- All
- All except clips
- Empty clips only
- None
- magnum:
Take 357 bullets
- All
- All except clip
- Empty clip only
- None
- shotgun:
Take shotgun ammo
- All
- All except clip
- Empty clip only
- None
- crossbow:
Take crossbow bolts
- All
- All except clip
- Empty clip only
- None
- argrenades:
Take AR grenades
- rockets:
Take rockets
- All
- All except clip
- Empty clip only
- None
- uranium:
Take uranium ammo
- All
- All except clips
- Empty clips only
- None
- satchels:
Take satchel charges
- snarks:
Take snarks
- tripmines:
Take tripmines
- handgrenades:
Take handgrenades
- hornetgun:
Take Hornet Gun
- spawnflags:
- Remove suit
- Leave crowbar
- Leave glock
- Leave 357
- Leave mp5
- Leave crossbow
- Leave shotgun
- Leave rpg
- Leave gauss
- Leave egon
scripted_action: Scripted Action

Note that a monster_generic won't usually do these actions correctly.
If you're using this to make a monster_barney shoot, it'll look odd (as if he's shooting bullets from his
knuckles) unless you first use a scripted_sequence (playing the "draw" animation) or env_customize
(setting body = 1) to put his pistol into his hand; as seen in the SpiritDemo level.
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- target:
Target (fire when done)
- delay:
Delay before firing target
- killtarget:
KillTarget when done
- m_iszFireOnBegin:
Fire after moving
When the animation starts, this target will be triggered. (The standard 'target' value is triggered only when the sequence ends.)
This is useful to let you have special effects etc triggered during the animation.
- m_iszEntity:
Target Monster [LE]
Specify either a classname (e.g. monster_barney) or a targetname to look for.
- m_flRadius:
Search Radius
If "Target Monster" is a classname, the game picks a random monster of that type from within this
search radius.
- m_iPriority:
Priority
- m_iFinishSchedule:
AI Schedule when done
- m_iRepeats:
Repeat action X more times
- m_fRepeatFrame:
Repeat from frame
- m_iszMoveTarget:
Move target (blank = this) [LE]
- m_fMoveTo:
Move to Position
- No (don't turn)
Don't move at all. (Turn Type will be ignored.)
- Walk
Walk to the move target, then turn.
- Run
Run to the move target, then turn.
- No - Only turn
Don't move - just turn to face to whatever the turn mode.
- Instant move + turn
Teleport to the move target. Also, the monster's angle will instantly change to
whatever is specified in the turn target's "turn type".
Spirit fixes a bug which used to freeze a monster when playing scripts with this setting.
- No - Instant turn
Don't move - just change angle to whatever the turn type specifies, instantly.
- m_iszAttack:
Entity to attack (blank = this) [LE]
If you specify a classname (e.g. monster_barney) here, the script will choose a random entity of that
type.
- m_fTurnType:
Turn mode
- Match Angle
Turn to the same angle as the attack entity is facing.
- Turn to face
Turn to look (and aim) at the entity to attack.
- Don't Turn
- m_fAction:
Action to perform
- Ranged Attack
Headcrabs: leap. Houndeye: sonic attack. Barney: fire pistol... and so on. Most monsters have a ranged attack of some kind.
- Ranged Attack 2
Grunts and assassins: throw or launch a grenade at the "attack" entity.
Alien Controller: big homing fireball.
- Melee Attack
Scientist: Heal. Everyone else: Kick, punch, bite, slash with claws, etc.
- Melee Attack 2
Assassins: kick. Bullsquids:bite. Headcrab: rear up on hind legs.
Big Momma: lay a baby headcrab. Gargantua: Flame Thrower.
- Special Attack
Grunts: place a grenade on the ground.
- Special Attack 2
Don't know of any monsters which use this, but feel free to try...
- Reload
Grunts and barneys: Reload. The same thing can be done with a scripted_sequence , but it's available here for convenience.
- Jump
Assassins: jump to the "attack" entity. Houndeyes, Bullsquids and Big Momma: just jump.
- No action
- spawnflags:
- Script Flags
- Override AI
If this isn't ticked, the script will be ignored while the monster is in combat.
scripted_sentence: Scripted Sentence
If no targetname is given, a scripted_sentence will play sentences as often as its "refire" rate permits.
- targetname:
Name
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- movewith:
Moves with
- sentence:
Sentence Name
- entity:
Target Monster (blank for HEV) [LE]
- duration:
Sentence Time
- radius:
Search Radius
If "Target Monster" is a classname, the game picks a random monster of that type from within this
search radius.
- refire:
Delay Before Refire
- listener:
Listener Name/Class
- volume:
Volume 0-10
- attenuation:
Sound Radius
- Small Radius
- Medium Radius
- Large Radius
- Play Everywhere
- spawnflags:
- Fire Once
- Followers Only
- Interrupt Speech
- Concurrent
scripted_sequence: Scripted Sequence
If a scripted_sequence has no targetname, it will start playing as soon as the level begins.
If two or more scripted_sequences have the same targetname, they will be synchronised so that
no matter how long it takes the monsters to walk to the sequence entities, their action animations
will start at the same time. Also, if one of the monsters cancels its sequence (e.g. if it gets
hurt), the other one will too.
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- target:
Target (fire when done)
- delay:
Delay before firing target
- killtarget:
KillTarget when done
- m_iszFireOnBegin:
Fire after moving
When the animation starts, this target will be triggered. (The standard 'target' value is triggered only when the sequence ends.)
This is useful to let you have special effects etc triggered during the animation.
- m_iszEntity:
Target Monster [LE]
Specify either a classname (e.g. monster_barney) or a targetname to look for.
- m_flRadius:
Search Radius
If "Target Monster" is a classname, the game picks a random monster of that type from within this
search radius.
- m_iPriority:
Priority
- m_iFinishSchedule:
AI Schedule when done
- m_iRepeats:
Repeat action X more times
- m_fRepeatFrame:
Repeat from frame
- m_iszMoveTarget:
Move target (blank = this) [LE]
- m_fMoveTo:
Move to Position
- m_iszAttack:
Turn target (blank = this) [LE]
If you specify a classname (e.g. monster_barney) here, the script will choose a random entity of that
type.
- m_fTurnType:
Turn mode
- m_iszPlay:
Action Animation
Animation to play after moving. Note that a monster_generic won't add any sounds or
special effects to its animations. If you need those to appear, you'll have to use the
specific monster_<whatever> entities, instead.
- m_iszIdle:
Idle Animation
If you specify an idle animation, then when the level begins the monster will be frozen and made
to play that animation (this is the main use for the idle animation in Valve's levels). After that
the monster will play the action animation when you trigger the sequence, and will then revert to its
normal AI.
If there are any other scripted_sequences with the same name as this one, then the monster will also play the "idle" animation
while it's waiting for the other sequences to be ready to start.
And finally, if the action animation is the same as the idle animation, then any time the monster would be playing the idle
animation, instead it will be frozen.
Obvious, eh? ;)
- spawnflags:
- ScriptSequence Flags
- Override AI
Unless you tick this, the monster won't play the script when it's in combat.
scripted_tanksequence: Scripted Tank Sequence

- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- m_iszEntity:
Tank to affect
- m_iTurn:
Turn to
- Don't turn
- Match angle
- Face sequence
- Face enemy
- m_iszEnemy:
Enemy to face
Specify either a classname (e.g. monster_barney) or a targetname to look for.
If you leave this blank, the tank will just pick its nearest enemy.
- m_iShoot:
Fire gun
- Don't fire
- Once (at end)
- Constantly
- While facing target
- m_iUntil:
Halt condition
- None
- Tank faces target
- Enemy dies
- target:
Trigger on halt
- m_fDuration:
Time limit (0 = no limit)
- netname:
Trigger on timeout
- m_iActive:
Tank state afterwards
- No change
- Active
- Inactive
- Toggle
- m_iControllable:
Control afterwards
- No change
- Controllable
- Not Controllable
- Toggle
- m_iLaserSpot:
Laser Spot afterwards
- No change
- Turn on
- Turn off
- Toggle
- spawnflags:
- Dump player
Usually, if a player is using the tank when the sequence is activated,
the sequence won't work. Tick here to override that, by dumping the
player when the sequence starts.
- Repeatable
scripted_trainsequence: Scripted Train Sequence
This entity is by no means complete, but is still somewhat usable.
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- m_iszEntity:
Func_train to affect [LE]
- m_iszDestination:
Destination to head for [LE]
- m_iDirection:
Train direction
- Towards destination
- Forwards
- Backwards
- No change
- target:
Fire on arrival
- m_fDuration:
Time limit (0 = no limit)
- netname:
Fire on timeout
- m_iszTerminate:
Fire at end, regardless
This entity will be triggered regardless of how the sequence ends:
by reaching the destination, by timing out, or by the sequence being
triggered 'off' (which causes it to abort).
- m_iPostDirection:
Direction afterwards
- spawnflags:
- Once only
- Skip path
The train will just move straight to the destination
you specify, without trying to follow an existing path.
speaker: Announcement Speaker
- targetname:
Name
- movewith:
Moves with
- preset:
Announcement Presets
- None
- C1A0 Announcer
- C1A1 Announcer
- C1A2 Announcer
- C1A3 Announcer
- C1A4 Announcer
- C2A1 Announcer
- C2A2 Announcer
- C2A4 Announcer
- C3A1 Announcer
- C3A2 Announcer
- message:
Sentence Group Name
- health:
Volume (10 = loudest)
- spawnflags:
target_cdaudio: CD Audio Target
- targetname:
Name
- health:
Track #
- Stop
- Track 1
- Track 2
- Track 3
- Track 4
- Track 5
- Track 6
- Track 7
- Track 8
- Track 9
- Track 10
- Track 11
- Track 12
- Track 13
- Track 14
- Track 15
- Track 16
- Track 17
- Track 18
- Track 19
- Track 20
- Track 21
- Track 22
- Track 23
- Track 24
- Track 25
- Track 26
- Track 27
- Track 28
- Track 29
- Track 30
- radius:
Player Radius
trigger_auto: AutoTrigger
Be careful when using this entity; it will trigger not only when the level starts,
but also when a saved game is loaded.
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- globalstate:
Global State to Read
- triggerstate:
Trigger to send
- spawnflags:
- Remove On fire
- From Player
Tick here to have the trigger_auto's "activator" be the player.
(Not for use in multiplayer levels.)
trigger_autosave: AutoSave Trigger
- targetname:
Name
- master:
Master
- movewith:
Moves with
trigger_bounce: Bouncey area
An entity that things bounce off. Set its Angle to specify the angle to reflect them in;
objects already moving in this direction will be unaffected. (E.g. to make a trampoline,
you would specify "up". Objects which are already moving upwards will be unaffected.)
Try Factor = 2 and Minimum Speed = 150 to make a corridor which players can't run through,
only walk slowly. (Something like the force-fields in Dune.)
- targetname:
Name
- master:
Master
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- netname:
Triggered only by entity
Only trigger when touched by an entity with this name.
If this is set, the flags "Monsters", "Pushables", etc will be ignored.
(Alternatively you can specify a classname, e.g. monster_barney.)
- angles:
Pitch Yaw Roll (Y Z X)
- movewith:
Moves with
- frags:
Factor (0=stop, 1=perfect bounce)
Acts like friction - each bounce will be scaled up or down by this amount.
(for instance, if the factor is 0.5, and you hit the trigger_bounce at 100
units/sec, you'll bounce off at 50 units/sec.)
- armorvalue:
Minimum Speed
If an object hits the trigger_bounce entity slower than this, then it'll
go straight through.
- spawnflags:
- TriggerCond Flags
- Truncate Speed
Tells the entity to reduce bounce speeds by the 'minimum speed' value.
(for instance, if you hit the trigger_bounce at 100 units/sec, the Factor is
0.5 and the min.speed is 20, then you'll bounce off at 40 units/sec.
trigger_camera: Trigger Camera
- targetname:
Name
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- wait:
Hold time
- moveto:
Path Corner
- speed:
Initial Speed
- acceleration:
Acceleration units/sec^2
- deceleration:
Stop Deceleration units/sec^2
- m_iszViewEntity:
Entity to view from (blank = this)
- spawnflags:
- Start At Player
- Follow Player
- Freeze Player
trigger_cdaudio: Trigger CD Audio
- targetname:
Name
- health:
Track #
- Stop
- Track 1
- Track 2
- Track 3
- Track 4
- Track 5
- Track 6
- Track 7
- Track 8
- Track 9
- Track 10
- Track 11
- Track 12
- Track 13
- Track 14
- Track 15
- Track 16
- Track 17
- Track 18
- Track 19
- Track 20
- Track 21
- Track 22
- Track 23
- Track 24
- Track 25
- Track 26
- Track 27
- Track 28
- Track 29
- Track 30
trigger_changealias: Trigger Change Alias

- targetname:
Name
- target:
Alias to affect
- netname:
String to Set
- spawnflags:
- Resolve references
If this is ticked, alias references in the "String to Set" will be resolved before any changes are
applied. So, for example, suppose you set this entity up to affect an alias "alias1", and to set alias1
to target "*myalias".
If "Resolve references" is left unticked, then "alias1" will change to refer to "*myalias"; that is,
in future any changes to "myalias" will also change what "alias1" refers to.
By contrast, if "Resolve references" is ticked, then "alias1" will change to refer to whatever "myalias"
is referring to at the time the trigger_changealias takes effect. Future changes to "myalias" will
therefore not affect "alias1".
- Debug Mode
trigger_changecvar: Change Console Variable

- targetname:
Name
- netname:
CVar to change
- message:
Value to set
- armorvalue:
Duration (-1 = until triggered)
trigger_changelevel: Trigger: Change level
- targetname:
Name
- map:
New map name
- landmark:
Landmark name
- changetarget:
Change Target
- changedelay:
Delay before change target
- spawnflags:
trigger_changetarget: Trigger Change Target
- targetname:
Name
- target:
Entity to affect [LE]
- m_iszNewTarget:
New Target [LE]
trigger_changevalue: Change any entity's values
A really bad idea, IMHO, but created by popular demand.
Use at your own risk, and/or the risk of everyone else in the room.
- targetname:
Name
- target:
Entity to affect [LE]
- netname:
Keyname to change
- m_iszNewValue:
New value to set
trigger_command: Console Command

- targetname:
Name
- netname:
Command String
trigger_counter: Trigger counter
While locked by its master, the trigger_counter _will_ keep counting when fired,
but it won't fire anything itself.
- targetname:
Name
- master:
Master
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- movewith:
Moves with
- count:
Count before activation
- spawnflags:
trigger_endsection: EndSection Trigger
- targetname:
Name
- movewith:
Moves with
- section:
Section
- spawnflags:
trigger_gravity: Trigger Gravity
- targetname:
Name
- gravity:
Gravity (0-1)
trigger_hevcharge: Trigger charge hev

- targetname:
Name
- target:
Target
- master:
Master
- movewith:
Moves with
- frags:
Charge Amount
- delay:
Delay before trigger
- spawnflags:
- Target Once
- Start Off
- Don't Speak
Usually, the HEV suit will comment on the new power level.
trigger_hurt: Trigger player hurt
- targetname:
Name
- target:
Target
- master:
Master
- movewith:
Moves with
- dmg:
Damage
- delay:
Delay before trigger
- damagetype:
Damage Type
- GENERIC
- CRUSH
- BULLET
- SLASH
- BURN
- FREEZE
- FALL
- BLAST
- CLUB
- SHOCK
- SONIC
- ENERGYBEAM
- DROWN
- PARALYSE
- NERVEGAS
- POISON
- RADIATION
- DROWNRECOVER
- CHEMICAL
- SLOWBURN
- SLOWFREEZE
- cangib:
To gib or not to gib
- Normal
- Always gib
- Never gib
- spawnflags:
- Fire once
- Start Off
- No clients
- Only when fired
- Only on touch
trigger_inout: Trigger: Activate on entering or leaving

- targetname:
Name
- master:
Master
- netname:
Triggered only by entity
Only trigger when touched by an entity with this name.
If this is set, the flags "Monsters", "Pushables", etc will be ignored.
(Alternatively you can specify a classname, e.g. monster_barney.)
- movewith:
Moves with
- target:
Fire on entering
- m_iszAltTarget:
Fire on leaving
- m_iszBothTarget:
Fire on/off (entering/leaving)
- spawnflags:
trigger_monsterjump: Trigger monster jump
- master:
Master
- movewith:
Moves with
- speed:
Jump Speed
- height:
Jump Height
trigger_motion: Set the position and movement of an entity
This replaces the trigger_setposition and trigger_setvelocity entities, which have
been removed. Apologies for any inconvenience.
If you want to control motion for a period of time, see motion_manager .
- targetname:
Name
- target:
Target to affect [LE]
- m_iszPosition:
Position (blank = no change)
- m_iPosMode:
Meaning of Position
- Set new position [LP]
- Add offset [LV]
- m_iszAngles:
Angles (blank = no change)
- m_iAngMode:
Meaning of Angles
- Set new angle [LV]
- Rotate by [LV]
- Rotate by (Y Z X)
- m_iszVelocity:
Velocity (blank = no change)
- m_iVelMode:
Meaning of Velocity
- Set new velocity [LV]
- Add to velocity [LV]
- Rotate velocity by [LV]
- Rotate velocity (Y Z X)
- m_iszAVelocity:
AVelocity (blank = no change)
- m_iAVelMode:
Meaning of AVelocity
- Set new avelocity (Y Z X)
- Add to avelocity (Y Z X)
- spawnflags:
trigger_once: Trigger: Activate once
- targetname:
Name
- master:
Master
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- netname:
Triggered only by entity
Only trigger when touched by an entity with this name.
If this is set, the flags "Monsters", "Pushables", etc will be ignored.
(Alternatively you can specify a classname, e.g. monster_barney.)
- movewith:
Moves with
- message:
Text when triggered
- noise:
Sound when triggered
- spawnflags:
trigger_multiple: Trigger: Activate multiple
trigger_onsight: Trigger when A sees B
In fact, this should probably be called watcher_onsight.
- targetname:
Name
- master:
Master
- movewith:
Moves with
- netname:
Looking entity (blank=player)
Put the targetname of the entity whose eyes the trigger_onsight should look through.
(if you want to trigger when the trigger_onsight itself sees something, i.e.
simulating a security camera, put the name of the trigger_onsight.)
- message:
Entity/classname to look at
Leave this blank to have it trigger when something sees the trigger_onsight.
You can also put a classname here, to trigger when the Looking Entity sees
any entity of that class.
- target:
Fire when seen
- noise:
Fire when no longer seen
- noise1:
Fire on/off (seen/not seen)
- frags:
View range (0=unlimited)
- max_health:
Field of view (degrees)
Currently, only the horizontal view will be checked.
- spawnflags:
- No LOS check
Don't check line of sight: i.e. it doesn't matter if there's something
in the way.
- Seethru glass
trigger_push: Trigger player push
- targetname:
Name
- master:
Master
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- movewith:
Moves with
- speed:
Speed of push
- spawnflags:
trigger_lightstyle: Trigger Change Lightstyle
Only affects dynamic (i.e. named) lights.
- targetname:
Name
- target:
Target to affect [LE]
- style:
New Appearance
- On
- Off
- Fluorescent flicker
- Slow, strong pulse
- Slow pulse, noblack
- Gentle pulse
- Flicker A
- Flicker B
- Candle A
- Candle B
- Candle C
- Fast strobe
- Slow strobe
- Underwater
- Slow Fade In
- Medium Fade In
- Fast Fade In
- pattern:
Custom Appearance
- m_iFade:
Fade time
- m_iWait:
Hold time (-1 = permanent)
trigger_relay: Trigger Relay
- targetname:
Name
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- master:
Master
- m_iszAltTarget:
Target if locked by master
This field allows you to use the trigger_relay as a kind of conditional jump: it
looks at its master, and does different actions based on the master's state.
- triggerstate:
Trigger to send
- Off
- On
- Toggle
- Kill
- Same as input
- Opposite of input
I.e. when triggered ON, send OFF. And vice versa.
- Ratio (momentary doors)
Setting this will cause the target momentary door to move to a particular position.
- message:
Set ratio (blank = no change) [LR]
Use this in combination with usetype Ratio, to trigger momentary doors.
For example, sending 1.0 tells them to go fully
open, 0.0 fully closed, and 0.5 half-way.
- spawnflags:
- Remove On fire
- Debug Mode
If you're trying to work out what's going wrong with your level,
try ticking here and the relay will tell you when it triggers, etc.
Here's a useful trick: make a trigger_relay with this field ticked,
and give it the same name as an entity that you're interested in.
The relay will then notify you whenever that entity gets triggered.
trigger_rottest: Trigger RotTest
don't use. This is just a test entity.
- targetname:
Name
- target:
Marker ent
- netname:
Reference ent
- message:
Hinge ent
- health:
Distance
- armortype:
Angle Step
trigger_sound: Brush-based DSP Sound

- targetname:
Name
- master:
Master
- target:
Fire when activated
- delay:
Delay before trigger
- killtarget:
KillTarget
- roomtype:
Room Type
- (Disable all filters)
- Generic (no filters)
- Metal Small
- Metal Medium
- Metal Large
- Tunnel Small
- Tunnel Medium
- Tunnel Large
- Chamber Small
- Chamber Medium
- Chamber Large
- Bright Small
- Bright Medium
- Bright Large
- Water 1
- Water 2
- Water 3
- Concrete Small
- Concrete Medium
- Concrete Large
- Big 1
- Big 2
- Big 3
- Cavern Small
- Cavern Medium
- Cavern Large
- Weirdo 1
- Weirdo 2
- Weirdo 3
trigger_startpatrol: Trigger Start Patrol
Suggest to the specified monster that it should follow the given path. This is a low priority
activity, superceded when it spots a player (for instance).
(The same thing happens if you give the monster a "target".)
- targetname:
Name
- target:
Target monster
- m_iszPath:
Patrol path start
trigger_teleport: Trigger teleport
- targetname:
Name
- master:
Master
- netname:
Triggered only by entity
Only trigger when touched by an entity with this name.
If this is set, the flags "Monsters", "Pushables", etc will be ignored.
(Alternatively you can specify a classname, e.g. monster_barney.)
- movewith:
Moves with
- target:
Destination entity
- message:
Landmark entity
- noise:
Fire on teleporting
- spawnflags:
trigger_transition: Trigger: Select Transition Area
watcher: State Watcher

A watcher watches an entity, waiting for it to be in a given state. The default behaviour is for
the watcher to be 'On' if the watched entity is 'On', and to be 'Off' at all other times.
The main use for a watcher is to fire another entity (the "entity to notify"), each time the
watcher's state changes.
- targetname:
Name
- m_iszWatch:
Entity to watch [LE]
- m_fLogic:
State if entity isn't found
The watcher will revert to this state if the watched entity is killtargetted, or if it's a func_breakable which breaks.
- target:
Target to notify
This entity will be sent USE_ON or USE_OFF, as appropriate, whenever the watcher's state changes.
- spawnflags:
The bottom 5 flags are used to specify what states are being watched for. Default is to just watch for 'On'.
- Send 'Toggle'
If this is enabled, the watcher will notify its target with USE_TOGGLE, instead of sending ON or OFF.
- Don't Send On
If this is enabled, the target won't be triggered when the watcher turns on.
- Don't Send Off
If this is enabled, the target won't be triggered when the watcher turns off.
- NOT 'On'
- 'Off'
- 'Turn On'
- 'Turn Off'
- 'In Use'
watcher_count: Watcher, entity count
!= means "not equal"
If this is set, one set of targets (on or off) will be fired,
as appropriate, when the level starts.
- targetname:
Name
- noise:
Count entities named...
- impulse:
Comparison number
- m_iMode:
Type of comparison
- 'On' when count = number
- 'On' when count != number
- 'On' when count > number
- 'On' when count >= number
- 'On' when count < number
- 'On' when count <= number
- target:
Fire on changing state
- netname:
Fire on turning on
- message:
Fire on turning off
- noise1:
Fire when count increases
- noise2:
Fire when count decreases
- spawnflags:
- Fire at startup
If this is set, one set of targets (on or off) will be fired,
as appropriate, when the level starts.
weapon_357: 357 Handgun
!= means "not equal"
If this is set, one set of targets (on or off) will be fired,
as appropriate, when the level starts.
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_9mmAR: 9mm Assault Rifle
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_9mmhandgun: 9mm Handgun
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_crossbow: Crossbow
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- sequence:
Placement
- Normal (flat)
- Realistic (tilted)
- spawnflags:
weapon_crowbar: Crowbar
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_egon: Egon Gun
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_gauss: Gauss Gun
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_glock: 9mm Handgun
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_handgrenade: Handgrenade Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_hornetgun: Hornet Gun
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_mp5: 9mm Assault Rifle
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_rpg: RPG
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_satchel: Satchel Charge Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_shotgun: Shotgun
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_snark: Squeak Grenade
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
weapon_tripmine: Tripmine Ammo
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
world_items: World Items
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- skill:
Skill setting
- target:
Target
- delay:
Delay before trigger
- killtarget:
KillTarget
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- type:
types
- Antidote
- Security Card
- Battery
- Suit
- spawnflags:
xen_hair: Xen Hair
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
- spawnflags:
xen_plantlight: Xen Plant Light
- target:
Target
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
xen_spore_large: Xen Spore (large)
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
xen_spore_medium: Xen Spore (medium)
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
xen_spore_small: Xen Spore (small)
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
xen_tree: Xen Tree
- targetname:
Name
- angles:
Pitch Yaw Roll (Y Z X)
- renderfx:
Render FX
- rendermode:
Render Mode
- renderamt:
FX Amount (1 - 255)
- rendercolor:
FX Color (R G B)
Appendix:
HLRAD Opacity (ZHLT 2.5.1+):
- Normal (0)
- Embedded Fix (1)
- Opaque (Blocks light) (2)
- Opaque + Embedded Fix (3)
- ConcaveFix (6)
Falloff (ZHLT 2.5.1+):
- Inverse Square (1)
- Inverse Linear (2)
Texlight style:
- Normal (on)
- Fluorescent flicker
- Slow, strong pulse
- Slow pulse, noblack
- Gentle pulse
- Flicker A
- Flicker B
- Candle A
- Candle B
- Candle C
- Fast strobe
- Slow strobe
- Underwater
Texlight style:
- Normal (on)
- Switchable (starts on)
- Switchable (starts off)
- Fluorescent flicker
- Slow, strong pulse
- Slow pulse, noblack
- Gentle pulse
- Flicker A
- Flicker B
- Candle A
- Candle B
- Candle C
- Fast strobe
- Slow strobe
- Underwater
Skill setting:
- All skills
- Not in easy
- Not in medium
- Not in hard
- Only in easy
- Only in medium
- Only in hard
Render FX:
- Normal
- Slow Pulse
Additive or Texture mode only.
- Fast Pulse
Additive or Texture mode only.
- Slow Wide Pulse
Additive or Texture mode only.
- Fast Wide Pulse
Additive or Texture mode only.
- Slow Strobe
- Fast Strobe
- Faster Strobe
- Slow Flicker
- Fast Flicker
- Constant Glow (Sprites)
This setting only affects the Glow rendermode. With this setting, Glow mode behaves
exactly like Additive mode - except that (as is usual for Glow mode) the sprite isn't
obscured by intervening sprites or models. (Hmm. Call me slow, but..... how is this
useful?)
- Distort (Models)
- Hologram (Distort + fade)
- Bulge Sideways (Models)
Strange effect. As seen, briefly, when a Gargantua dies.
- Glowing Aura (Models)
Quite pretty. As seen in Valve's mod Deathmatch Classic.
- Reflection (Models)
Draw a reflection under this model's feet.
Render Mode:
- Normal
- Pure Color
For BSP objects, the object will be rendered as a pure area of whatever
color is specified in FX Color.
For models and sprites, this is the same as Normal mode.
- Texture
For BSP objects, the object will be rendered without shadows.
For models and sprites, this is the same as Normal mode, except that the Pulse
renderfx settings work.
- Glow (sprites only)
Like additive, but as the player gets further from the sprite, it gets
progressively larger and more transparent. The sprite is also not obscured by
intervening models, which can sometimes look bad.
Alphatest sprites won't use their masks in this mode.
- Solid
For BSP objects, this only affects textures beginning with {. Blue pixels
will be transparent; non-blue pixels will be solid.
For models, this mode is the same as Normal mode.
For sprites, this mode is for displaying sprites in Indexalpha mode - i.e.
the palette positions are used as opacity settings; 0 for fully transparent,
and 255 for fully opaque, regardless of what the palette colors actually are.
The only palette colour that will be used is the last one, which sets the
colour for the whole sprite. (Needless to say, this will look odd unless the
sprite is designed to be displayed this way!)
Oddly, Alphatest sprites won't use their masks in this mode.
- Additive
Only bright parts of the object are visible; darker parts are just more
transparent, and black is not drawn. Useful for making lighting or hologram
effects.
Locked Sound:
The locked sound & sentence will be played if:
1) The player walks into a door which has a name. (and Force Touchable isn't selected.)
2) A door/button with a master gets activated, but the master is disabled.
The number against each sound corresponds to the wav file played.
e.g. Buzz (10) plays "buttons/button10.wav".
- None
- Access Denied (2)
- Small zap (8)
- Buzz (10)
- Buzz Off (11)
- Latch Locked (12)
Unlocked Sound:
The unlocked sound & sentence will be played whenever a door starts to open and whenever
a button starts to push in. (They will never be played when a door starts to close, even if
"Toggle" is selected.)
The number against each sound (except lightswitch) corresponds to the wav file played.
e.g. Buzz (10) plays "buttons/button10.wav".
- None
- Big zap & Warmup (1)
- Access Granted (3)
- Quick Combolock (4)
- Power Deadbolt 1 (5)
- Power Deadbolt 2 (6)
- Plunger (7)
- Small zap (8)
- Keycard Sound (9)
- Buzz (10)
- Latch Unlocked (13)
- Lightswitch
Locked Sentence:
The letters correspond to the sentence group played (see sound/sentences.txt);
e.g. Blast Door (NF) will cycle through NF0, NF1 and NF3.
- None
- Gen. Access Denied (NA)
- Security Lockout (ND)
- Blast Door (NF)
- Fire Door (NFIRE)
- Chemical Door (NCHEM)
- Radiation Door (NRAD)
- Gen. Containment (NCON)
- Maintenance Door (NH)
- Broken Shut Door (NG)
Unlocked Sentence:
The letters correspond to the sentence group played (see sound/sentences.txt);
e.g. Blast Door (EF) will cycle through EF0, EF1 and EF3.
- None
- Gen. Access Granted (EA)
- Security Disengaged (ED)
- Blast Door (EF)
- Fire Door (EFIRE)
- Chemical Door (ECHEM)
- Radiation Door (ERAD)
- Gen. Containment (ECON)
- Maintenance area (EH)
Behave as:
If you just want a monster to be ignored, use the "Prisoner" flag instead.
- Normal
- Scientist
Likes players and barneys; hates Human Military and most aliens; scared of Alien Military and Bullsquids.
- Barney
Likes players and scientists; dislikes Machines, Human Military, and all aliens.
- Human Military
Dislikes scientists and most aliens. Hates players, barneys and Alien Military.
- Machine (Human Military)
Machines go clang when hit, and never gib. Bioweapons (Snarks and Hornets) ignore them.
Otherwise, they're pretty much like Human Military.
- Alien Military
Hates players and Human Military. Dislikes Machines, scientists and barneys.
- Other Alien
Dislikes Machines and all humans.
- Headcrab
Dislikes all humans. Scared of Bullsquids.
- Bullsquid
Hates Headcrabs. Dislikes humans and other Bullsquids.
- Faction A
Dislikes everyone, except other Faction A members.
- Faction B
Dislikes everyone, except other Faction B members.
- Faction C
Dislikes everyone, except other Faction C members.
Reaction to player:
Replaces the old "Player Ally" flag.
- Normal
- Ignore
- Friendly until hurt
Scientists usually use this behaviour.
- Friendly unless provoked
Barneys usually use this behaviour.
- Enemy
Trigger Condition:
- No Trigger
- See Player, Mad at Player
- Take Damage
- 50% Health Remaining
- Death
- Hear World
- Hear Player
- Hear Combat
- See Player Unconditional
- See Player, Not In Combat
Monster Flags:
- Not in Deathmatch
- WaitTillSeen
Don't attack the player until s/he can see us.
- Gag
Don't speak except when in combat. Don't make "idle" noises.
- Monster Clip
If ticked, the monster can't enter a func_monsterclip area.
- Prisoner
If ticked, the monster will ignore all other monsters and vice versa.
- No yellow blobs
The dreaded yellow blobs appear for a good reason; they show a monster is stuck
in a wall and unable to move. Only tick this if you're happy for it to be stuck.
- Fade Corpse
gibshooterbase Flags:
Appearance (static):
This field will have no effect on a dynamic (i.e. named) light.
- Normal (on)
- Fluorescent flicker
- Slow, strong pulse
- Slow pulse, noblack
- Gentle pulse
- Flicker A
- Flicker B
- Candle A
- Candle B
- Candle C
- Fast strobe
- Slow strobe
- Underwater
Appearance (on):
This field will have no effect on a static (i.e. nameless) light.
- Normal (on)
- Off
- Fluorescent flicker
- Slow, strong pulse
- Slow pulse, noblack
- Gentle pulse
- Flicker A
- Flicker B
- Candle A
- Candle B
- Candle C
- Fast strobe
- Slow strobe
- Underwater
Appearance (off):
This field will have no effect on a static (i.e. nameless) light.
- Normal (off)
- On
- Fluorescent flicker
- Slow, strong pulse
- Slow pulse, noblack
- Gentle pulse
- Flicker A
- Flicker B
- Candle A
- Candle B
- Candle C
- Fast strobe
- Slow strobe
- Underwater
Appearance (turn on):
This field will have no effect on a static (i.e. nameless) light.
- Normal (off)
- On
- Fluorescent flicker
- Slow, strong pulse
- Slow pulse, noblack
- Gentle pulse
- Flicker A
- Flicker B
- Candle A
- Candle B
- Candle C
- Fast strobe
- Slow strobe
- Underwater
Appearance (turn off):
This field will have no effect on a static (i.e. nameless) light.
- Normal (on)
- Off
- Fluorescent flicker
- Slow, strong pulse
- Slow pulse, noblack
- Gentle pulse
- Flicker A
- Flicker B
- Candle A
- Candle B
- Candle C
- Fast strobe
- Slow strobe
- Underwater
Material type:
- Glass
Gibs: models/glassgibs.mdl
Break noise: debris/bustglassX.wav
Bounce noise: debris/glassX.wav
- Wood
Gibs: models/woodgibs.mdl
Break noise: debris/bustcrateX.wav
Bounce noise: debris/woodX.wav
- Metal
Gibs: models/metalplategibs.mdl
Break noise: debris/bustmetalX.wav
Bounce noise: debris/metalX.wav
- Flesh
Gibs: models/fleshgibs.mdl
Break noise: debris/bustfleshX.wav
Bounce noise: debris/fleshX.wav
- Cinder Block
Gibs: models/cindergibs.mdl
Break noise: debris/bustconcreteX.wav
Bounce noise: debris/concreteX.wav
- Ceiling Tile
Gibs: models/ceilinggibs.mdl
Break noise: debris/bustceilingX.wav
Bounce noise: none
- Computer
Gibs: models/computergibs.mdl
Break noise: debris/bustmetalX.wav
Bounce noise: debris/woodX.wav
Note: Generates sparks when damaged.
- Unbreakable Glass
Gibs: models/glassgibs.mdl
Break noise: debris/bustglassX.wav
Bounce noise: debris/glassX.wav
Note: Makes ricochet noises when damaged.
- Rocks
Gibs: models/rockgibs.mdl
Break noise: debris/bustconcreteX.wav
Bounce noise: debris/concreteX.wav
Gibs Direction:
- Random
- Relative to Attack
Spawn On Break:
- Nothing
- Battery
- Healthkit
- 9mm Handgun
- 9mm Clip
- Machine Gun
- Machine Gun Clip
- Machine Gun Grenades
- Shotgun
- Shotgun Shells
- Crossbow
- Crossbow Bolts
- 357
- 357 clip
- RPG
- RPG Clip
- Gauss clip
- Hand grenade
- Tripmine
- Satchel Charge
- Snark
- Hornet Gun
Respawn time (secs):
- No respawn
- Respawn when triggered
Breakable Flags:
- Only Trigger
- Touch
- Pressure
- Fade Respawn
- Instant Crowbar
Fire before moving:
Together with "On/Off Aware", this field replaces the old
"synchronised" flag.
When set, the door will fire its Target as soon as it
starts to move, instead of firing when it reaches the end
of its move.
(NB: the "Target on Open" and "Target on Close" fields are not
affected; they will still fire at the end of movement.)
On/Off Aware:
Together with "Fire before moving", this field replaces the old
"synchronised" flag.
When this is set, instead of always firing its target with
USE_TOGGLE, the door will send USE_ON when opening and USE_OFF
when closing. (NB: the "fire on open" and "fire on close" fields
will still send USE_TOGGLE.)
Additionally, instead of simply toggling whenever it's
triggered, the door will open when sent USE_ON, and close when
sent USE_OFF.
Move Sound:
The number against each sound corresponds to the wav file played.
e.g. Vacuum (4) plays "doors/doormove4.wav".
- No Sound
- Servo (Sliding) (1)
- Pneumatic (Sliding) (2)
- Pneumatic (Rolling) (3)
- Vacuum (4)
- Power Hydraulic (5)
- Large Rollers (6)
- Track Door (7)
- Snappy Metal Door (8)
- Squeaky 1 (9)
- Squeaky 2 (10)
Stop Sound:
The number against each sound corresponds to the wav file played.
e.g. Chunk (4) plays "doors/doorstop4.wav".
- No Sound
- Clang with brake (1)
- Clang reverb (2)
- Ratchet Stop (3)
- Chunk (4)
- Light airbrake (5)
- Metal Slide Stop (6)
- Metal Lock Stop (7)
- Snappy Metal Stop (8)
Door Flags:
- Not in Deathmatch
- Starts Open
- Don't link
- Passable
- Toggle
- Use Only
- Monsters Can't
- Force Touchable
Normally a named door, or a door with "use only" selected, won't open when touched.
Tick here to override that.
Bullet accuracy:
- Perfect Shot
- Small cone
- Medium cone
- Large cone
- Extra-large cone
Behaviour:
- Attack only players
- Barney
- Human Military
- Alien Military
BaseTank Flags:
- Active
For computer-controlled guns. The gun is 'On'- i.e. ready to fire at the player- at the start of the level.
- Line of Sight
For computer-controlled guns. If the gun can't see the player, it won't fire.
(usually, for a while, the tank will keep firing at the last place it saw the player.)
- Controllable
To make a tank which the player can use, you'll also need a func_tankcontrols entity.
- Laser Spot
Makes the gun project a laser spot, similar to the player's rocket launcher.
This is helpful for players who are trying to aim with it.
- Match Target
For player-controlled guns.
Makes the gun point at whatever is at the centre of the player's view, instead of simply facing the same way as the player.
Move Sound:
- No Sound
- big elev 1
- big elev 2
- tech elev 1
- tech elev 2
- tech elev 3
- freight elev 1
- freight elev 2
- heavy elev
- rack elev
- rail elev
- squeek elev
- odd elev 1
- odd elev 2
Stop Sound:
- No Sound
- big elev stop1
- big elev stop2
- freight elev stop
- heavy elev stop
- rack stop
- rail stop
- squeek stop
- quick stop
Trackchange Flags:
- Auto Activate train
- Relink track
- Start at Bottom
- Rotate Only
- X Axis
- Y Axis
TriggerCond Flags:
- Monsters
- No Clients
- Pushables
- Everything else
Priority:
- Normal
- Override other sequences
AI Schedule when done:
Script Flags:
- Repeatable
Default behaviour for a sequence is to delete itself after finishing.
- No Interruptions
If the player shoots a monster or tells a scientist/barney to follow him, any
scripts the monster is playing will usually be interrupted.
Move to Position:
- No (don't turn)
Don't move at all. (Turn Type will be ignored.)
- Walk
Walk to the move target, then turn.
- Run
Run to the move target, then turn.
- No - Only turn
Don't move - just turn to face to whatever the turn mode.
- Instant move + turn
Teleport to the move target. Also, the monster's angle will instantly change to
whatever is specified in the turn target's "turn type".
Spirit fixes a bug which used to freeze a monster when playing scripts with this setting.
- No - Instant turn
Don't move - just change angle to whatever the turn type specifies, instantly.
Turn mode:
- Match Angle
Turn to the same angle the turn target is facing.
- Turn to face
Turn to look at the turn target.
- Don't Turn
ScriptSequence Flags:
- Script Flags
- Leave Corpse
If the animation includes the monster dying, don't fade the corpse afterwards.
- No Script Movement
Even if the animation makes the monster look like it's walking around, DON'T shift
the monster to its apparent new location when the animation ends.
- Monster Dies
Some death sequences kill the monster automatically (e.g. "herodie" in loader.mdl)
but for most you'll have to tick this box. This is affected by Leave Corpse in the
obvious way.