-
Notifications
You must be signed in to change notification settings - Fork 12
Other entities
-
Reaction of entity to its master's state can be reverted by adding
~
symbol at the start of the referred name.
-
New parameters
Entity to play from
andChannel to use for that entity
. This allows to play a sound on the channel of another entity. Note that the entity can override the played sound through its own behavior if they decide to play something else on the selected channel. Ifambient_generic
plays a looped sound on another entity, the channel must be Static.
-
Health for pickup
parameter. - Customizable can model.
-
New parameter
Initial position
to define a dynamic explosion position. - New parameter
Fireball Sprite
to configure the explosion sprite. - New parameter
Custom sprite scale
to configure the explosion sprite scale. - New parameter
Custom Smoke Sprite
to configure the smoke sprite. - New flag
No sound
to prevent playing an explosion sound. - New flag
Activator is attacker
to send the entity's activator as an attacker when dealing damage (e.g. to make monsters angry at the activator).
-
Repeatable
flag. - Custom particle sprite.
See Global variables.
-
New parameter
Scale
- change the object scale (applies to sprites and models). -
New parameter
Fade Time
- the time in seconds during which the object render parameters gradually change to the specified ones. Also affects theScale
change if it's specified. -
New parameter
Fade Coarseness
- time in seconds between the fading updates. -
New parameter
Trigger after fading
- fire after the object render parameter have changed.
- New flag
Don't wait till land
, so the spawned gibs may start fading out before landing.
-
New flag
Cyclic
for playing spark effect once on triggering. - Sound volume and radius are now configurable.
- Configurable spark sprite, duration and scale.
- Configurable number of streaks.
-
env_spark
entities no longer transit to other level by default. The server featureenv_spark_transit
controls the behavior.
- env_sprite can be attached to entity (or an attachment point).
-
Once + Remove
flag to remove sprite after playing it once. - New parameter
Start frame
to configure the starting frame. Useful if you want to desync animations of severalenv_sprite
instances located in the same area and using the same sprite (e.g. waterfall splatters). Negative values mean the random starting frame.
- Fixed
func_breakable
taking damage from some attacks even ifOnly Trigger
spawnflag is set (original Half-Life bug). - Most of spawnobject values are compatible with those in Sven Co-op.
-
New flag
Explosive Only
to make the breakable resistant to any non-explosive damage. - New flag
Op4Mortar only
to make the breakable resistant to anything besides op4mortar shells. -
Relative to attack
option is now working as intended (was buggy in Half-Life). -
Not solid
flag to make breakable non-solid (can be destroyed only with trigger). -
Smoke trails on gibs
flag to add gray particle trails on gibs (using the default effect from the engine). -
Transparent gibs
flag to make gibs semi-transparent.
-
New flag
Direct use only
to require a non-occluded view of entity in order to use it (superceded by a new parameterPlayer use policy
) - New parameter
Player use policy
to choose an algorithm of detecting if player can use a button. -
New flag
Player Can't Use
to disallow player use (button still can be called via other entities) - Custom sounds (including locked and unlocked sounds and sentences).
- func_rot_button is no sparking anymore if flag 64 is set. In Half-Life the conflicting flag from func_button was being applied unintentionally.
- New parameter
Use Type
to set the passed use type to a button's target (On or Off).
-
New parameter
Direct use only
to require a non-occluded view of entity in order to use it. -
New flag
Force Touchable
allows to open named doors by touching. -
New parameter
Ignore Targetname
allows to open named doors by touching (same as the flag above, but in the parameter form). - Custom Move and Stop sounds.
-
Custom
Locked
andUnlocked
sounds and sentences. - New parameter
Sound radius
to configure door sounds attenuation. -
New parameters
Fire On Open Start
,Fire On Close Start
,Fire On Open End
andFire On Close End
and corresponding parameters to denote trigger states. -
New parameter
Obey Trigger Mode
to make doors interpret the use-type when triggered. - New parameter
Collision with corpses
allows to ignore collision with dead monsters. Corpses won't block this door and won't get crushed. - New parameter
Continue moving if blocker is crushed
. By default this behavior is controlled globally by thedoors_blocked_recheck
feature. This option allows to configure the behavior specifically for the door instance. - New parameter
If locked, play locked sound on use
allows to enable playing the locked sounds for usable doors when the door is locked by a master. In Half-Life usable doors don't play the locked sounds.
- Can be turned off and on by a trigger.
-
New parameter
Custom Juice Amount
. -
New parameters
Custom Loop Sound
,Custom Denied Sound
andCustom Start Sound
. - New parameter
Custom Recharge Sound
. -
New parameters
Trigger On Empty
andTrigger On Recharged
. - New parameter
Trigger On First Use
.
-
Can be turned off and on. New flag
Start Off
.
- New parameter
Collision with corpses
allows to ignore collision with dead monsters. This will ensure that the dead body won't block the pushable.
- New parameter
Bullet count
to configure a limited number of bullets for tank. - Controllable tanks now can be removed from the map without a risk of crashing the game if tank was removed during the player's usage.
-
New flag
Laser spot
. -
New parameter
Behavior
.
- Custom move, start and brake sounds.
- New parameter
Sound radius
to configure platform sounds attenuation.
-
New parameter
Custom move sound
. -
New parameter
Custom stop sound
. -
New flag
Origin on paths
. -
New flag
Initially On
. - New parameter
Sound radius
to configure platform sounds attenuation. - Fixed a bug when train did not stop playing its sound when stopped by trigger.
-
New parameter
Obey Trigger Mode
to make train interpret the use-type when triggered. - Move sound pitch can be configured.
-
New flag
Use angles
to make thefunc_wall
use angles defined in the map source file for the entity. Note that the angle will be applied only in the game, you can't preview the result in the editor.
- Can be turned on and off.
See Monstermaker.
-
New flag
Fire if over limit
- Entity now respects its master value (in Half-Life it did not care).
-
Configuring use-types using delay value suffixes:
#0
for Off,#1
for On,#2
for Kill. In addition to Sven Co-op like suffixes, the following are implemented as alternatives to digit suffixes:#off
,#on
,#kill
. - Two additional suffixes are
#forward
and#reverse
used to forward or forward-reversed the use type themulti_manager
was triggered with. Example: ifmulti_manager
was triggered withOn
use type, all targets which have#forward
suffix in the delay value will be triggered withOn
. All targets which have#reverse
suffix in the delay will be triggered withOff
. - Same changes regarding the delay value suffixes are applied to
multi_trigger
andmulti_sequence
entities. -
Once only
flag to remove multi-manager after it fires all its targets.
- New parameter
Required state
to require a certain monster state for saying a sentence. - New parameter
Follow action
to make a monster start or stop following upon saying a sentence. - New parameter
Apply search radius
to do the radius check when searching for monster by its targetname. - New parameter
Speaker Search Origin
to set a different entity to search the speaker around instead of thescripted_sentence
itself. - More options for
Sound Radius
parameter. - New parameter
Target's Activator
allows to set activator to either script itself or the speaking monster when triggering the script target. -
Speaker
can be*locus
(!activator
) for chained scripted sentences. -
Require listener
flag to make sentence playable only if listener is present. -
Listener type
can be*locus
(!activator
). - New parameter
Allow use during speech
to allow monster start or stop following the player when+use
is pressed while the monster is speaking its scripted sentence. - Buttons and cyclers can be speakers for scripted sentences (like in HL 25 anniversary).
- The camera view is getting restored on save/restore (was bugged in Half-Life).
-
New spawnflag
Player Invulnerable
to make player invulnerable to attacks while they're using the camera. -
New spawnflag
Ignore Hold Time
. - New spawnflag
Alive player only
to prevent camera activating on the dead player (which is possible in Half-Life). - New spawnflag
Don't fire look target
to prevent firing the entity the camera looks at (we keep this weird behavior from Half-Life by default in order to maintain compatibility). - New parameter
Stop by player input
- allow player to press '+use' in order to stop watching at the camera. -
New parameter
Target when turned off
.
-
New flag
Everything else
to accept anything else besides players, monsters and pushables as activator on touching. -
New parameter
Triggered only by entity
to filter touchers by targetname or classname.
-
New flag
No clients
. -
New flag
No monsters
.
-
New flag
Forward activator
flag to pass the original activator when triggering targets. - New
Pass caller as activator
flag to pass the caller as activator when triggering the target. This has higher priority thanForward activator
. -
New parameter
Delay Before Reset
. Time, in seconds, the trigger_relay can fire its target again after being triggered. Flag "Remove on fire" must be disabled for this to work.
-
New parameter
Start Inactive
to make teleport inactive until it's triggered by name. -
New flags
Keep angles
andKeep velocity
to keep player's angles and velocity upong teleporting. -
New flag
Relative Teleport
. The player's destination will be the location of the destination plus his offset from the trigger_teleport's origin in the moment of the player entering the trigger. If you decide to use this, you need to add an origin brush to your trigger_teleport.
See also: trigger_teleport on svenmanor
-
New flag
Drop to Floor
. -
New flag
Non Solid
.
Similar to ambient_generic
, but plays a random .wav sound from the set.
Plays mp3 audio file from the mod directory using the Music volume set by client.
A brush trigger that changes the player's room type upon touching. An alternative to env_sound
.
See also: Locus system, Math.
Calculates a single numeric value from the vector. Can be used in LR
parameters.
Calculates a position value based on the position of another entity. Can be used in LP
parameters.
Calculates a number value from another entity. Can be used in LR
parameters.
Calculates a vector value based on the velocity or angles of another entity. Can be used in LV
parameters.
Calculates the vector from three LR
parameters. Can be used in LV
and LP
parameters.
Calculates a vector between start position and destination. Can be used as offset in LV
parameters.
Calculates a vector value using the other vector and angle offset. Can be used as offset in LV
parameters.
Evaluates a binary operation on two LR
operands. See Math#calc_eval_number.
Compares two LR
operands and fires appropriate targets. Can be used as a master.
Dynamically creates a decal.
Reaction to use-type:
- The use-type is ignored. The entity always spawns a decal upon activation.
Creates a dynamic light.
Reaction to use-type:
- Handles use-types to turn the light off or on.
- It's not possible to prolong the dynamic light lifetime when it's already active.
The (optionally) animated model that can play two different sequences depending on its state.
- New parameter
Start frame
to configure the starting frame. Useful if you want to desync animations of severalenv_model
instances located in the same area and using the same model. Negative values mean the random starting frame. - New parameters
Framerate when on
andFramerate when off
to configure the animation framerate.
Reaction to use-type:
- Handles use-types to switch the animation depending on its state.
Similar to func_train, but always non-solid and represented by a .mdl model instead of brushes.
Reaction to use-type:
- Always percieved as
Toggle
(due to compatibility with Half-Life trains) unlessObey Trigger Mode
parameter is enabled. Activates or stops the train.
Creates various wave effects (similar to houndeye's wave attack).
Technically the env_smoker
existed in Half-Life, but it was an auxiliary entity, not intended for use by level-designers. Now it got proper implementation and additional parameters.
- If the
Scale unit type
is not set, the scale should be specified in deciles (tenths), i.e. scale 10 means the sprite of scale 1. This is to keep compatibility with original Half-Life entity. IfScale unit type
is set toNormal
the scale value is percieved normally, like in other entities. - Use
Target to smoke at
orDirection
parameter to set the direction of the smoke. - If
Target to smoke at
andDirection
are omitted andDirected
spawnflag is set, the entity will use its angles to emit smoke. - It's recommended to use sprites which have a natural fading in their animation. With other sprites you can force a gradual fading by setting the
Fade sprite
spawnflag. - The life duration of each smoke depends on the framerate and number of frames.
- You can use particle_shooter as an alternative.
Similar to func_train, but always non-solid and represented by a sprite instead of brushes.
Reaction to use-type:
- Always percieved as
Toggle
(due to compatibility with Half-Life trains) unlessObey Trigger Mode
parameter is enabled. Activates or stops the train.
Notes:
- If render amount is not specified or 0 it's set automatically to 255.
- If render mode is not specified or 0 it's set automatically to Additive (Opposing Force compatibility).
Generates streaks - temprary effects similar to sparks or traces.
Easy way to create a teleportation effect for monster spawns. Also can be set as a template effect for monstermaker.
See Warpball-templates.
Teleportation effect + optional monster spawn. Can be set as a template effect for monstermaker.
Notes:
- This entity was added for compatibility with Sven Co-op. Prefer using
env_warpball
on your maps.
Create a beam between two Locus Positions.
Reaction to use-type:
- Creates a new beam independently of the use-type.
Produces particles. Can be used to create a constant source of smoke/steam/etc. Designed after the Day Of Defeat entity of the same name.
For env_fog
, env_rain
and env_snow
see Weather.
A segmented climbable rope with physics simulation.
Note about ropes
Opposing Force ropes use many entities and this may cause bugs with attachments on the certain maps. If you want to avoid this you can increase the number of bits for skin
field of entity_state_t
in the delta.lst (just copy it from Half-Life to your mod directory and modify), from 9 to 12. The sample mod of Featureful SDK already provides a custom delta.lst, so you can take it from here.
An electrified segmented wire with physics simulation.
Reaction to use-type:
- Always percieved as
Toggle
(due to Opposing Force compatibility) unlessObey Trigger Mode
spawnflag is ticked - in this case the entity handlesOn
andOff
use-types as well. Changing the state makes electricity to turn off or on.
A modelled eye scanner from PS2 version of HL.
- By default eye scanner will not unlock for the player and will play the denied sound.
- The mapper can provide custom Granted, Denied and Beep sounds.
- The mapper also can provide the Granted and *Denied sentences.
- Set
Unlockers name
toplayer
to allow eye scanner activation by players. - If
Unlockers name
is not defined, the eye scanner will unlock for any activator besides player. If it's defined it will unlock only if the activator has a targetname or classname equal to the specified name. - If the
item_eyescanner
is called without an activator the caller will be used instead to detect whether it should grant or deny.
A static model. A simple alternative to env_model. Despite the name this item is neither pickable nor usable in any way.
- By default
item_generic
stays at the same spot as it's set in the editor. SetDrop to floor
to make the model automatically drop when the level is loaded.
The player controllable mortar weapon. Use it with func_op4mortarcontroller
.
Calculates state (On
or Off
) using logical operators on two operands. See Master entities.
A simpler alternative to multisource, can be used as a master to lock some entities.
Reaction to use-type:
- Handles use-type to change its state.
- When going to
Off
stateenv_state
fires its target withOff
use-type (SoHL compatibility). - When going to
On
stateenv_state
fires its target withOn
use-type (SoHL compatibility).
An alternative to multi_manager
for which J.A.C.K. can show connections to its targets.
Similar to multi_trigger
, but delays are relative to the time the previous target is fired.
Tests the state of another entity and fires the appropriate targets.
Notes:
- Use
trigger_check_state
with Master entities capable of reporting their state.
Allows you to simulate one or multiple entities triggering a specific other entity.
Notes:
- Constant and multi-threaded modes from Sven Co-op are not implemented.
See also: trigger_entity_iterator on svenmanor
Fires a random target out of the defined set of targets.
Reaction to use-type:
- Ignores the use-type. If the
trigger_random
is timed, it toggles its state. Otherwise it just fires a random target.
See also: trigger_random on svenmanor
Notes:
- Unlike Sven Co-op the
Target Count
parameter is not required. If it's omitted or set to 0, thetrigger_random
automatically calculates the target count from the defined targets. -
trigger_random_time
andtrigger_random_unique
exist for Sven Co-op compatibility. - For timed firing capability prefer using trigger_timer
Continuously fires the same target over random delays.
Reaction to use-type:
- Respects the use-type.
- When going to
Off
it stops firing its targets and resets the trigger counter to 0 (unlessDon't reset trigger counter on deactivation
spawnflag is set). - When going to
On
it starts firing the targets periodically (the first fire is not delayed ifDon't delay first fire
spawnflag is set).
Invisible non-solid brush entity that can be triggered to create the same effect as from breaking the func_breakable
, i.e. sounds and gibs.
Similar to func_wall_toggle, but non-solid.
Allows to insert a world sound or smell. Some monsters are aware of those.
A fake monster for other monsters to target as if it was their enemy.
Reaction to use-type:
- Handles the use-type to change its state. When the
monster_target
is off, it's invisible to other monsters.
See also: npc_bullseye in Source games
Just an alias for monstermaker, for compatibility with Sven Co-op.
Dynamically change the classification of the monster. This entity was added for compatibility with Sven Co-op and it's recommended to use trigger_configure_monster
instead.
See also: trigger_change_class on svenmanor
Configures monster's parameters during the game.
A point entity, alternative to the trigger_hurt
that can deal damage to a specific target.
Reaction to use-type:
- If set to
Constant
mode, it respects the use-type, starting or stopping dealing damage. - If not in
Constant
mode it deals damage once per activation, unless the input use-type is Off.
See also: trigger_hurt_remote on svenmanor
Kills a monster playing random death animation (or gibbing depending on the option).
Makes a monster to start patrolling on path of path_corners.
Notes:
-
path_corner
Wait here
parameter is respected - it's the time the monster will wait at the patrol point. - If
path_corner
speed is 200 or above, the monster will run instead of walking.
Allows to sync a motion of one entity with another.
Reaction to use-type:
-
Off
stops the motion syncing. -
Toggle
andOn
enable the motion syncing (TODO: this needs to be revisited).
Syncs a motion of one entity with another one time per activation.
Change the arbitrary value of entity by key.
Notes:
- Actions that require the old value are valid only for entvars properties (like
health
,max_health
, etc.). Reading of arbitrary parameters is not supported. - Using
trigger_changevalue
may bring unexpected results. Don't use this entity unless you absolutely have to. - The current implementation is not as rich as the one from Sven Co-op.
See also: trigger_changevalue on svenmanor
Executes server command.
Notes:
- We don't recommend executing server commands by entities because their effect might not persist on the save-restore.
A brush entity used to trigger something when the player look at something while standing in the trigger area. Similar to the Source entity of the same name.
See also: trigger_look in Source games
Respawns players (in multiplayer).
See also: trigger_respawn on svenmanor
Fire a trigger depending on the current game difficulty.
Shoots various projectiles (e.g. spores or shockbeams).
Reaction to use-type:
- The use-type is ignored. The entity is always getting toggled.
Generates Gargantua stomps on each fire. Should be placed on the floor.
The earth destination for displacer teleportation. Use it together with trigger_xen_return
.
Reaction to use-type:
- Can be turned on and off (unlike Opposing Force where it wasn't triggerable).
The Xen destination for displacer teleportation.
Reaction to use-type:
- Can be turned on and off (unlike Opposing Force where it wasn't triggerable).
Notes:
- If there're no enabled destination points on the map, the displacer will refuse to teleport the player. Disable all Xen destination points in situations when you need to ensure the player shouldn't be able to displace themselves to Xen.
A brush entity that teleports player to info_displacer_earth_target
, playing the teleportation sound and resetting gravity to default value on Earth.
Special entity for constrolling the pit worm position.
Spawns Pitworm gibs. Used in Opposing Force after the Pitworm is defeated.
A brush entity that marks the area of Geneworm melee hit.