Serious Editor 1 Entity Documentation

Serious Editor Entities A comprehensive documentation about every entity provided with the classic Serious Sam games.

This page seeks to document every available entity within Serious Editor 1. Information about these entities have been compiled through empirical testing, entity source code, tutorials found online and from the many contributions to Serious Site about this topic. Thanks to any contributor on Serious Site, Discord, the older tutorials from back in the day or anywhere else. Special thanks go out to HoBu4ok and Art-Serious.

last edit: 08/08/25


  1. Common Properties
    1. Event Types
    2. Spawn Flags
  2. Basic Entities
    1. WorldBase
    2. WorldLink
    3. GradientMarker
    4. BackgroundViewer
    5. Light
    6. PlayerMarker
    7. ModelHolder2
    8. ModelDestruction
    9. WorldSettingsController
    10. FogMarker
    11. HazeMarker
    12. MovingBrush
    13. MovingBrushMarker
    14. Bouncer
    15. TouchField
    16. DoorController
    17. MusicHolder
    18. MusicChanger
    19. SoundHolder
    20. Marker
    21. Trigger
    22. Switch
    23. Copier
    24. Damager
    25. AnimationChanger
    26. AnimationHub
    27. Items
      1. HealthItem
      2. ArmorItem
      3. WeaponItem
      4. AmmoItem
      5. KeyItem
      6. MessageItem
    28. AmmoPack
    29. Camera
    30. CameraMarker
    31. EffectMarker
    32. GravityMarker
    33. GravityRouter
    34. PlayerActionMarker
    35. VoiceHolder
    36. MirrorMarker
    37. Teleport
    38. WatchPlayers
    39. EnemySpawner
    40. EnemyCounter
    41. EnemyMarker
    42. NavigationMarker
  3. Additional Entities
    1. DestroyableArchitecture
    2. DevilMarker
    3. EnvironmentBase
    4. EnvironmentMarker
    5. Eruptor
    6. ParticlesHolder
    7. Pendulum
    8. PyramidSpaceShip
    9. PyramidSpaceShipMarker
    10. RollingStone
    11. StormController
    12. Lightning
    13. Ship
    14. ShipMarker
    15. Message holder
    16. BlendController
  4. TSE-only entities
    1. AreaMarker
    2. CrateBus
    3. CreditsHolder
    4. EntityStateDisplay
    5. EnvironmentParticlesHolder
    6. ExotechLarvaBattery
    7. ExotechLarvaCharger
    8. HudPicHolder
    9. PhotoAlbum
    10. PowerUpItem
    11. ScrollHolder
    12. Shooter
    13. TacticsChanger
    14. TacticsHolder
    15. TextFXHolder
    16. TimeController
    17. SummonerMarker
  5. Enemies
    1. Enemy base
    2. Headman (Beheaded)
    3. Eyeman (Gnaar)
    4. Boneman (Kleer)
    5. Werebull
    6. Scorpman (Arachnoids)
    7. Walker (Biomechs)
    8. Woman (Harpy)
    9. Beast (Reptiloids)
    10. Elemental (Lava Golem)
    11. Gizmo (Marsh Hopper)
    12. Fish (Reeban)
    13. Devil (Ugh-Zan III)
    14. BigHead
    15. CrateRider
  6. TSE-only enemies
    1. AirElemental (Kukulkán the Wind God)
    2. Grunt (Zorg Mercenary)
    3. CannonRotating
    4. CannonStatic
    5. ChainSawFreak (Cucurbito)
    6. ExotechLarva
    7. Guffy (Zumb'ul)
    8. Demon (Fiendian Reptiloid Demon)
    9. Summoner (Mordekai)
    10. Santa
  7. Addendum
    1. 'Name' and 'Parent' properties - Clones
    2. NETRICSA Message Structure

Common Properties

Some properties are shared between entities and mostly serve the same purpose. These are linked to and listed here. Any functional deviation is documented on a per-entity basis.

Name Type Values Shortcut Description
Active bool yes/no A Entity is visible during gameplay and responds to triggers.
Background bool yes/no B Render as part of the background. Entity must be within a background brush. The entity will always stay the same distance from the player and will be occluded by level geometry or other objects. Useful to convey a sense of distance.
Event type enum see table below T Types to differentiate how they can be triggered. They mostly come in pairs with "Targets" to trigger.
Name string - N This text is shown in the editor for selected entities, the entity list (shortcut 'n') or the various drop-down menus for entities' properties. It's advisable to name important entities in order to easily find them in lists. Also used to declare clones (see addendum).
Parent reference any entity Alt+Shift+A The entity to physically attach to. If the parent entity is moved, the attached entity will follow along, both in-editor and in gameplay. Also relevant for clones.
Target reference any entity T Entity to trigger for whatever action makes sense to happen on the triggering object. This might be Items being picked up or Markers being reached. Different entities have type restrictions on this property. They mostly come in pairs with "Event type" properties.
Targetable bool yes/no - Whether to show up in other entities' "Target" property drop-down.
Spawn flags flag yes/no Alt+Shift+S In which game modes or difficulties the entity will actually appear. This can be used for example to spawn more, less, or different enemies at different difficulty settings and set up special co-op events. See table "Spawn Flags".

Documentation Structure

Property availability is color coded: TSE only | TFE only

Event Types
Type Usage
Activate event Sets the "Active" property (if present).
Deactivate event Un-checks the "Active" property (if present).
Don't send event Does not trigger the target.
Start environment event For triggering EnvironmentBase and Eruptor entities.
Start event Often used for things that "play", like sounds or visual effects. For triggering Sound holder, AnimationChanger, AnimationHub, EnemyCounter and StormController entities.
Stop blindness event Will remove the "Blind" flag from the triggered EnemyBase.
Stop deafness event Will remove the "Deaf" flag from the triggered EnemyBase.
Stop environment event Counterpart for "Start environment event".
Stop event Counterpart to "Start event".
Teleport moving brush For triggering MovingBrushes. This will teleport the brush to the next marker that has "Stop moving" set.
Trigger Default for anything that doesn't respond to the other event types.
Spawn Flags
Key Usage
E "Tourist" and "Easy" difficulty.
N "Normal" difficulty.
H "Hard" difficulty.
X "Serious" difficulty.
S Single player sessions.
C Co-op/split-screen sessions.
D Deathmatch type sessions (Fragmatch/Scorematch...).

Other indices listed (1-5 on the top and 1-6 on the bottom) are placeholders that can be utilized by writing mods using the games' SDK, but are otherwise not in use by the base games.

Basic Entities

WorldBase

Video guide by Rakanishu.

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none none yes yes yes default

World geometry. Each time a new brush is created through CSG mode and joined (shortcut 'l') as new layer (not added to existing WorldBase), a new WorldBase entity is created. Other than being used to build a level's geometry, it also controls zoning (sectors ), gravity and visual effects like fog and haze.

Properties:

Name Type Values Shortcut Description
Anchored bool yes/no A Cannot be moved/deleted if checked. Clicking the ⚓button in the toolbar will circumvent this flag while editing.
Background - - - -
Classification bits flag yes/no C Determining visibility for sectors?
Fog 0-4 reference FogMarkers F Control rendering of fog within a sector. Since 'Fog 0' is set as default for every sector on the map, setting a fog marker for 'Fog 0' will set it for the whole level.
Gradient 0-19 reference GradientMarkers R Control rendering of different gradients.
Gravity 0-9 reference GravityMarkers G Control gravity within a sector.
Haze 0-4 reference HazeMarkers H Control rendering of haze within a sector.
Mirror 0-4 reference MirrorMarkers M Control mirroring surfaces.
Opacity float 0-1 - The opacity of the brush.
Name - - - -
Parent - - - -
Spawn flags - - - -
Visibility bits flag yes/no V Used in conjunction with sectors and WorldBase entities in other sectors to determine their visibility cross-sector.
Zoning bool yes/no Z Whether the brush will participate in the visibility determination algorithm. Should always be true for the main world brush and false for detail brushes to improve performance.

Video guide by Rakanishu.

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trigger event no yes yes yes

Used to change levels.

Properties:

Name Type Values Shortcut Description
Group string - G Group name of the starting PlayerMarker in the target level. Can be anything. Croteam's convention seems to follow the following pattern: "<Current level> - <Level to go to>" (Example: "Hatshepsut - Sand Canyon"). Must be set for weapons and ammo to be transferred to the next level.
Name - - - -
Parent - - - -
Spawn flags - - - -
Store world bool yes/no S Saves all level changes (activated triggers, killed enemies, etc.), when moving to the next level. Can be used to go back and forth between the same levels without "starting over". Will not store health and armor values for the player, as they're always reset with the values of the corresponding PlayerMarker properties.
Target - - - -
Type enum Fixed, Relative Y Fixed: Players start at the PlayerMarker with the group name specified above. Relative: Will place players at the very same world coordinates they were at the time of triggering the WorldLink. Useful for breaking up a continuous larger level into more manageable chunks. Same principle as e.g. in Half-Life. Not used in the base games.
World file *.wld W The level to load.

GradientMarker

Guide by JesterOfDestiny (see Gradient markers section).

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
WorldBase (brush) to apply to none yes yes yes yes

"This entity allows you to make seamless transitions between two states of light, within a single brush. For example, you have a corridor leading into an outside section, which is illuminated by a directional light. You could add some lights into the corridor, but it’s just going to light up the already directionally lit polygons as well, ruining the transition. Enter the gradient marker, which will give you a perfect transition."
- JesterOfDestiny

The given colors are divided at the center of the entity and spread over a brush in both directions, so placement of the entity matters. For the marker to work, it will need to be selected for one of a given WorldBase entity's "Gradient" properties and in polygon-mode under "Shadow -> Gradient".

Properties:

Name Type Values Shortcut Description
Color 0 color RGB/HSL C Color in direction of the bottom part (pyramid base).
Color 1 color RGB/HSL A Color in direction of the top part (pyramid peak).
Dark light bool yes/no D Will invert colors, and the affected brush will be dark and must be illuminated with Lights.
Height float - H Height and smoothness of the transition from the bottom up. The higher the value, the smoother the color transition. If the value is negative, color directions will be flipped (Color 0 is top, Color 1 is bottom).
Name - - - -
Parent - - - -
Spawn flags - - - -
Target - - - -

BackgroundViewer

Background guide by Zadeon.

Requirements Trigger type(s) built with brush TFE TSE Virtual tree
Put in "Room" (hollow) brush with set "Background" property Activate/Deactivate event, Start/Stop event no yes yes yes

Needs to be present within any world which should show a skybox. Dragging and dropping any "preset" from the "Backgrounds" category of the virtual tree comes with a properly set up brush and BackgroundViewer, so creating backgrounds with the BackgroundViewer is only interesting to those who wish to build their own skyboxes.

Multiple backgrounds in one level

Only one background can be active at a time, but they can be swapped mid-level. How-to: The first background to be shown needs to be set to "Active", while the second one should not be "Active". To switch, the first BackgroundViewer must be triggered with a "Deactivate event" and the second one with a "Start event" trigger. The switch is instant, so no blending will occur.

Properties:

Name Type Values Shortcut Description
Active - - - -
Name - - - -
Parent - - - -
Spawn flags - - - -
Target - - - -
World settings controller reference WorldSettingsController W Needed for some entities to work. Namely StormController and Lightning.

Light

Comprehensive guide by JesterOfDestiny.

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trigger event no yes yes yes

Properties:

Name Type Values Shortcut Description
Ambient light animation enum depeds on file - Animation for the ambient light specified below.
Ambient light animation file file *.ani - Animation file for the ambient light. Can be found in "Animations"/"AnimationsMP" folder.
Background - - - Commonly used for sun lights.
Clip far float - - Unknown. Possibly originally intended as distance (clip plane) for when to stop rendering the light, but unclear. Values > 7 will make the light disappear. Should be left at default.
Clip near float - - Same as above. Values > 0.3 will make the light disappear. Should be left at default.
Color color RBGA/HSV C The color of the light. Alpha value is ignored.
Dark light bool yes/no A Creates shadow instead of light. The color value will be inverted.
Diffusion bool yes/no D More diffuse light with softer shadow edges. Interacts with brushes' polygon setting "Shadow -> No diffusion", so polygons lit by diffuse lights will receive light as from a non-diffuse light.
Directional ambient color RGBA/HSV E Only used for type "Directional light". Determines the indirect light color and shadow tint. In real life terms, this is mostly the average sky color.
Dynamic bool yes/no - Dynamic lights won't cast shadows and are therefore more performance friendly. Should always be used for movable lights, e.g. any light attached to MovingBrushes, to avoid shadow map re-calculations tanking performance.
Fall-off float 0-9994 F Outer radius, the overall reach of the light. Higher values makes the line shine a further distance. Makes the editor sprite grow accordingly.
Hot-spot float <= Fall-off H Inner radius, light intensity near the center of the light. Higher values make for very sharp lights with a hard edge.
Lens flare enum see table below L Lens flare effect to display from the center of the light.
Lens flare only bool yes/no O Disables the light but leaves the lens flare effect.
Light animation reference - - The animation to play. Changed by AnimationChanger.
Light animation file file *.ani - Animation file for the light. One of the most used by default is "LightOnTrigger.ani".
Light animation offset float - - Delay in seconds before the start of the light animation.
Name - - - -
Parent - - - -
Polygon illumination enum Lava 1-3, Misc 1-3, Vitraj 1-3, None I Corresponds to polygons' "Shadow -> Illumination" property, but to which effect?
Render as small bool yes/no R The editor sprite will become a fixed small size and will not depend on the "Fall-off" property.
Spawn flags - - - -
Subtract sector ambient bool yes/no - Affects light intensity/color in conjunction with a sector's ambient light setting (in sector-mode under "Sector -> Ambient").
Targetable - - - -
Type enum see table Y Notes: Ambient lights never cast shadows. Directional light is exclusively used as sun/moon light. Point lights are the most commonly used light source and can cast shadows.

Types:

Type Look
Ambient light
Directional light
Point light
Strong ambient light
Strong point light

Lens flare types:

Type Look
Blue star with blue reflections
Pyramid valley space ship
Standard
Standard reflections
White glow far
White glow star
star no glare
White glow star with red ring
White star with red reflection
White star with red ring and s
Yellow star with red ring
Yellow star with red ring far

PlayerMarker

Checkpoints tutorial by Rakanishu.

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trigger event no yes yes yes

Defines the level's starting and/or respawn positions for players. Otherwise they spawn at the world origin (0, 0, 0) or respawn their location of death.
Each colored tile on the marker, labeled P01-P16, marks the position of each player in co-op sessions. The centered blue square is the player's position for singleplayer mode.

Trigger behavior

If singeplayer flag (S) is set: create auto-save. If Co-op flag (C) is set: create checkpoint to respawn at. This only works if the "Group"-property has been set.

auto-saves for singleplayer are turned off by default and need to be turned on in the game's settings.

Properties:

Name Type Values Shortcut Description
Give weapons bit flag 0-131071 W Weapons are encoded in bit flags (see table below). Values for each weapon that should be in the player's inventory must be summed up. Note: Players will always start with the knife and a single Colt, even with a value of 0.
Group string - G Used in conjunction with WorldLinks to determine the player start point after a level change. Ammo and weapon properties will be overridden by whatever the player's status was in the previous level, once this property is set.
Health float - H Health the player starts with. Player health will always reset upon level change to what is set for the marker players start on. Note: It's possible to enter negative values. In this case, the health indicator will show zero. However, when health items are picked up, their values are added to the negative value. So in order to reach a positive value, the right amount of health items need to be picked up accordingly.
Max ammo ratio float 0-1 A Percentage of ammo (for all available weapons) the player starts with, with 0 being no ammo and 1 being 100% (full) ammo.
Message reference MessageHolder M NETRICSA message upon entering the level. Can be used in conjunction with the "Start in computer" property to show an introductory message.
Name - - - -
No Respawn In Place bool yes/no R Forces players to spawn on this marker regardless of "Respawn In Place" game setting.
Parent - - - -
Quick start bool yes/no Q Will start the level on this marker, but only in editor. Useful for testing different parts of a level.
Shield float - S The armor value the player starts with. Same behavior as for "Health".
Spawn flags - - - -
Start in computer bool yes/no C Show NETRICSA at the start of the level. Can be used in conjunction with the "Message" property. Level statistics will be shown if unspecified.
Take ammo bit flag 0-131071 - Same flags as for weapons. Determines ammo that should be taken away from the player, if the level is started trough reaching the end of a previous level. This setting is overridden by the "Give weapons" property.
Take weapons bit flag 0-131071 - Weapons that should be taken away from the player, if the level is started trough reaching the end of a previous level. This setting is overridden by the "Give weapons" property.
Target - - - Triggered when a players spawns on the marker.

Weapon codes:

# TFE TSE
1 Knife Knife
2 Colt Colt
4 Double Colts Double Colts
8 Shotgun Shotgun
16 Double barrel Double barrel
32 Tommygun Tommygun
64 Minigun Minigun
128 Rocket launcher Rocket launcher
256 Grenade launcher Grenade launcher
512 - Chainsaw
1024 - Flamethrower
2048 - Laser rifle
4096 - Sniper rifle
8192 Laser rifle Cannon
16384 - Ghostbuster
32768 Cannon Plasma thrower
65536 - Minelayer

ModelHolder2

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none none no yes yes yes

Used to display imported 3D models (.mdl format through SeriousModeler). Allows custom rendering properties for the model, from lighting to LOD and destruction.

Properties:

Name Type Values Shortcut Description
Active - - - -
Ambient color color RGBA/HSV A Shadow color cast onto the model.
Apply RND stretch action - - Applies a random stretch value to the model on click. Max values can be set via "Stretch RND" property per axis.
Attachments bool yes/no - Displays available attachments.
Background - - - -
Bump file *.tex - Bump-map to apply to the model's texture map.
Chain saw dammage float - - How much chainsaw damage specifically the model can take before being destroyed.
Classification stretch float - - ???
Colliding bool yes/no L Enables collision for this model.
Custom shading enum Constant shading, Fully customized, none H Constant shading disregards any level/custom lighting. Fully customized incorporates level lighting and other properties for the model. None only applies direct lighting to the model, but disregards any color settings. Note: No shading might apply if the model's surfaces are marked as "full bright" based on the model's rendering properties defined via SeriousModeler.
Destruction reference ModelDestruction Q Destruction model and effects to apply to the model when taking damage.
First random animation int - R Index of animation list on which to start random animations?
Destruction Target reference any entity - Entity to trigger upon destruction of the model.
Light animation enum depends on file - Animation to play from the animation file. Changed by AnimationChanger.
Light animation file file *.ani - Animation file for the light. One of the most used by default is "LightOnTrigger.ani".
Light color color RGBA/HSV O Colorization of the model.
Light direction vector 0-359° W Angles of direction from which the "Light color" property should apply to the model. This is independent of any light sources within the level.
Max tessellation level float - - ???
Mip Add float 0-10 - Determines how aggressively mip models (LODs) are rendered. Higher values switch LODs on lower distances. 0 disables LOD.
Mip Fade Dist (Metric) float - - Distance in meters at which the model will stop to render. Broken in TFE.
Mip Fade Len (Metric) float - - Distance to "Mip Fade Dist" in meters to which the model starts smoothly fading out. Broken in TFE.
Mip Mul float - - ???
Model file *.mdl M The actual model to render.
Model animation enum depends on the model - Animation for the model to play.
Name - - - -
Parent - - - -
Reflection file *.tex - Cube map to simulate environment reflections on glossy surfaces.
Shadows enum Cluster shadows, none, polygonal W Which shadow casting method to use. Cluster shadows generate shadow maps like any other geometry. None disables shadow casting. Polygonal casts "dynamic" shadows, like the player model. That is either a simple blow-shadow or complex shadows(?), depending on the graphics settings.
Spawn flags - - - -
Specular file *.tex - Specular map for highlights.
Stretch RND All float 0-1 - Used for "Apply RND stretch".
Stretch RND X float 0-1 - See above.
Stretch RND Y float 0-1 - See above.
Stretch RND Z float 0-1 - See above.
StretchAll float 0-1 - Overall model scale.
StretchX float 0-1 - X-Scale.
StretchY float 0-1 - Y-Scale.
StretchZ float 0-1 - Z-Scale.
Targetable - - - -
Texture file *.tex T The model's texture.
Texture animation enum - - Texture animation to play, if available.

ModelDestruction

Destructible wall guide by Zadeon.

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
ModelHolder2 to be assigned to none no yes yes yes

Destruction data for models that can be destroyed by damage.

Properties:

Name Type Values Shortcut Description
Body Type enum Air, Bones, Fire, Flesh, Ice, Metal, Robot, Rock, Water, Wood - Which material the model is made of. Doesn't seem to have much of an effect. Only "Flesh" is notable as this will make bullet hits create blood smears on surfaces behind the entity.
CC: Debris launch power float - - Force with which to emit debris. Does nothing.
CC: Launch cone float - - Width of the (upwards facing?) cone in which to launch debris?
CC: Leave stain enum - - Type of stains debris pieces will leave on the ground. Does nothing.
CC: Rotation banking float - - Rotational value for the debris when spawning.
CC: Rotation heading float - - Same as above.
CC: Rotation pitch float - - Same as above.
CC: Trail particles enum empty - Only empty selections, doesn't seem to work.
CC: Central Particle Color enum - C Only for particles of type "Colored stone".
Debris enum Palm, Stone, Wood C Type of debris to spawn.
Debris count int - - Count of pieces of debris should be spawned.
Debris size float - - -
Dust Debris Random int - - Adds a random factor for dust particles to spawn, but only 0 and 1 are working (turns particles on/off).
Dust Debris Stretch float - - Scale of dust particles.
Dust Max Height Ratio int - - Min height of the dust effect.
Dust Max Height Ratio float - - Max height of the dust effect.
Dust Stretch float - - Dust effect scale. Scales particles but also the radius around the destroyed object.
Dusts Count int - - Amount of dust particles spawned.
Health float - H Amount of damage a given model can resist before it's destroyed. "Regenerates", so it's not like enemies' health.
Immaterial ASAP bool yes/no - Disables collision of debris.
Model 0-4 reference any entity M Multiple destruction phases are solved via multiple ModelDestruction entities, each holding one model for one phase, so it's unclear why 5 model slots exist.
Name - - - -
Parent - - - -
Particle Launch Power float - P Does nothing?
Particle Size float - Z Scale of the particle effect.
Particle Type enum see table below - Particle effect when the model is being hit.
Requires Explosion bool yes/no - Can only be destroyed with explosives. Only continuous fire of the laser gun can bring down the entity's health enough, so with this active, destroying with the laser gun won't work anymore.
Shake marker reference any entity A EffectMarker to use for screen shake effects.
Spawn flags - - - -
Start anim enum depends on model - Animation to play upon destruction for the selected model.

Particle types:

Type Description Preview
Beast projectile spray Reptiloid projectile explosion particles.
Blood Regular blood particles.
Bones Kleer hit effect.
Colored stone Stone particles colorized via "CC: Central Particle Color property".
Electricity sparks Biomech hit effect (sparks, bolts and blood).
Electricity sparks w/o blood Biomech hit effect without the blood particles (sparks and bolts).
Feather Harpy hit effect (feathers and blood).
Goo Marsh Hopper hit effect (green splats).
Lava Stones Lava golem hit effect.
none - -
Plasma Cyan plasma globs.
Slime Reptiloid hit effect (green blood).
Small Laval Stones Same as "Lava Stones" but scaled down.
Stones Stone pebbles.
Tree 01 Similar to "Wood" plus leaf particles.
Wood Wooden pieces (for hitting trees).

WorldSettingsController

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none none no yes yes yes

Has few properties, but it's existence in the level is required for several other entities to work. They're mostly included in "preset" backgrounds.

Properties:

Name Type Values Shortcut Description
Apply shading to models bool yes/no - Doesn't seem to have an effect.
Environment Particles Holder reference EnvironmentParticlesHolder - Any EnvironmentParticlesHolder used needs to be referenced here to work.
Height map file *.tex R ???
Height map box multi - - ???
Name - - - -
No QuickSave on level start bool yes/no - Doesn't work?
Parent - - - -
Spawn flags - - - -

FogMarker

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
Zoning brush to apply to none no yes yes yes

Renders fog per brush sector polygon . Must be selected in sectors and their brush, so zoning for the affected brushes needs to be turned on. Can only be seen when in the sector.

Properties:

Name Type Values Shortcut Description
Above float >0 O Upper blend?
Attenuation Type enum see table below A Which calculation to use.
Below float >0 B Lower blend?
Color color RGBA/HSV C -
Density float 0-1 D Can only be changed if "Density Direct" is set. Controls fog density override.
Density Direct bool yes/no - Activates "Density" property.
DensityDistance float - - See calculations below.
DensityPercentage float 0-1 - See calculations below.
Depth float - E How far the fog goes from ceiling to bottom of a sector. Position of the FogMarker has no influence on this.
Far float - F Another sort of density control.
Graduation float - R Can only be changed if "Graduation Direct" is set. Another sort of density control.
Graduation Direct bool yes/no - Activates "Graduation" property.
Graduation Type enum Constant, Exp, Linear G Which calculation to use. Same as for density, except "Constant" doesn't seem to be used.
GraduationDistance float - - See calculations below.
GraduationPercentage float 0-1 - See calculations below.
Name - - - -
Parent - - - -
Size Depth float - I ???
Size Distance float - S ???
Spawn flags - - - -
Target - - - -

Attenuation types:

Types Formula
Exp m_fDensity = -log(1-m_fDensityPercentage)/m_fDensityDistance;
Exp2 m_fDensity = Sqrt(-log(1-m_fDensityPercentage))/m_fDensityDistance;
Linear m_fDensity = m_fDensityPercentage/m_fDensityDistance;

HazeMarker

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
Zoning brush to apply to none no yes yes yes

Renders haze, which is very similar to fog, just a little less prominent and more diffuse. Usage is the same as FogMarker. Can be seen from a different sector if property is set.

Properties:

Name Type Values Shortcut Description
Attenuation Type enum Exp, Exp2, Linear A ???
Base Color color RGBA/HSV C General haze color.
Color (down) color RGBA/HSV - Haze color when facing down
Color (east) color RGBA/HSV - Haze color when facing east
Color (north) color RGBA/HSV - Haze color when facing north
Color (south) color RGBA/HSV - Haze color when facing south
Color (up) color RGBA/HSV - Haze color when facing up
Color (west) color RGBA/HSV - Haze color when facing west
Density float - D Controls haze density. Very sensitive, values over 0.1 already make for very thick haze.
Far float - F Another sort of density control.
Name - - - -
Near float - F Another sort of density control.
Parent - - - -
Size float - I ???
Spawn flags - - - -
Target - - - -
Visible from outside bool yes/no - If haze should be visible when the player is not in the same sector as the haze.

MovingBrush

Elevator guide by Zadeon.

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
none Trigger event yes yes yes yes

For any translations applied to the brush, the initial "globe" placeholder will determine the pivot of the brush. Keep that in mind for rotations.

Properties:

Name Type Values Shortcut Description
Auto start bool yes/no A Will move immediately on level start.
Banking rotation speed float - - Rotation speed around the z-axis. Any value > 0 overrides any markers and simply rotates the brush around its z-axis with the given speed.
Block action enum Bounce, None, Skip marker B Behavior when something blocks it's path, e.g. the player or an enemy standing between the moving brush and level geometry. None will keep the brush moving and apply continuous damage to whatever is in the way. Skip marker will apply a single hit of damage and then move to the next marker. Bounce is supposed to "change direction for two ticks", but appears to do nothing.
Block damage float - D Amount of (continuous) damage to apply to the player or an enemy caught between the moving brush and any other solid object.
Blowup by Bull bool true/fasle - Brush can be destroyed when hit by a Werebull charge. Used for example in Karnak for the door leading to the last arena.
Blowup by Damager bool yes/no - Whether a brush can only be destroyed by a Damager entity. Any damage by players or enemies will be ignored. Note: Only works if the Damager's type property is set to "Damager".
Blowup Event - Target reference any entity - Target to trigger upon destruction of the brush.
Blowup Event - Type - - - Event type for destruction event.
Classification bits flag yes/no C Determining visibility for sectors?
Color of debrises color RGBA/HSV A Coloration of the debris. Debris are always have a stone texture.
Cube factor float - - Size of the debris.
Debris blow power float - - Amount of force the debris are emitted with.
Debris count int - - Amount of debris spawned upon destruction. Should be used in moderation. Values higher than ~1000 (possibly even lower on weaker computers) can put too much strain on the engine (physics are single-core CPU-bound) and bog down frame rate.
Dynamic shadows bool yes/no - Supposedly to cast at least a blob shadow underneath the brush but appears to do nothing.
Health float >= -1 H The amount of damage the brush can take before being destroyed. A value of -1 will make it invulnerable.
Mirror 0-4 - - M Commonly used for a "portal" appearance (see Karnak). Uses MirrorMarkers as "view targets" to display the view from a MirrorMarker's target marker. Can also be used as sort of "surveillance screen".
Move on damage bool yes/no - Brush starts moving after receiving damage of any kind. This will ignore the "Blowup by damager" property, as it only controls destruction, not damage.
Move on touch bool yes/no M Brush starts moving upon being touched. That is players getting close to the brush.
Name - - - -
Parent - - - -
Players only bool yes/no P Touch or damage events can only be triggered by players, not enemies. Only affects being triggered. Will still deal damage to enemies based on damage properties.
Send touch event on damage enum Both, Damage only, Touch only - Determines which action triggers the "Touch Event" property only. Has no effect on "Move on damage" if "Both" or "Damage only" is selected.
Sound follow entity reference SoundHolder F SoundHolder to play while the brush is moving. Does not loop automatically, SoundHolder should be set to "Loop".
Sound start entity reference SoundHolder Q SoundHolder to play each time it starts moving from one marker to another.
Sound stop entity reference SoundHolder Z SoundHolder to play each time reaching a marker.
Spawn flags - - - -
Speed float - S Seconds it takes the brush to move between markers. Can be overridden by each MovingBrushMarker individually.
Switch reference Switches - Switch reference that this MovingBrush should represent. This will make the Switch fire it's triggers for on- and off-states.
Target reference MovingBrushMarkers T Should always be the marker of the initial position the brush is resting on. Is automatically set each time placing markers with the (D) shortcut, so the last marker placed will be set here.
Touch damage float - - Damage per tick that is dealt upon touching the brush.
Touch Event - Target reference any entity I Entity to trigger when touched.
Touch [Event - Type] - - U Event type for touch target.
Very Big Brush bool yes/no - Internally sets different collision flags for brushes marked as "very big" (see MovingBrush.es).
Wait time float - W Seconds to wait each time before moving to the next marker.
Zoning bool yes/no Z Brush takes part in the dynamic visibility/occlusion rendering algorithm.

MovingBrushMarker

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
MovingBrush to apply to none no yes yes yes

Used to lay paths for moving brushes to move along. Apart from brushes moving in any arbitrary form, together with the MovingBrush and the DoorController these are the basic building blocks to create doors.

All marker properties apply to the moving brush as soon as it's moving away from a marker, except those stated to trigger when the marker has been reached by the moving brush.

Properties:

Name Type Values Shortcut Description
Banking rotation clockwise bool yes/no - Doesn't seem to have an effect on actual rotation.
Banking rotation speed float - - Override property.
Block damage float - D Override property.
Don't use marker orientation bool yes/no - Keep the orientation of the MovingBrush at whatever orientation it was after moving to the marker. Otherwise the brush will keep rotating during it's movement to match the marker's rotation
Inverse rotate float - R Flips any rotation applied to a target marker position.
Marker Event - Target reference any entity K Entity to trigger when the moving brush has reached the marker it's moving to.
Marker Event - Type enum - J Event type for marker target.
Move on touch enum Ignore, True, False M Brush should start moving upon being touched. Makes sense if this marker has the "stop moving" property set. Ignore uses the brush's property, while yes/no overrides the brush's property.
Name - - - -
Parent - - - -
Sound follow entity reference SoundHolder F SoundHolder to play while the brush is moving after having passed (or started from) the marker. Does not loop automatically, SoundHolder should be set to "Loop".
Sound start entity reference SoundHolder Q SoundHolder to play when passing over the marker, or starting from the marker after stopping (if "Stop moving" enabled). Does not override the moving brush's sound properties but rather plays additionally.
Sound stop entity reference SoundHolder Z SoundHolder to play each time reaching a marker. Will only play if "Sound follow entity" is set. Same as the moving brush property. Will play on any marker on the path, not just the one with the property set.
Spawn flags - - - -
Speed float - S Per-marker override. The amount of seconds it takes the brush to move between markers.
Stop moving float - F Brush stops moving upon reaching the marker. If there are other markers on the path after the marker with this property set, the brush can be triggered again in any way to continue moving along it's path.
Target - - - -
Touch Event - Target reference any entity I Entity to trigger when the brush has been touched by the player, while sitting on the marker.
Touch [Event - Type] - - U Event type for touch target.
Wait time float - W Override property.

Bouncer

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
none none yes yes yes yes

Brushes with the ability to apply force to players or enemies, pushing them in a given direction. They initially behave much like WorldBase or TouchField entities as in displaying a globe object before any brush primitive has been added to it.

Properties:

Name Type Values Shortcut Description
Control time float - T Air control players have after bouncing. With a value of 0 players cannot move in-air and are more or less forced to follow the jump trajectory after touching a bouncer brush.
Direction angle 0-359 D The direction in which to bounce. Visualized with an arrow pointing to the set direction.
Max exit speed float - M Velocity cap, limiting the "Speed" property.
Name - - - -
Normal component multiplier float - O Sort of a "speed multiplier". Can quickly create lethal velocities. See formula below.
Parallel component multiplier float - P Formula for translation vector: current parallel * parallel component multiplier + current normal * normal component multiplier + direction * speed
Parent - - - -
Spawn flags - - - -
Speed [m/s] float - S Overall speed of the movement. Will be capped by "Max exit speed".

TouchField

TouchField guide by Zadeon.

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
none none yes yes yes yes

Trigger volumes used to trigger other entities upon entering or exiting.

Properties:

Name Type Values Shortcut Description
Active - - - -
Block non-players bool yes/no B Makes enemies collide with the volume.
Enter [Event]((https://rentry.org/SED1Docs#common-properties) - - - -
Enter Target reference any T Entity to trigger when entering the volume.
Exit check time float - X How often in seconds to check whether the entity has left the volume to then trigger the "Exit event".
Exit [Event]((https://rentry.org/SED1Docs#common-properties) - - - -
Exit Target reference any T Which entity to trigger when exiting the volume.
Name - - - -
Parent - - - -
Players only bool yes/no P React to players only. If disabled, enemies can also trigger touch fields.
Spawn flags - - - -

DoorController

Door guide by Zadeon.

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
none none no yes yes yes

Trigger volumes used to trigger doors (moving brushes). Their usage differs in comparison to touch fields as they don't need brushes to be created to define their trigger volume. The volume is constructed by setting the entity's properties accordingly and their dimensions are restricted to two values. It only triggers upon entering the volume, but comes with other, more door-centric properties.

Properties:

Name Type Values Shortcut Description
Active - - - -
Height float - H Volume height (size in Y).
Key entity KeyItem K Key needed to unlock this controller.
Locked message string - L Message to display when trying to open a locked door.
Locked target float - - Target to trigger if the door is locked. Useful to trigger NEXTRICSA messages.
Name - - - -
Parent - - - -
Players only bool yes/no P React to players only. If disabled, enemies can also open doors.
Spawn flags - - - -
Target 1-2 - - - Used to trigger up to two MovingBrushes (the door (parts)), but can trigger anything else, too.
Trigger on anything bool yes/no X Ignores internal validity checks on whether or not an entity can trigger this controller?
Type enum see table below Y Conditions for the door to open.
Width float - W Width and depth of the volume (size in X an Z).

Types:

Type effect
Auto Opens automatically when entering the volume.
Locked Only opens if the corresponding key has been collected. The key item will be consumend and can therefore not be used to open another door controller with the same key requirement.
Triggered Only opens on another trigger.
Triggered Auto Opens automatically after being triggered.

MusicHolder

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
none none no yes yes yes

Music holders control peace and fight music and are also required for boss fights to work properly, and other things, like level end statistics.

Only a single MusicHolder should be present in each level. For changing sets of music, the MusicChanger needs to be used.

This is one of only the two entities without a name property.

"Active" enemies are those actively chasing or attacking players. Those that are just patrolling or haven't heard/seen any players yet do not count towards the "active score".

Properties:
--- | --- | --- | --- | ---
Music Heavy | file | *.ogg | - | Music to play when the total score of active enemies has reached the amount specified in "Score heavy".
Music Light | file | *.ogg | M | Music to play when the total score of active enemies is below "Score medium" or score heavy (or generally when no enemies are active).
Music Medium | file | *.ogg | - | Music to play when the total score of active enemies has reached the amount specified in "Score heavy".
Parent | - | - | - | -
Score heavy | float | - | - | Threshold for the score sum of active enemies after which the music specified under "Music Heavy" should play. This is usually a very high number, depending on the overall amount of enemies and their strength (score).
Score medium | float | - | - | Threshold for the score sum of active enemies after which the music specified under "Music Medium" should play. Usually as low as 100, which is the lowest amount of points an enemy can have (marsh hoppers).
Spawn flags | - | - | - | -
Volume Heavy | float | 0-4 | - | Volume for heavy music.
Volume Light | float | 0-4 | V | Volume for light music.
Volume Medium | float | 0-4 | - | Volume for medium music.


MusicChanger

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
MusicHolder to apply to Trigger event no yes yes yes

Since only a single music holder should be placed per level, changing to different tracks apart from regular gameplay is achieved with the MusicChanger, which holds a single track to play when triggered, replacing the regular soundtrack for its duration.

Properties:

Name Type Values Shortcut Description
Force start bool yes/no F Seems to only work together with types "continuous" and "event" for those to trigger at all.
Music file *.ogg M Music to play as replacement for the type specified in "Type".
Name - - - -
Parent - - - -
Spawn flags - - - -
Type enum continuous, event, heavy, light, medium Y Heavy, light and medium is used to replace these types of music when triggered. Continuous will loop a given track indefinitely while event will play a given track once before playing default music again.
Volume float 0-4 V The track's volume.

SoundHolder

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Start event no yes yes yes

Properties:

Name Type Values Shortcut Description
Auto start bool yes/no A Play sound effect when starting the level. Useful for looping environment sounds.
Destroyable bool yes/no Q Entity will be destroyed if it's parent (if set) is destroyed.
Fall-off float - F Outer radius, the overall reach of the sound. Higher values makes the sound noticeable a further distance. Makes the editor model grow accordingly.
Hot-spot float <= Fall-off H Radius in which the sound plays at full volume.
Looping bool yes/no L Repeat the sound effect continuously.
Name - - - -
Parent - - - -
Sound file *.wav S The sound file to be played.
Spawn flags - - - -
Surround bool yes/no R Will "space out" the sound and pan it to give more of a "stereo effect". Down to "taste" but should be used sparingly.
Volume float 0-4 V -
Volumetric bool yes/no O Play the sound "centered" at all times, regardless of the orientation of the player to the sound. Also disables the doppler effect. Disabling this property will pan the sound, e.g. if the sound is left of the player, it will be played more from the left speaker. Enabling this property will make it sound as it would be coming from right in front of the player, no matter the orientation.

Marker

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none none no yes yes yes

Markers don't do anything by themselves, but can be used as positional targets for other entities like Teleporters and Lightning.

Properties:

Name Type Values Shortcut Description
Name - - - -
Parent - - - -
Spawn flags - - - -
Target - - - -

Trigger

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trigger event no yes yes yes

With a vast array of trigger targets and individual event types, triggers can be used and chained to perform some complex logic.

Properties:

Name Type Values Shortcut Description
Active - - - -
Auto start bool yes/no A Trigger all targets when starting the level.
Count int - C How many times the trigger needs to be triggered in order to trigger its effects.
Count reuse bool yes/no - Start counting again from the beginning after counting down in order to be able to trigger multiple times after each countdown.
Count use bool yes/no - Use the "Count" property.
Count tell bool yes/no - Show an on-screen message of how many trigger activations are left in the format of "x more to go...".
Event type Range - - - Type for the "Send Range" property.
Event type Target 01-10 - - - -
Max trigs int - X How many times this trigger can receive trigger events before it stops working. -1 will make it work indefinitely.
Message string - M The message to display on screen when triggered. Used for example for "secret found" messages.
Message sound enum none, Info - Whether to play the default "message received" sound upon triggering.
Message time float - - How long to display the message on screen in seconds.
Name - - - -
Parent - - - -
Score float >= 0 S How many score points to add upon triggering. Setting any value other than zero will make this trigger count as secret and will increase the secret count on the final level statistics.
Send Range float - R The radius in which other triggers will be triggered with the event specified in "Event type range".
Spawn flags - - - -
Target 1-10 - - - -
Wait float - W Amount of seconds to wait before firing after being triggered.

Switch

Switch guide by Zadeon

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Start/Stop event no yes yes yes

This entity shares all properties of the ModelHolder2 and adds a few more specific to switches. Only the differences are listed below, for the full set of properties, check ModelHolder2.

For switch models the "Colliding" property needs to be set in order to interact with the switch. Otherwise the activation prompt will never show.

Properties:

Name Type Values Shortcut Description
Invisible bool yes/no - Hide the model for the switch. Useful if only its logic is needed but no model, e.g. in combination with a MovingBrush. Will otherwise show its editor model in-game if no other model file is set.
Message string - M The message or activation prompt to display in green text when aiming at the switch. If nothing is set, "Use" will be displayed.
Model OFF animation enum depends on the model G Determines which animation the model should play when turning off (e.g. lever moving up).
Model ON animation enum depends on the model D Determines which animation the model should play when turning on (e.g. lever moving down).
OFF Event type - - I -
OFF Target - - - Entity to trigger when switch is turned off.
ON Event type - - U -
ON-OFF Target - - - Entity to trigger when switch is turned to either on or off.
Texture OFF animation enum - - Texture animation for the OFF-state.
Texture ON animation enum - - Texture animation for the ON-state.
Type enum On/Off, once Y Whether the switch can be used multiple times or just once from off to on.

Copier

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trigger event no yes yes yes

Used to copy existing entities on the map. Copied entities will spawn at the center of the Copiers editor position.
The targeted entity will still be visible and remains active, so it's best to move it out of the play area. If for example an item that is targeted by the Copier is picked up, the copier will stop working, as there no longer is an item to be copied.

Properties:

Name Type Values Shortcut Description
Name - - - -
Parent - - - -
Spawn effect bool yes/no X Display the default teleport/spawn visual effect along with a sound.
Spawn flags - - - -
Target - - - The entity to be copied. Can be anything.
Telefrag bool yes/no F Kills entities if they happen to stand on a Copier while it's actively copying/spawning.

Damager

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trigger event no yes yes yes

Can be used to damage anything that is susceptible to damage, such as players, enemies and MovingBrushes.

To create a floor that applies constant damage when walked upon, it's enough to simply set the floor polygons' surface to "Lava" via "Tools info > Polygon > Surface". This will apply 2 points of damage every 0.5 seconds when touched.

Properties:

Name Type Values Shortcut Description
Ammount float - A Damage to deal to the target.
Damage from triggerer bool yes/no S Damage dealt is treated to come from the entity triggering the Damager. For example, if the player triggers a damager that targets an enemy, other enemies will be alerted to that damage. If disabled, they will not react.
Entity to damage reference any entity E Entity to receive damage. Will have no effect on any entity not having health values. If left empty, the player activating the Damager will receive the damage.
Name - - - -
Parent - - - -
Spawn flags - - - -
Type enum see table below Y Determines damage effects and death messages in co-op or deathmatch maps. Message will always be "<PlayerName> has committed suicide." if "Damage from triggerer" set.

Damage types:

Type Effect Message
Abyss Player falling into the abyss. Causing the player's falling animation to play and the camera to be place in a top-down view, facing the player falling. "<PlayerName> went over the edge."
Acid - <PlayerName> dissolved.
Brush - "<PlayerName> was squashed."
Bullets - "<PlayerName> passed away."
Burning Does not apply force on damage. "<PlayerName> burst into flames."
Cannon ball - "<PlayerName> passed away."
Cannon ball explosion "<PlayerName> "
Chainsaw - "<PlayerName> passed away."
Close range Does not apply force on damage. "<PlayerName> passed away."
Damager Needs to be set to this in order to make MovingBrush damaging work. "<PlayerName> passed away."
Drowning Will play additional "bubbly" sounds when dying and gurgling as hit sound (just like the player would take damage from drowning normally). "<PlayerName> drowned."
Explosion - "<PlayerName> blew himself away."
Freezing - "<PlayerName> has frozen."
Heat - "<PlayerName> stood in the sun for too long."
Impact Does not apply force on damage. "<PlayerName> swashed."
no damage Despite its name, this is still applying damage. "<PlayerName> passed away."
Projectile - "<PlayerName> passed away."
Spike stab Will play the "impaled" death animation if the damage is enough to kill players. "<PlayerName> was pierced" or "... fell into a spike-hole." (if "Damage from triggerer" set)
Teleport - "<PlayerName> "

AnimationChanger

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Start event no yes yes yes

Can change the animation for ModelHolder2 or Light entities.

Properties:

Name Type Values Shortcut Description
Ambient Light Animation enum depends on file - The animation specified in the Light/Model animation file of the target to be playing.
Ambient Light Color color RBG/HSV A Changes color of light entities. Works with directional light only.
Ambient Light Looping bool yes/no - Animation will be repeated indefinitely.
Diffuse Light Animation enum depends on file D Similar to the Ambient Light Animation property.
Diffuse Light Color color RBG/HSV C Same as Ambient Light Color.
Diffuse Light Looping bool yes/no - Analogous to the Ambient Light Looping parameter.
Model Animation enum depends on model M Changes the animation of the model, not the light source.
Model Looping bool yes/no - Animation will be repeated indefinitely.
Name - - - -
Parent - - - -
Spawn flags - - - -
Target reference AnimationHub, ModelHolder2, Light - -
Texture Animation enum depends on file - Similar to Model Animation, but used for an animated model texture.
Texture Looping bool yes/no - X

AnimationHub

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Start event no yes yes yes

The hub is useful if you need to trigger animations on multiple models at once or in succession with a certain timing. Up to 10 model or light references can be set, for which technically only one AnimationChanger needs to be placed that selects the desired animation.

Properties:

Name Type Values Shortcut Description
Delay each float >0 D Seconds to wait before each target is triggered in succession.
Delay 0-9 float >0 - Individual delay per reference.
Name - - - -
Parent - - - -
Spawn flags - - - -
Target 0-9 reference ModelHolder2, Light - -

Items
Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none none no yes yes yes

All item entities share the same following properties. Type values for each specific item can be found below.

Properties:

Name Type Values Shortcut Description
Floating bool yes/no F Item will not be affect by gravity.
Name - - - -
Parent - - - -
Pickup once bool yes/no P Item disappears after it has been first picked up. Useful for co-op.
Respawn bool yes/no R Item will respawn. For TFE this is hardcoded to 10 seconds.
Respawn Time bool yes/no R Seconds after which the item should respawn.
Spawn flags - - - -
Target - - - Trigger target on item pickup.
Type enum see specific items Y The different items available.
HealthItem

Types:

Name Value Preview
Large +50
Medium +25
Pill +1
Small +10
Super +100

ArmorItem

Types:

Name Value Preview
Helm Helmet +5
Medium +50
Shard +1
Small +25
Strong +100
Super +100

WeaponItem

Types:

Name Preview
Cannon
Colt
Chainsaw
Double shotgun
Flamer
Grenade launcher
Laser
Minigun
obsolete unusable; auto-switches to "Laser"
obsolete unusable; auto-switches to "Laser"
obsolete unusable; auto-switches to "Laser"
Rocket launcher
Single shotgun
Sniper
Tommygun

AmmoItem

Types:

Name Value Image
BackPack - don't use Throws error upon pickup, but is otherwise usable but not recommended. Gives +20 shells +200 bullets +5 rockets.
Bullets +50
Electricity +40
Grenades +5
IronBalls +3
Napalm / obsolete Flamethrower ammo / unusable; auto-switches to "Shells".
obsolete unusable; auto-switches to "Shells".
Rockets +5
SeriousPack - don't use Throws error upon pickup, but is otherwise usable but not recommended. Contains all ammo to max capacity.
Shells +10
Sniper bullets +5

KeyItem

Collected key items will be used the first time entering a DoorController that needs that key. It then cannot be used to open a different door with the same key, unless a new key of the same type is collected.

TFE Types:

Name Image
Cobra
Element - Air
Element - Earth
Element - Fire
Element - Water
Eye of Ra
Feather of Truth
Gold amon
Gold ankh
Gold ankh dummy key
Gold Heart
Moon Key
Ra Key
Scarab
Scarab dummy
Sphinx 1
Sphinx 2
Stone ankh
Wooden ankh

TSE Types:

Name Image
Book of wisdom
Crystal Skull
Gold cross
Gold elephand
Gold jaguar
Hawk wings - part 1
Hawk wings - part 2
Hilariously happy ceremonial mask
Holy grail
Ix Chel mask
Seriously scary ceremonial mask
Silver cross
Statue of King Tilmun
Tablet of wisdom
Winged lion
Wooden cross

MessageItem

A simple item with only one available visual: a papyrus scroll.

Properties:

Name Type Values Shortcut Description
Message file *.txt M NETRICSA message text to display.
Name - - - -
Name - - - (Yes, this entity has two name properties for some reason, they are the same though).
Parent - - - -
Spawn flags - - - -
Target - - - -

AmmoPack

Properties:

Name Type Values Shortcut Description
Bullets int 0-500 B Ammo for Minigun + Tommygun.
Electricity int 0-400 B Ammo for laser gun.
Grenades int 0-50 B Ammo for Grenade Launcher
IronBalls int 0-30 B Ammo for cannon.
Rockets int 0-50 B -
Shells int 0-100 B Ammo for shotguns.
Type enum Custom pack, Serious pack Y Only determines the visuals. Selecting "Serious pack" won't automatically fill up all ammo.

Camera

Old cut scene tutorial.

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trogger event no yes yes yes

Cameras can be used for one-shot cut scenes, or, in combination with CameraMarkers, more elaborate cinematics.

Properties:

Name Type Values Shortcut Description
AR Height (controlls pitch) float - - Cam pitch in AR mode.
AR Radius X float - X Distance between view target (set in CameraMarker) and camera entity in 'Auto rotate' mode.
AR Radius Z float - Z Distance between view target (set in CameraMarker) and camera entity in 'Auto rotate' mode.
AR Rotate speed float - S ???
AR Rotate time float - T ???
AR start heading float - D ???
Auto camera end Event - - - Trigger type for after the cutscene. Only works if "Auto rotate (AR)" is set.
Auto camera end Target - - - Trigger target for after the cutscene. Only works if "Auto rotate (AR)" is set.
Auto rotate (AR) bool yes/no A Only uses one CameraMarker with a set "View target" property to use this positional target. Will make use of all the "AR" properties.
FOV float - F Field of view for the camera in degrees.
Ignore time stretch bool yes/no A Decouple timings from the game tick. Could cause issues with lag and/or synching in online sessions?
Name - - - -
OnBreak reference any entity B Entity to trigger if the cut scene has been aborted. By default triggers by the player taking damage during the cutscene. For it to be more useful, the player must be affected by a PlayerMarker during the cutscene. Then the trigger will be fired when skipping (clicking) the cutscene. Tutorial by Rakanishu here.
Parent - - - -
Spawn flags - - - -
Target - - - The CameraMarker to start on.
Time float - E Duration of the cut scene. Only works if just the camera is used for a still frame. If any CameraMarkers are used, their Delta time properties are used to determine the overall length.
WideScreen bool yes/no W Render the camera viewport in "wide screen", regardless of the wide screen setting in the game options.

CameraMarker

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none none no yes yes yes

Properties:

Name Type Values Shortcut Description
Bias float -1.0 - 1.0 B Associated with the calculation of the position of the camera. See enitity code for the formula.
Continuity float -1.0 - 1.0 C Easing strength when approaching the marker. Lower values will make the camera overshoot and slowly go back on it's path.
Delta time float -1.0 - 1.0 D Seconds to reach the next marker. This time is independent of the camera's Time property.
Fade Color float -1.0 - 1.0 C Color to fade to, when moving to the marker. This is only taken into account for alpha values > 0, which will determine the opacity of the fade. For example a fade color of black with an alpha value of 255 will make the screen fade to pitch black over the course of reaching the marker.
FOV float -1.0 - 1.0 F Field of view for the marker. Will ease in/out depending on the other markers on the spline.
Name - - - -
Parent - - - -
Skip to next bool yes/no S If it's the first marker, it will be skipped and the next one will be started on. If it's a marker in between, the cut scene will end upon reaching the marker.
Spawn flags - - - -
Stop moving bool yes/no O Cut scene will end at the marker.
Target - - - The next marker on the path, or the first marker, if this is the last.
Tension float -1.0 - 1.0 C Blending between markers. High tension will move to a marker and briefly stop before continuing. Lower values will make the camera smoothly move over markers.
Trigger reference any entity G Entity to trigger upon reaching the marker.
View pos ratio X/Y/Z float - F Associated with the calculation of the camera rotation angle. See enitity code for the formula.
View target reference any entity V Uses the specified entity as "look-at" target, so marker orientation will be ignored while focusing camera view on the specified entity.

EffectMarker

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trigger event no yes yes yes

TFE EffectMarkers only provide technical effects, while TSE in TSE also visual effects are available.

Properties:

Name Type Values Shortcut Description
Baisc effect type enum see table below Y Effect to use for the "Basic effect" for "Effect type" below. These effects are only visual in nature, as opposed to Eruptors, which also have a physical effect and e.g. cause damage.
Effect type enum see table below Y Actual effect.
FX color color RGBA/HSV C "Glare" effect type color for the fade-in/-out.
FX Life time float - L Seconds the effect should last.
FX Model / FX Entity 1 reference ModelHolder M The model the effect should be applied on. Depends on the effect type. Some effects affect the Target property rather than the FX Model. Only works for non-basic effect types.
FX Model 2 / FX Entity 2 reference ModelHolder O Blend model, only relevant for "Blend two models" effect type.
Name - - - -
Parent - - - -
Shake fade float - - How quickly the shake effect fades out. The higher the number, the shorter the shake effect.
Shake fall off float - - Distance to the marker in which the shake effect will apply.
Shake frequency B/Y/Z float - - Shake frequencies per axis, with B being the inclination angle.
Shake intensity B/Y/Z float - - Shake intensity per axis, with B being the inclination angle.
Spawn flags - - - -
Stretch float - S Scale of the effect. Doesn't work for all basic effects.
Target - - - Entities for show/hide effect types.

Effect types:

Name Preview Info
Appear big blue flare Has no fade-out. Only visibile in full render mode (Numpad 6).
Appear model Needs to be triggered twice! Recommended setup: A Trigger set to Auto Start targetting the effect marker. Then another Trigger that should fire whenever the blend effect should happen. First trigger to the EffectMarker will make FX Model 2 disappear, second trigger actually plays the effect for the amount of time set in FX Life time.
Appear or disappear model Does nothing? (TODO: verify trigger types)
Basic effect Will play the effect selected for the "Basic effect" property.
Blend two models Example in The Great Pyramid in the cut scene right before the elevator where the Amon statues morph from stone to chrome. Needs to be triggered twice! Recommended setup: Same as for "Appear model".
Clear parent "Un-parents" the attached child object.
Disappear model Needs to be triggered twice! Recommended setup: same as in "Appear model".
Glare Quick fade-in to white screen, slow fade out. Only works in-game, not in-editor testing.
Hide entity Will hide the entity set in the Target property.
None Does nothing.
Player appear "Electrical charge" effect will scale over the model set in FX Model.
Shake it baby Supposedly used for a screen shake effect, but does nothing?
Set parent
Show entity Will un-hide the entity set in the Target property, if previously hidden by another EffectMarker.
Teleport Teleports FX Entity 1 to the position of FX Entity 2

Basic effect types:

Name Effect
Blood explode
Blood spill No effect.
Blood stain No effect.
Blood staingrow No effect.
Bomb
Bullet stain grass
Bullet stain grass no sound
Bullet stain red sand
Bullet stain red sand no sound
Bullet stain sand
Bullet stain sand no sound
Bullet stain snow
Bullet stain snow
Bullet stain stone
Bullet stain stonenosound
Bullet stain underwater
Bullet stain underwater no sound
Bullet stain water
Bullet stain waternosound
Bullet stain wood
Bullet stain wood no sound
Bullet trail
Cannon
Cannon explosion stain No effect.
Cannon no light
Cannon plane
Cannon shockwave
Collect energy
Disappear dust No effect.
Dust fall
Explosion debris
Explosion smoke
Explosionstain No effect.
Gizmo splash fx No effect.
Gizmo stain No effect.
Grenade
Grenade plane
Growing swirl
Laserwave No effect.
Light cannon
None No effect.
Rocket
Rocket plane
Shockwave
Summoner star explosion
Teleport

GravityMarker

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
Brush to apply to Trigger event no yes yes yes

Needs to be set up for sectors and brushes in order to work.

Properties:

Name Type Values Shortcut Description
FallOff float - F ???
Forcefield Acceleration float - - Acceleration of the force pushing entities in the given direction.
Forcefield Direction vector values in ° F Direction to apply force to. Will be indicated with an arrow on the marker.
Forcefield Velocity float - - The strength with with to push entities. Will push players, items and enemies alike.
HotSpot float - H ???
Name - - - -
Parent - - - -
Spawn flags - - - -
Strength float - S The actual gravity. 1 corresponds to regular gravity. Negative values invert direction of gravity.
Target reference -
Torus Radius float - R ???
Type enum see table below Y -

Types:

Type Effect
Central Entities will gravitate to the center point of the marker.
Cylindrical Only makes sense for cylindrical shaped brushes to apply to. Direction of the marker matters, so it should point along the length of the cylinder.
Parallel Entities will gravitate to a plane in the direction set per sector (any direction and all 3 axes in 3D space).
Torus Only makes sense for torus shaped brushes to apply to?

GravityRouter

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
Brush to apply to Trigger event no yes yes yes

For switching between GravityMarkers. Instead of the GravityMarkers themselves, the router should be set for the affected brush and sector. The switching itself happens by triggering the individual GravityMarkers that should apply upon triggering.

Properties:

Name Type Values Shortcut Description
Name - - - -
Parent - - - -
Spawn flags - - - -
Target reference GravityMarkers T The GravityMarker that should be active at the start.

PlayerActionMarker

Level ending guide by Zadeon

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trigger event no yes yes yes

There are several different actions to chose from, mostly involving player specific animations. Most importantly, they hold actions needed to properly end a level.

Properties:

Name Type Values Shortcut Description
Action enum see table below A The action to perform for this marker.
Door for item reference any entity D ???
Item to pick reference any entity I The item to play a pick up animation on. Used e.g. for the four elements throughout TFE.
Name - - - -
Parent - - - -
Spawn flags - - - -
Speed float - S Movement speed for "Run" actions. 1 = running, ~0.2 = walking.
Target - - - The next PlayerActionMarker in the chain to trigger.
Trigger --- --- G Entity to trigger upon reaching the marker.
Wait float - W Seconds to wait upon arriving at the marker for the "Wait" action. When using with the "RecordStats" action this will set the "Estimated time" value for the statistics screen.

For triggering actions while the player is still running it's best to always use a "RunAndStop" action before any other action that involves player animations like putting away weapons. If these actions are used without a prior "RunAndStop", the player may be stuck in the running animation while the other animation plays, which doesn't look very nice.

Actions:

Action Effect Preview
Appearing Hatshepsut intro, the animation of Sam arriving through the TimeLock along with VFX and falling animation.
DrawWeapon Plays weapon draw animation, drawing the last weapon that was used by the player. Only works if "StoreWeapon" action has been used before.
EndOfGame Shows statistics screen. When exiting, the final score will be posted and the scoreboard will be displayed, effectively ending the game (session). -
FallDown Plays a brief transition animation, but does nothing if the player isn't physically falling.
FallToAbyss ??? -
LogoFireMinigun Player will stand on the marker and fire any weapon currently equipped, just like in the intro. After firing, the animation will switch to holding a Minigun, regardless of the equipped weapon. For this to work at all, the appropriate amount of ammo needs to be present, otherwise the firing will interrupt and switched to a different weapon.
LookAround The player will take a step back and start looking around for approx. 15 seconds.
NoGravity Turns off gravity for the player only, so any "Run" actions will see the player float through space.
PickItem Plays the "artifact pick up" animation. If a key item is set for "Item to pick", it will be displayed during the animation. Does not work for any other item type.
RecordStats Will store statistics for this level to able to display them on the stats screen in each consecutive level. If a different level is entered, the stats will not carry over, if there was no RecordStats action triggered in the level before, hence not showing stats for that prior level in the current one. -
ReleasePlayer Will end any running cut scene return full control to the player. -
Run Is used to mark different points to run to in succession. If this is the last marker in a chain, the player will overshoot the marker a bit due to inertia. "RunAndStop" should be used for any occasion the player should actually stop on a marker.
RunAndStop Makes the player to to the marker and fully stop.
SE Logo draw weapon Makes player draw the chainsaw.
SE Logo fire Makes player rev the chainsaw as used in the intro.
ShowStats Shows NETRICSA's statistics screen. This action needs any follow up trigger, either an "EndOfGame" action or a WorldLink, otherwise players will be stuck on a black screen after exiting NETRICSA. -
StartComputer Will pull up NETRICSA and show the latest message. -
StartCredits Will start the credit roll. Credits text is defined in Data/Credits.txt and the length of the scroll is based on the number of lines in the text file, as the scroll speed is hardcoded. These are the same credits that are shown when closing the game (space background). Note: Credits text won't show by playing within the editor, instead an error message is displayed in the console. -
StartIntroScroll Similar to "StartCredits", will start the scrolling text, displaying the contents of Data/Intro.txt. -
StopScroller Will stop any scrolling text before they end naturally? -
StoreWeapon Will make the player put the current weapon away. Can be re-equipped in a cut scene by the "DrawWeapon" action, or manually by the player if control has been returned.
Teleport Will teleport the player to the marker. -
TravelingInBeam Plays the "tractor beam" animation as seen at the end of TFE when beaming up to the space ship.
TurnOnGravity Turns gravity for the player back on, after is has been turned off by the "NoGravity" action.
UseItem Will play the "put item on pedestal" animation. If a key item is set for "Item to pick", it will be displayed during the animation. Does not work for any other item type.
Wait Waits the amount specified in the "Wait" property. Any player input will be ignored during that time. -
WaitForever Waits an indefinite amount of time. The "ReleasePlayer" action can be used to break the waiting loop. Prevents cutscenes from being skipped. -

VoiceHolder

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none Trigger event no yes yes yes

Simplified SoundHolder focusing on voice lines for the player. The sound source is the player, so if any voice lines are played during a cut scene, the further away the camera is from the player, the lower the volume of the voice line.

Properties:

Name Type Values Shortcut Description
Active - - - -
Max trigs int - X How often the entity can be triggered.
Message file *.wav M The voice line to play.
Name - - - -
Parent - - - -
Spawn flags - - - -

MirrorMarker

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
Brush to apply to none no yes yes yes

MirrorMarkers can be seen as "render targets", showing any part of the level that is pointed to by another MirrorMarker. That is, they only work in pairs and in conjunction with brushes, their Mirror properties and the right polygon and texture settings.
The basic setup looks as follows:

  • 1 MirrorMarker to be used as the mirror's face (on a polygon)
  • 1 MirrorMarker as the view target, so what will be shown on the mirror's face.
  • A brush with a Mirror property set to the first MirrorMarker.
  • A polygon of that same brush with the following settings:
    • Polygon -> Mirror: first MirrorMarker
    • Texture Texture 1 Blend: Shade

The orientation of both markers will affect the mirrored image.
Mirrors are not recursive, meaning if the mirror target will point at the mirror itself, there will not be an endless cascade of mirrors, instead the base texture of the mirror polygon will be displayed in the mirrored image.

Since any kind of reflection is performance heavy, mirrors should be used sparingly and within smaller confines for best results.

Properties:

Name Type Values Shortcut Description
Name - - - -
Parent - - - -
Rotation Speed float - S Speed of the rotation set below.
Rotation Type enum banking, none, twirling R The type of rotation to apply to the mirrored image.
Spawn flags - - - -
Target - - - The MirrorMarker to link to.

Teleport

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
Marker to teleport to none no yes yes yes

Similar in use to DoorControllers as in their volume is defined by only two parameters. Upon entering the volume, any entity can be teleported to a specified Marker. The usual teleport SFX and VFX will be played.

Properties:

Name Type Values Shortcut Description
Active - - - -
Force stop bool yes/no F Makes entities come to a full stop after teleportation. Otherwise inertia when entering the volume will be carried over.
Height float - H Volume height (size in Y).
Name - - - -
Parent - - - -
Players only bool yes/no P Only allow players to teleport.
Spawn flags - - - -
Target - - - The target location to teleport to.
Width float - W The width and depth of the volume (size in X an Z).

WatchPlayers

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none none no yes yes yes

A type of trigger that responds to player distances in various ways.

Properties:

Name Type Values Shortcut Description
Active - - - -
Close Event type - - T Event type for trigger when players are closer to the entity than specified in "Watch distance".
Far Event type - - T Event type for trigger when players are further away from the entity than specified in "Watch distance".
Far target - - T The entity to trigger for when players are further away than specified in "Watch distance".
Name - - - -
Owner/Target reference any entity O The entity to trigger.
Parent - - - -
Range watcher bool yes/no R Use the entity's position for distance calculation. If turned off, the Owner/Target's position will be used instead.
Spawn flags - - - -
Wait time float - W How often the distance check to the nearest player is performed. For example a value of 5 will perform the check every 5 seconds.
Watch distance float - D The distance threshold between the nearest player and the entity to react to.

EnemySpawner

Spawner guide by Zadeon.

For placed enemies to appear in the drop-down lists for Template targets, enemies must be marked as "Template".

Properties:

Name Type Values Shortcut Description
Circle inner float <= Circle outer V Inner area around the spawner in which enemies will not spawn.
Circle outer float - B The area around the spawner in which enemies can be spawned in.
Count group / Group size int - - Amount of enemies that can be active at the same time.
Count total / Total count int - C How many enemies the spawner will maximally spawn.
Double in serious mode bool yes/no B Double the enemy count when playing on Serious difficulty.
Delay group / Group delay float - G Amount of seconds to wait until the next group (wave) can be spawned.
Delay initial / Wait delay float - W Seconds before the spawner will start spawning after being triggered.
Delay single / Single dealy float - O Amount of seconds to wait before spawning another enemy within a group. Note: For type "Simple" this property has no effect, which seems a little counter-intuitive. Instead "Group delay" is the right property to use to introduce a delay between single enemy spawns.
Name - - - -
Parent - - - -
Patrol target reference EnemyMarkers P Markers to run towards (and follow a path) if enemies are spawned further away from the player or have properties set that don't immediately aggro on the player. A minimum of two linked EnemyMarkers need to be placed in order for patrolling to work.
Spawn flags - - - -
SpawnEffect bool yes/no S Play the typical spawn VFX/SFX. If turned off, spawns will be silent. Useful for ambush scenarios or when enemy placement needs to be less obvious.
Tactics autostart bool yes/no - Directly use the set "Tactics holder" upon spawning.
Tactics holder reference TacticsHolder - TacticsHolder to use when spawning.
Telefrag bool yes/no F Players will be killed if they happen to stand on an EnemySpawner while an enemy is being spawned.
Template for Serious reference Enemy templates - Gives the option to use a different enemy to spawn just for Serious difficulty.
Template target reference Enemy templates - The enemy template to spawn.
Type enum see table below Y The behavior of the spawner.

Types:

Name Effect
Destroyable Will be disabled if attached to MovingBrush that's destroyed?
Respawner Spawns a single enemy after each "Group delay" up until the "Group size". Will automatically respawn enemies (with the given delay) up to "Total count" when enemies from the group have been killed. Useful to maintain a somewhat steady count of enemies until the total number has been exhausted.
RespawnerbyOne Same as "Respawner" but will ignore the "Group delay" and respawns a new enemy directly after each kill.
Simple Spawns a single enemy after each "Group delay" up until the "Total count".
Teleporter Teleports any non-templated enemy from anywhere in the level. Useful for enemies with parented entities that need to be referenced by other entities.
Triggered Same as "Respawner", but will only spawn in new enemies up until "Group size" with the given delay if the spawner has been triggered again.

EnemyCounter

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
MusicHolder present none no yes yes yes

This entity will display a health bar at the top of the screen, similar to boss fights, indicating the remaining amount of enemies to be killed.
To reduce the number, the counter has to be triggered by any normal trigger event. So it would make sense to use enemies' "Death target" properties to trigger the counter.

There are two ways to initially display the bar:

  1. Any regular trigger event will show the bar while also subtracting one point of the bar, as if an enemy had been killed. So any enemy with it's "Death target" set to the counter will show the bar after being killed.
  2. The "Start event" type will trigger the bar to show without also subtracting a single unit. Useful to already display the bar before any enemies start spawning.

Properties:

Name Type Values Shortcut Description
Count start int - A The total amount of triggers before the bar runs empty and disappears. Should be coordinated with spawner counts of enemies that should be counted.
Name - - - -
Parent - - - -
Spawn flags - - - -

EnemyMarker

Patrolling guide by Zadeon.

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none none no yes yes yes

These markers are generally used to build patrol routes or give spawned enemies a direction to initially run towards before spotting the player. They are also able to override common behavioral properties of enemies upon reaching the markers.

Fun fact

Enemies assigned a patrol route will return to their route after the player has been killed.

Properties:

Name Type Values Shortcut Description
Blind enum False, Ignore, True B Overrides enemies "Blind" property if set to anything other than "Ignore". Useful to make enemies aware of the player only after reaching a certain point.
Deaf enum False, Ignore, True D Overrides enemies "Deaf" property if set to anything other than "Ignore".
Fly enum False, Ignore, True F Useful to make flying enemies (Gnaar/Harpies) switch between flying and walking based on their paths.
Marker Range float - M The radius in which the marker is considered passed (to trigger targets) after entering.
Name - - - -
Parent - - - -
Patrol Area Inner float - R The radius in which to patrol around the marker.
Patrol Area Outer float - E There seems to be no difference to the "Inner" property.
Patrol Time float - P Amount of seconds to patrol around the marker before heading to the next one.
Run to marker enum False, Ignore, True O Whether to have enemies run or walk to the marker.
Spawn flags - - - -
Start Tactics bool yes/no - Indicated on the marker from which the TacticsHolder is activated, if it was not activated by the EnemySpawner.
Target - - - Target to trigger once the marker is reached. Usually this is the next marker to go through. The last marker in a chain should always be linked back to the first marker.

Used to guide the ExotechLarva along it's rail system.

They don't seem to be used in TFE at all. They're only present in the Karnak and Luxor levels, yet actual navigation functionality seems to be provided by regular EnemyMarkers in the area they're used (at least in Karnak).

Properties:

Name Type Values Shortcut Description
Marker Range float - M Defines the radius in which the marker is considered passed (to trigger targets) after entering.
Name - - - -
Parent - - - -
Spawn flags - - - -
[Target] 0-5 (https://rentry.org/SED1Docs#common-properties) - - - Used to link between NavigationMarkers to form a way net.

Additional Entities

DestroyableArchitecture

So Ugh-Zan III can whack stuff.

These seem similar to moving brushes as they share their destroyable properties. They are only used in TFE's The Great Pyramid, for Ugh-Zan III to destroy parts of the level geometry.

DestroyableArchitecture is build with brushes to work and initially behave much like WorldBase or TouchField entities as in displaying a globe object before any brush primitive has been added to it.

Properties:

Name Type Values Shortcut Description
Blowup by Damager bool true/fase - Brush can only be destroyed by a Damager entity. Any damage by players or enemies will be ignored. Note: Only works if the Damager's type property is set to "Damager".
Color of debrises color RGBA/HSV A Coloration of the debris. Debris for moving brushes are always stone-textured.
Cube factor float - - The size of the debris.
Debris blow power float - - The amount of force the debris are emitted with.
Debris count int - - The amount of debris spawned upon destruction. Any value higher than ~1000 will put too much strain on the engine and bog down frame rate.
Dust stretch float - - Scale of the dust effect.
Gradient reference GradientMarkers R ???
Health float >= -1 H The amount of damage the brush can take before being destroyed. A value of -1 will make it invulnerable.
Name - - - -
Parent - - - -
Spawn flags - - - -
Stretch float - S Scale of the debris of architecture destroyed by Ugh-Zan.
Type enum see tabel below Y These types only work together with using DevilMarkers to have the Devil entity destroy brushes of this type. This type will then determine the destruction effect. If the entity is destroyed via a Damager, the regular debris are shown (just like for MovingBrushes).

Actions:

Type Effect Preview
Appear model ??? -
Appear model now ??? -
Destroy obelisk Will show an obelisk shattering (as seen in The Great Pyramid), regardless off the brush itself. Only works if used together with a DevilMarker with either the "Punch" or "Smash" action performed by a Devil entity.
Destroy pylon Will show a certain piece of wall shattering (as seen in The Great Pyramid), regardless off the brush itself. Only works if used together with a DevilMarker with either the "Punch" or "Smash" action performed by a Devil entity.
Disappear model ??? -
Disappear model now ??? -
Hit ground ??? -
Lightning ??? -
Morph two models ??? -
Move ring ??? -
None ??? -
Portal lightnings ??? -
Sizing big blue flare ??? -
Sizing ring flare ??? -

Some of these types suggest they have been moved and put into a working state within the EffectMarker.


DevilMarker

Special markers for a special enemy. Ugh-Zan guide by Rakanishu here.

These are like PlayerActionMarkers specifically made for Ugh-Zan III to perform various animations during his entry in The Great Pyramid.

In order for any of these markers to work, the first marker (usually a "Rise" action) needs to be set for the Devil entity's Action property. Additionally, the Devil entity needs to be triggered by any trigger event to start the action chain, otherwise it will just stand idle.

The "Name" property can not individually be set, but is automatically set with the name of the action used.

Properties:

Name Type Values Shortcut Description
Action enum see table below A The action to perform for this marker.
Attack radius float - S ???
Destroy target 1-2 - - E/R Target entity to destroy after playing certain actions.
Devil reference any entity D Unused?
Name - - - -
Parent - - - -
Spawn flags - - - -
Target - - - The next DevilMarker in the chain to trigger.
Trigger --- --- G Entity to trigger upon reaching the marker (not to confuse with the usual way the Trigger property is used).
Wait idles int - W Idle animation length to wait before continuing to the next markers?

Actions:

Action Description Preview
Decrease attack radius Decreases attack radius by 20 if > 21 (unused). -
Force attack radius Overrides Devil entity's radius of attack. -
Grab lower weapons Does nothing? -
Hit ground Plays a stomping animation with debris VFX.
Jump Does nothing. -
Jump into pyramid Plays climbing animation at the marker position, ending with drawing all four weapons. For this to work, the "Devil" property needs to be set to the Devil entity and the marker must be triggered via trigger event. It must not be the target of another DevilMarker.
Next action Skips to the next marker. -
None Does nothing. -
Punch Plays two punch animations, one left and one right, punch down towards the ground. If destroy targets are set, they will be timely triggered with the punch (one for each side). Only works with DestroyableArchitecture which have the proper Type property set ("Destroy obelisk" or "Destroy pylon").
Punch left - obsolete Does nothing. -
Punch right - obsolete Does nothing. -
Rise Should be the first marker linked to by the Devil entity's Action property.
Roar Will play the roar animation.
Smash Will play the obelisk-smashing animation, two hits, one left, one right. If destroy targets are set, they will be timely triggered with the punch (one for each side). Only works with DestroyableArchitecture which have the proper Type property set ("Destroy obelisk" or "Destroy pylon").
Smash left - obsolete Does nothing. -
Smash right - obsolete Does nothing. -
Stop destroying Enables general enemy behavior, e.g. following and attacking the player. Must exist and be targeted at any point, otherwise the editor/game will crash. -
Stop moving Will make the Devil entity stop moving at the marker. -
Teleport into pyramid Will teleport the Devil entity to the marker, play a roar animation and then equip all four weapons. For this to work, the "Devil" property needs to be set to the Devil entity and the marker must be triggered via trigger event. It must not be the target of another DevilMarker.
Wait Waits the amount of idles specified in the "Wait idles" property? -
Walk Walks to the marker. -

EnvironmentBase

To make the environment more lively.

"Entities for various NPCs: birds, little animals, fish, cars in the city or star ships flying around a space station. This is [basically] a model with custom attachments that moves along markers like a MovingBrush and changes animation on the fly."
- SLAwww

Can be started and stopped via "Start environment event" and "Stop environment event" triggers.

This entity isn't used anywhere by Croteam themselves, so its use is rather experimental. It also seems to take a few seconds before it can actually be triggered, so any trigger that automatically fires at the beginning of the level will not work and have to be delayed 2-3 seconds.

Has collision turned on by default and will always collide with level geometry. This cannot be changed.

Properties:

Name Type Values Shortcut Description
Animation enum depends on the model - Determines which animation the model should play (if any).
Attachment 1-3 animation enum depends on the model - Same as above for attachments.
Attachment 1-3 model file *.mdl - Which model to attach at the given index. Will cause a crash if there is no attachment index for the primary model.
Attachment 1-3 position int - - Index of the attachment (as shown in SeriousModeler).
Attachment 1-3 texture file *.tex - The texture map to apply to the attachment models.
Flying bool yes/no F Whether to ignore gravity.
Model file *.mdl M The primary model to render.
Move frequency float - - Seconds after which the entity will recalculate its movement parameters.
Move speed float - V Overall movement speed
Name - - - -
Parent - - - -
Range float - R Maximum player detection range.
Rotate speed float - B Turn speed when turning to reach markers.
Spawn flags - - - -
Stretch float - - Overall model scale. Attachments will not scale with the base model.
Target - - - The initial EnvironmentMarker to go to.
Texture file *.tex X The texture map to apply to the primary model.
Use watcher bool yes/no F Whether it should be triggered when the player is in view, and stop when the player is not visible. If disabled, the entity must be triggered manually.
Watcher frequency float - - Frequency in seconds in which the player’s visibility is checked.

EnvironmentMarker

Making paths for environment objects.

Only used together with EnvironmentBase entities, like enemy markers for enemies.

Properties:

Name Type Values Shortcut Description
Animation enum depends on the model A The animation to play while staying at the marker. Note: "Wait time" needs to be set for the animation to play, unless "Change default anim" is set.
Change default anim bool yes/no C Model will continuously play the animation that was specified by the marker upon leaving.
Fixed anim length bool yes/no F Rounds the timeout on the marker to an integer number of seconds.
Marker range float - R The radius in which the marker is considered passed (to trigger targets) after entering.
Model file *.mdl M Only used to get the animation set for the EnvironmentBase entity, so the model should be the same.
Move speed float - V Movement speed override.
Name - - - -
Parent - - - -
Random time float - E Random number of seconds to wait on a marker (added to the "Wait time" property).
Rotate speed float - B Turn speed override.
Spawn flags - - - -
Target - - - The next marker to go to.
Wait time float - - Seconds to wait on the marker.

Eruptor

ModelHolder2 with benefits.

Basically a projectile emitter. This entity shares all the same properties of the ModelHolder2, but comes with additional properties to control an array of projectiles. Needs to be triggered with an "Start environment event" type trigger.

Contains all enemy attack projectiles to be used for static hazards.

All properties shared with ModelHolder2 are left out for clarity and can be looked up at the appropriate entry.

Properties:

Name Type Values Shortcut Description
Active - - - -
Er Angle float - Q Angle of the arc if "Er Shoot In Arc" is enabled.
Er Random wait float - G Amount of seconds to add to "Spawn time" to wait between spawns.
Er Shoot In Arc bool yes/no S Whether to shoot the projectile in an arc with the angle specified in "Er Angle".
Er Spawn time float - F Amount of seconds to wait before spawning the next projectile.
Er Speed max float >= Er Speed min V Max projectile speed. Only seems to affect grenades.
Er Speed min float - B Min projectile speed. Only seems to affect grenades.
Er Stretch Depth float - - ???
Er Stretch Height float - - ???
Er Stretch Random float - - ???
Er Stretch Width float - - ???
Er StretchAll float - - Scale factor for all axes.
Er StretchX/Y/Z float - - Scale factor per axis.
Er Type enum see table below T Type of projectile.
Name - - - -
Parent - - - -
Spawn flags - - - -

Er Types:

Type Preview
Afterburner debris
Air Elemental Wind Blast
Beast Big Debris
Beast Big Projectile
Beast Debris
Bomberman
Boneman
Catman
Cyborg bomb
Cyborg laser
Demon Fireball
Demon Fireball Debris
Devil Guided Projectile
Devil Laser
Devil Rocket
Dragonman
Dragonman Strong
Exotech Larva Plasma
Exotech Larva Tail Projectile
Firecracker
Fishman
Flame
Grenade
Grunt Commander Laser
Grund Solider Laser
Guffy Projectile
Huanman
Iceman
Iceman Big
Iceman Large
Laser
Lava Comet
Lavaman Big Bomb
Lavaman Bomb
Lavaman Stone
Mantaman
Meteor
Rocket
Rocketman
Shooter Fireball
Shooter Flame
Shooter Wooden Dart
Stoneman
Stoneman Big
Stoneman Large
WalkerRocker
Woman

ParticlesHolder

Making sparkling effects.

Uses a given set of textures to create particle effects than can be shaped with various parameters.

Properties:

Name Type Values Shortcut Description
Active - - - -
Background - - - -
Count int - C Amount of particles to spawn.
Disappear mip factor float - - ???
Name - - - -
Param 1-3 int - P ???
Parent - - - -
Size float - - Works as scale factor. Only works with "EmanatePlane", "Waterfall foam" and "Lava Erupting"
Spawn flags - - - -
StretchAll float - - Scale factor for all axes.
StretchX/Y/Z float - - Scale factor per axis.
Targetable bool yes/no - Whether the entity will show up in other entities Target drop-down lists.
Texture enum see table below T Texture used for the particles
Type enum see table below T Type of particle effect.

Particle types:

Type Effect
Atomic Same effect as the one around weapon items.
Blood A streak of blood running down. Disregards the "Texture" property and always uses a red blood texture.
Chimney smoke
Collect energy
Emanate Particles moving outwards from the effect's center in all directions.
EmanatePlane Similar to "Emanate" but will scale depending on the "Size" property.
Fountain Fountain effect.
Lava Erupting Medium sizes lava sparks jumping up and falling down. Disregards the "Texture" property and always uses a orange spark texture.
Lava Flow No effect.
Rising No effect.
Rocket motor
SandFlow No effect.
Smoke Tiny black whirlwind.
Spiral Same effect as the one surrounding ammo items.
Stardust
Twister
Waterfall
Waterfall foam Foam or smoke effect. Disregards the "Texture" property.
WaterfallFlow No effect.

Particle textures:

Texture Look
Boubble01-02 Bubbles
Lava flow Circle particles with improper transparency.
Star01-08 Different stars
Water flow Dots fading towards the edge.
Water01-02 Opaque bubbles

Pendulum

Keep on swinging.

When triggered, the brush will swing like a pendulum based on its properties. Seen in Valley Of The Kings for the secret passage to Moon Mountains.
They initially behave much like WorldBase or MovingBrushes entities as in displaying a globe object before any brush primitive has been added to it.

The initial globe placeholder will be used as pivot for the pendulum. It can only swing along one axis.

Properties:

Name Type Values Shortcut Description
Active - - - -
Damage impulse factor float - - The impulse strength on being damaged/shot at.
Damp factor float - - Determines how long the pendulum will swing before coming to a halt. A value of 1 will make it swing indefinitely, anything below will dampen the swing. Higher values are not recommended.
Dynamic shadows bool yes/no F Doesn't seem to do anything.
Impulse on trigger float - - The impulse strength on being triggered.
Maximum angle float - R The angle the pendulum will reverse its swings at.
Name - - - -
Parent - - - -
Pendulum factor float - E Multiplier of events such as taking damage.
Spawn flags - - - -

PyramidSpaceShip

Look, the ship from Independence Day!

This entity holds the model of the SSS Centerprice. The model itself is massive in size and occupies roughly 1800 units of width on the grid, so levels need to be sized accordingly. It will initially be invisible until it's first triggered.

For any flight path to work, a minimum of 3 PyramidSpaceShipMarkers linked together in a loop are required (similar to a Camera).

Reacts to different trigger event types in different ways:

Event type Effect
Activate event Starts moving along the set path.
Trigger event Opens the beam bay, readies and fires the teleport beam. Trigger only works after it has moved along it's path and come to a stop.
Environment start/stop event only for TSE?

Properties:

Name Type Values Shortcut Description
Beam hit target marker reference - T Should define the target spot for the beam to hit. Will not actually point the beam to that spot.
Beam model holder reference ModelHolder2 B ModelHolder2 that should hold the energy beam for the teleport beam of the ship. Will be hidden when assigned and only show upon triggering the space ship when firing.
Fly away path marker bool yes/no F
Hit place flare reference - H ModelHolder2 that should hold the energy beam strike effect for the teleport beam of the ship. Will be hidden when assigned and only show upon triggering the space ship when firing.
Invisible bool yes/no F ???
Name - - - -
Parent - - - -
Spawn flags - - - -
Stretch float - S Scale factor of the model.
Target reference PyramidSpaceShipMarker - The marker to start the initial travel path on.
Wait after auto killing beam float - W ???

PyramidSpaceShipMarker

Like CameraMarkers, but for the space ship.

For any flight path to work, a minimum of 3 PyramidSpaceShipMarkers linked together in a loop are required (similar to a Camera). Other than that, properties work pretty similarly to CameraMarkers.

Properties:

Name Type Values Shortcut Description
Bias float -1.0 - 1.0 B ???
Continuity float -1.0 - 1.0 C Easing strength when approaching the marker. Lower values will make the camera overshoot and slowly go back on it's path.
Delta time float - D Seconds to reach the next marker.
Name - - - -
Parent - - - -
Rotation speed float - F Turn speed for reaching markers not on a straight line.
Space ship reference PyramidSpaceShip S ???
Spawn flags - - - -
Stop moving bool yes/no O Whether to stop the ship at this marker.
Target - - - The next marker on the path, or the first marker, if this is the last.
Tension float -1.0 - 1.0 C Blending between markers. High tension will move to a marker and briefly stop before continuing. Lower values will make the camera smoothly move over markers.
Trigger reference any entity G Entity to trigger upon reaching the marker.

RollingStone

Not the music magazine but an actual rock.

A physics enabled entity with a fixed model. Used to smash players (or enemies). Can be destroyed with weapon fire.

This is one of only the two entities without a name property.

Properties:

Name Type Values Shortcut Description
Bounce float 0 - 1 B Factor to determine how the stone will bounce if hitting geometry or an entity. Values > 1 will make it bounce with too much force, causing it to be destroyed.
Damage float - D How much damage to apply on touch when moving and "Fixed damage" is set.
Deceleration float - - Deceleration factor after each bounce. Higher values bring it to a halt quicker.
Fixed damage bool - F Whether to apply a fixed amount of damage set via "Damage" property. Will deal a consecutive 1 damage otherwise.
Health float - H Amount of health to withstand damage before being destroyed.
Parent - - - -
Spawn flags - - - -
Start direction vector 0-359° A The direction to apply the initial force to.
Start speed float - C Initial rolling speed.
Stretch float - S Model scale factor.

StormController

A hub for controlling rain and lightning.

This entity has lots of Target slots for Lightning entity references. Needs to be triggered with a "Start event" for lightning effects to start. Lightnings will be randomly triggered. Does not change the background to appear cloudy. Starts rain effect but only in TFE. In TSE, an EnvironmentParticlesHolder needs to be used.

Properties:

Name Type Values Shortcut Description
Color blend start color RGBA/HSV B ???
Color blend stop color RGBA/HSV - ???
Color shade start color RGBA/HSV S ???
Color shade stop color RGBA/HSV - ???
First lightning delay float - - ???
Lightning 1-20 reference Lightning T/Y/U/I/O/P The Lightning entities to randomly trigger while the controller is active.
Max lightning period float - - ???
Max storm power time float - - ???
Min lightning period float - - ???
Name - - - -
Parent - - - -
Spawn flags - - - -
Storm appear time float - - Seconds of transformation between clear and stormy sky.
Storm disappear time float - - Same as above.

Lightning

For background effects or environmental hazards.

For lightnings to work the following requirements must be met:

  • A working background viewer must exist
  • A WorldSettingsController must exist.
  • The BackgroundViewer must reference the WorldSettingsController.

If the initial lightning's green volume cube is not extended to the target marker upon selecting, you're missing a step in the setup.
Has a delay of roughly the time of the thunder SFX before being available to trigger again.

They can be triggered individually by a regular "Trigger" event, or via a StormController.

This entity is not part of the virtual tree initially and has to be added manually. Found in Classes/Lightning.ecl.

Properties:

Name Type Values Shortcut Description
Background - - - -
Light reference Lights L The Light entity to show with the lightning.
Light Animation enum depends on the Light A Light animation to play along.
Lightning power float - P ???
Name - - - -
Parent - - - -
Sound delay float - D Delay in seconds after which the SFX plays after the VFX.
Spawn flags - - - -
Target Marker - - A marker the lightning should be directed at. When successfully connected, a box will be drawn from the Lightning entity to the target marker.

Ship

Like a MovingBrush, but different.

Similar to MovingBrushes, Ship entities move along a path determined by ShipMarkers while rocking left and right to simulate riding waves. Also comes with a set of properties to control sail animation. Can also be used for any other kind of moving object that benefits from more natural movement due to the "Acceleration" property. Moving cars can be by setting the "Rocking" properties to 0, so it will follow a straight path.

Properties:

Name Type Values Shortcut Description
Acceleration float - C The ship’s acceleration when moving and before stopping on a marker (30 recommended).
Name - - - -
Parent - - - -
Rocking A float - A Y-axis pitching (Recommended 3).
Rocking V float - V Rolling along the X/Y axis (1.5 recommended).
Rotation [deg/s] float - R Turn speed of the ship (30 recommended).
Sail reference any entity L The model that will act as a sail for the ship. This must be set for the ship to work at all. If no actual sail is needed, a simple marker will suffice.
Sail roll-down anim enum depends on model - Determines the animation of the sail, if set, for when the ship starts moving.
Sail roll-up anim enum depends on model - Determines the animation of the sail, if set, for when the ship stops moving.
Sail sailing anim enum depends on model - Determines the animation of the sail, if set, for when the ship is moving.
Sail wawing anim enum depends on model - Determines the animation of the sail, if set, for when the ship is standing still.
Spawn flags - - - -
Speed [m/s] float - S Ship speed in meters per second.
Target ShipMarker - - The first marker to move to.

ShipMarker

To get ships moving.

Similar to MovingBrushes, Ship entities need ShipMarkers to be able to move along a path.

Properties:

Name Type Values Shortcut Description
Acceleration float - C Acceleration override when moving to the marker.
Harbor bool yes/no H Whether to stop (anchor) at the marker. Take acceleration into account when stopping locations need to be precise.
Name - - - -
Parent - - - -
Rocking A float - A Override for Y-axis pitching.
Rocking Change Time float - - Seconds to smooth between the Ship's own and the marker's "Rocking" properties.
Rocking V float - V Override for rolling along the X/Y axis.
Rotation [deg/s] float - R Turn speed override.
Spawn flags - - - -
Speed [m/s] float - S Speed override.
Target ShipMarker - - The next marker to move to.

Message holder

So NETRICSA can talk to you.

Upon being triggered, players receive a new message in NETRICSA.

This entity is not part of the virtual tree initially and has to be added manually. Found in Classes/MessageHolder.ecl.

Properties:

Name Type Values Shortcut Description
Active - - - -
Distance float - D ???
Message file *.txt M The NETRICSA message to display.
Name - - - -
Parent - - - -
Next reference any X Unused.
Spawn flags - - - -
Target reference - T -

BlendController

For blending texture layers, creating cool effects.

In order for a BlendController to work, the level must have a BackgroundViewer with a linked WorldSettingsController.
To apply any kind of blending, the desired polygon(s) need to be selected in polygon-mode . The corresponding blend type must be selected under "Textures -> Blend:" and match with the BlendController's type for either texture 2 or 3.
Initially, the selected texture will be transparent. When the BlendController is triggered with an "Activate event", the texture will turn on, blending in based on the selected type. Textures with the "Activate plate" type can also be turned off using the "Deactivate event" on the corresponding BlendController. Other types of overlays cannot be turned off.

This entity is not part of the virtual tree initially and has to be added manually. Found in Classes/BlendController.ecl.

Properties:

Name Type Values Shortcut Description
Blend type enum see table below Y The type of blend effect to apply.
Name - - - -
Parent - - - -
Spawn flags - - - -
Target - - - Unused.

Blend types:

Type Effect
Appear pyramid plates Smoothly appearing blend.
Activate plate 1-4 Constant flashing.
None None.
Pyramid morph room Smoothly blinking blend, changing to fast blinking, and then switching to stable.
***

TSE-only entities

AreaMarker

A bounding box for the Mordecai boss fight.

This entity has only a single use in the original games. It's a bounding box volume that's used to define Mordecai's boss fight arena. Internally it's used to retrieve info about active enemies in the area to decide whether to spawn more or less enemies.

Properties:

Name Type Values Shortcut Description
Area box vector - B Dimensions of the volume.
Name - - - -
Parent - - - -
Spawn flags - - - -

CrateBus

Brake! Brake! Braaaaaaaakeeee!

A simple entity with no collision and a fixed idle animation of the Croteam crate bus crashing into the SSS Centerprice during the intro of TSE. Cannot be killed or otherwise interacted with.

Properties:

Name Type Values Shortcut Description
Active - - - -
Explosion Stretch float - E ???
Head texture 01-24 vector - H Texture for each individual BigHead passenger.
Name - - - -
Parent - - - -
Spawn flags - - - -
Stretch float - S Scale of the model.

CreditsHolder

Let the credits roll. Wait, they don't roll?

Must be triggered via "Start event"-type trigger. Will start displaying credits entries. Other than a PlayerActionMarker with the "StartCredits" action, this entity doesn't "scroll" the credits, but fades different text entries in and out. It also has the added benefit of being able to chose the text file for the actual credits text. Furthermore, the credits text file to be used with this entity needs to adhere to some formatting and simple syntax in order to be parsed correctly:

CREDITS   

ENTRY
235, 100
1
CENTER
Medium Text
Large Text
Small Text
10

END

Line 1: CREDITS marks the beginning of the file. Must be present.
Line 3: ENTRY marks the beginning of a credit entry, which must be 3 lines. Unused lines should be left empty, but the line break must be present.
Line 4: The first two comma-separated numbers indicate the screen coordinates X and Y at which the text should be rendered. (0, 0) is the top-left corner of the screen. These are virtual coordinates and do not correspond to pixels and are thus resolution-independent. They do however depend on the text scale, so their range is not fixed. For a text scale of 1 with all three lines of text per entry, the range is roughly 0-410 vertically (Y-axis) and 0-980 horizontally (X-axis). Vertical spacing is between a full entry at scale 1 is ~80.
Line 5: The following number is a floating point number defining the overall text scale.
Line 6: CENTER is for centered text alignment. Alternatives are LEFT and RIGHT for left and right aligned text respectively.
Line 7: Medium size text. Often used as header/role/title.
Line 8: Large sized text. Mostly used for names.
Line 9: Small sized text. Mostly used for quotes or other flavor text.
Line 10: The number at the end of each ENTRY (after the 3rd line of text) is the time to display the given entry in seconds. If multiple entries are supposed to show at once, only the last entry should have this number set. All entries before should end with 0 (zero). There seems to be no technical limit on how many entries to display at once (other than available screen space).
Line 12: END marks the end of the file. Must be present.

Properties:

Name Type Values Shortcut Description
EndCredits trigger reference any entity - Unused. Supposed to trigger anything after the credits have been shown, but appears to do nothing.
Name - - - -
Parent - - - -
Spawn flags - - - -
Scroll Text file *.txt T The text file containing the credits text to display.

EntityStateDisplay

For modders to debug. Taken from SeriousSite.

Does not perform any game functions, but enables viewing the stack of states of any entity during the game.
This entity is useful exclusively for coders/modders, so it won’t work without additional coding. For EntityStateDisplay to work, the debug macro needs to be defined in HUD.cpp: #define ENTITY_DEBUG

During the game, the following information about the target entity is displayed at the top-left corner of the screen:

These are identifiers defined in the header file for any entity targeted. This is an example from :

RocketmanAttack(const CEntityEvent &__eeInput);
   BOOL H0x012f0034_RocketmanAttack_01(const CEntityEvent &__eeInput);
   BOOL H0x012f0035_RocketmanAttack_02(const CEntityEvent &__eeInput);
   BOOL H0x012f0036_RocketmanAttack_03(const CEntityEvent &__eeInput);
   BOOL H0x012f0037_RocketmanAttack_04(const CEntityEvent &__eeInput);
#define  STATE_CHeadman_Death 0x012f0038
   BOOL  
#line 587 "G:/SRC2/EntitiesMP/Headman.es"
Death(const CEntityEvent &__eeInput);
   BOOL H0x012f0039_Death_01(const CEntityEvent &__eeInput);
   BOOL H0x012f003a_Death_02(const CEntityEvent &__eeInput);
#define  STATE_CHeadman_Main 1
   BOOL  
#line 603 "G:/SRC2/EntitiesMP/Headman.es"
Main(const CEntityEvent &__eeInput);
   BOOL H0x012f003b_Main_01(const CEntityEvent &__eeInput);
   BOOL H0x012f003c_Main_02(const CEntityEvent &__eeInput); 

Their code can be viewed in the [generated?] .cpp file. Thus, with the help of EntityStateDisplay, you can directly monitor on the go whether your entity’s state stack is working correctly. If, for example, your enemy suddenly starts getting stuck under unclear circumstances, or your vehicle gets stuck in motion, EntityStateDisplay can help understand these issues. Sometimes this is more convenient than regular debugging.

Properties:

Name Type Values Shortcut Description
Name - - - -
Parent - - - -
Spawn flags - - - -
Target - - - The entity to debug.

EnvironmentParticlesHolder

To make weather effects or foliage.

This entity is triggered via "Start event" type trigger and will play rain and snow effects or display foliage.

For this entity to work, a BackgroundViewer and WorldSettingsController is required. The EnvironmentParticlesHolder needs to be set for the WorldSettingsController's "Environment Particles Holder" property.

Quick creation of rain/snow height maps

Go to polygon mode and select the polygons that should be affected by rain/snow. Right click and select "Export displace map". Make sure to select a size to the power of 2 (e.g. 64x64, 128x128 etc). Import the new texture into SeriousEditor to created the necessary .tex file and select it for the "Height map" property.

Properties:

Name Type Values Shortcut Description
Growth fade radius float <= Growth radius - Distance from the render radius in which to start fading out sprites. A value of 0 gives an obvious "pop-in" effect of sprites just instantly disappearing.
Growth frequency float - - Density divisor. 0 will render no sprites. 1 is full density, 2 is half density etc.
Growth high res map bool yes/no - Needs to be checked to work.
Growth map tiles X float - - How many tiles in a row of the texture file.
Growth map tiles Y float - - How many tiles in a column of the texture file.
Growth max. size float - - Max. random sprite scale factor.
Growth min. size float - - Min. random sprite scale factor.
Growth radius float - - Render distance of sprites around the player.
Growth sink factor float 0-1 - Negative Y-axis offset.
Height map file *.tex? R Displace-map. Placement of particles within the defined confines below. Not a grey-scale heightmap. See 'TexturesMP\Levels\Palenque\FirstValleyGrass.tex' as an example.
Height map box vector - B Area in which the particle effects should play in.
Name - - - -
Next env. particles holder reference EnvironmentParticlesHolder - ???
Parent - - - -
Particle texture file *.tex - Texture for the "Growth" particles to use.
Rain start duration float - - Time in which rain particles reach full opacity.
Snow start duration float - - Time in which snow particles reach full opacity.
Spawn flags - - - -
Type enum Growth, None, Rain, Snow Y Either show rain or snow effects. The "Growth" property might have been intended for custom particle effects, but appears to be non-functional.

ExotechLarvaBattery

Provides our favorite boss enemy with additional health.

The batteries only work together with the ExotechLarvaCharger as they provide no means to trigger other entites on their own. It uses hard-coded models (with attachments) and sound: WallCharger.mdl, Beam.mdl, PlasmaBeam.mdl, Electricity.mdl and WallChargerShutdown.wav.

Properties:

Name Type Values Shortcut Description
Ambient Light Color color RBG/HSV A ???
Custom Shading bool yes/no - Same as ModelHolder2.
Health float - H Amount of health to withstand damage before being destroyed.
Light Color color RBG/HSV A Same as ModelHolder2.
Light direction vector 0-359° W Same as ModelHolder2
Name - - - -
Parent - - - -
Spawn flags - - - -
Stretch float - S Scale of the model.

ExotechLarvaCharger

Batteries not included.

The charger only works together with ExotechLarvaBatteries as it provides no means to trigger other entites on its own. It uses hard-coded models (with attachments) and sound: FloorCharger.mdl, Beam.mdl, Electricity.mdl, FloorChargerHum.wav and FloorChargerShutdown.wav.

Properties:

Name Type Values Shortcut Description
Ambient Light Color color RBG/HSV A ???
Custom Shading bool yes/no - Same as ModelHolder2.
Health float - H Amount of health to withstand damage before being destroyed.
Light Color color RBG/HSV A Same as ModelHolder2.
Light direction vector 0-359° W Same as ModelHolder2.
Name - - - -
Parent - - - -
Spawn flags - - - -
Stretch float - S Scale of the model.
Wall Batter 01-06 reference ExotechLarvaBattery - Up to 6 slots for batteries to track. If all of them are destroyed, the Larva entity referencing the charger can no longer heal itself.

HudPicHolder

Requirements Trigger type(s) uses brush TFE TSE Virtual tree
BackgroundViewer, WorldSettingsController Start/Stop event no yes yes yes

Display any (animated) image anywhere on screen. Images will render behind UI elements.

Cannot be triggered multiple times. If "Auto fade out time" is set > -1, only the fade-out will play. Otherwise, the image just won't show at all anymore.

Only one image per level is allowed and only the first one to be used by a HudPicHolder will ever be displayed. Multiple different HudPicHolders will always display the same image, even if a different one is set.

Properties:

Name Type Values Shortcut Description
Auto fade out time float >= -1 A Amount of time for the image to stay on-screen. -1 means indefinite, so the entity has to be triggered with a "Stop event" trigger for the fade-out to start.
Fade out time float - O Amount of time for the fade-out.
Fade in time float - I Amount of time for the fade-in. Overlaps with the "Auto fade out time" property. E.g. the "Auto fade out" will not wait for the fade-in to finish. So the actual amount of time for the image to stay would be Auto fade out time - Fade in time.
Horizontal position ratio float 0 - 1 X X-position of the image (from it's center point).
Name - - - -
Parent - - - -
Picture file file *.tex P The image to display.
Picture stretch float - S Scale of the image.
Spawn flags - - - -
Vertical position ratio float 0 - 1 Y Y-position of the image (from it's center point).

PhotoAlbum

For all the good memories.

Book from the intro to TSE which will flip through a total of 8 pages. Must be triggered with a "Start event"-type trigger. The model and textures for each page is hard-coded. Textures used are ModelsMP\\CutSequences\\Book\\Page01.tex, through ModelsMP\\CutSequences\\Book\\Page07.tex,, with the 5th being ModelsMP\\CutSequences\\Book\\PageJoke.tex

Properties:

Name Type Values Shortcut Description
Name - - - -
Page wait float - W The amount of time to wait before flipping to the next page.
Parent - - - -
Spawn flags - - - -
Stretch float - S Scale of the photo album model.

PowerUpItem

"Serious Damaaageeee!" (I hope you've heard that SS2 jingle in your head just now)

Types:

Name Description Preview
Invisibility Helps prevent enemies from seeing the player if they're not already active in combat.
Invulnerability Player takes no damage.
SeriousBomb -
SeriousDamage Damage x4
SeriousSpeed Doubles movement speed.

ScrollHolder

Let the credits roll. This time for real.

Must be triggered via "Start event"-type trigger. Will start displaying credits entries. Other than a CreditsHolder this entity doesn't utilize a certain syntax. It simply scrolls text, like credits, from a given text file with each line being centered on screen.

Properties:

Name Type Values Shortcut Description
EndScroll Trigger reference - - Target to trigger after text scrolling has finished.
Name - - - -
Parent - - - -
Scroll Text file *.txt T The text file which contents are to scroll.
Spawn flags - - - -

Shooter

For more environmental hazards. Or clever scripted scenes.

This entity inherits the ModelHolder's properties. Used to shoot different kinds of projectiles. Can be triggered for each shot with a regular trigger event, or set to shoot continuously in intervals when triggered with an "Activate event"-type trigger.

Properties:

Name Type Values Shortcut Description
Cannon/fire ball power float - - Velocity of the shot. Only applies to type "Ironball", despite it's name saying otherwise.
Cannon/fire ball size float - - Scale of the projectile. Only applies to type "Ironball", despite it's name saying otherwise.
Flame burst duration float - - Seconds to continuously fire. Only applies to type "Fire".
Health float - - Amount of health to withstand damage before being destroyed.
Model post-fire animation enum depends on model - Animation to play immediately after firing. Can be used as actual firing animation, since firing and the animation pretty much happy at the same time.
Model pre-fire animation enum depends on model - Animation to play before firing.
Random begin wait time float - - Max seconds to wait before firing after being triggered.
Shooting Period float - - Seconds to wait between each shot.
Sound launch reference SoundHolders - Sound to play when firing.
Texture post-fire animation enum depends on model - Texture animation to play immediately after firing. Can be used as actual firing animation, since firing and the animation pretty much happy at the same time.
Texture pre-fire animation enum depends on model - Texture animation to play before firing.
Type enum see table below - Type of projectile to fire.

Projectile types:

Type Preview
Fire
Fireball
Ironball
-none- -
Wooden dart

TacticsChanger

To switch things up a little.

This entity allows changing of parameter for a given TacticsHolder at any time.

Properties:

Name Type Values Shortcut Description
Name - - - -
Parameter 1-5 float - D, F, G, H, J Different parameters for the different types. See TacticsHolder for their meaning.
Parent - - - -
Spawn flags - - - -
Type enum see TacticsHolder Y Tactics type to apply.

TacticsHolder

To guide the enemy just a little.

This entity allows changing of the trajectory along which enemies will approach the player.
A TacticsHolder must be set for the "Tactics Holder" property either for enemies directly, or EnemySpawners. There are three ways to trigger the TacticsHolder:

  1. Directly via a regular trigger event to the TacticsHolder.
  2. Via "Tactics start on sense" property of enemy entities. For this to work, also the "Blind" and "Sense range" properties need to be set. With this, tactics will be activated as soon as the enemy is within "Sense range" of the player.
  3. Via "Tactics autostart" property of an EnemySpawne., With this, tactics will be activated as soon as the enemy is spawned.

If enemies collides with something on the way to the player, their tactics will revert to the default straight-line approach. However, damage does not affect tactics.

Properties:

Name Type Values Shortcut Description
Name - - - -
Parameter 1-5 float - D, F, G, H, J Different parameters for the different types. See table below for their meaning.
Parent - - - -
Spawn flags - - - -
Type enum see table below Y Tactics type to apply.

Types:

Type Description Param 1 Param 2 Param 3 Param 4 Param 5
Damp angle strafe Enemies will approach the player in a spiral. Min angle of initial deviation from straight trajectory. Max angle of initial deviation from straight trajectory. Distance coefficient (0 - 1). The larger this parameter, the faster the angle of deviation from the straight trajectory will decrease when approaching the enemy. Time coefficient (0 - ∞). The larger this parameter, the faster the angle of deviation from the straight trajectory will decrease over time. Distance to the player at which the spiral trajectory will turn into a straight line.
None -
Parallel random distance Enemies will strafe at a certain distance from the player. Min angle of deviation from the straight trajectory when going into strafe. Max angle of deviation from the straight trajectory when strafing. - Min distance for the tactic to be triggered. Max distance for the tactic to be triggered.
Static random V distance Enemies will try to approach the player from the side. Min angle of deviation from the straight trajectory when approaching from the side. Max angle of deviation from the straight trajectory when approaching from the side. Min duration of the tactic. Max duration of the tactic. -

TextFXHolder

For simple text display.

Used to display text at the center of the screen. Must be triggered with a "Start event"-type trigger to show the text with the given parameters. Will not disappear until triggered with a "Stop event"-type trigger, unless the "Auto fade out time" is > -1. Text will render behind UI elements.

Cannot be triggered multiple times. If "Auto fade out time" is set > -1, only the fade-out will play. Otherwise, the image just won't show at all anymore.

For this entity to work, a BackgroundViewer and WorldSettingsController is required.

Properties:

Name Type Values Shortcut Description
Auto fade out time float >= -1 A Amount of time for the image to stay on-screen. -1 means indefinite, so the entity has to be triggered with a "Stop event" trigger for the fade-out to start.
Fade out time float - O Amount of time for the fade-out.
Fade in time float - I Amount of time for the fade-in. Overlaps with the "Auto fade out time" property. E.g. the "Auto fade out" will not wait for the fade-in to finish. So the actual amount of time for the image to stay would be Auto fade out time - Fade in time.
Name - - - -
Parent - - - -
Spawn flags - - - -
Text file file *.txt T The text to display.

TimeController

Bullet time!

Used to slow down or speed up the in-game time. Does not effect any sound effects or music. Must be triggered via "Start event"-type trigger.

Properties:

Name Type Values Shortcut Description
Absolute bool yes/no - Unused.
Auto clear stretch after... float - - Seconds after which to deactivate the entity. Setting it to -1 will apply the time modifier indefinietely until stopped with a "Stop event"-type trigger.
Fade in time float - - Seconds to smoothly interpolate the time factor.
Name - - - -
Parent - - - -
Spawn flags - - - -
Time speed float - - Factor for the time (e.g. 0.5 = half the time, 2 = double the time).

SummonerMarker

For Mordekai's teleports.

Used for Summoner teleport targets. Required for the Summoner to work at all.

Properties:

Name Type Values Shortcut Description
Marker Range float - M ???
Name - - - -
Name - - - Same as above, it just has two "Name" properties for some reason.
Parent - - - -
Spawn flags - - - -
Target reference SummonerMarkers T Used to build a loop of markers for Summoner teleportations to work.

Enemies

Enemy base

This is what it's all about.

Most enemies share the same set of properties, which are listed here. Enemy properties specific to their type will be listed under their own entries.

Generally, triggering an entity will make it aggressive towards the player, if not already attacking.

Properties:

Name Type Values Shortcut Description
Activity Range float - - ???
Apply random stretch bool yes/no - The size of the monster will change by a random percentage of the standard, but no more than the percentage specified in the Randrom strench factor parameter.
Blind bool yes/no - Enemy cannot see players. With this set, passing an enemy's line of sight won't cause them to attack. Can be disabled with a Trigger of type "Stop blindness event".
Color color RGBA/HSV L Color tint of the model. The weaker the light sources, the stronger this effect.
Character enum depends on enemy type C Alternative to the "Type" property. Determines the sub-type of an enemy.
Deaf bool yes/no - Enemy cannot hear players. With this set, shooting near the enemy won't cause it to attack. Can be disabled with a Trigger of type "Stop deafness event".
Death event type - - F Event type for the "Death target".
Death target - - D Target to trigger upon the enemy's death.
Fall height float - - The height from which the enemy can fall down. If, for example, it's set to 8 meters, the enemy will stop at any ledge going deeper than 8 meters. Anything above and the enemy will walk over the ledge and fall down.
Give up time float >0 - Seconds that the enemy will run after players, when they are out of their line of sight. Should be set to anything >0 to avoid buggy behavior.
Marker reference EnemyMarker M The marker to go to as long as it's not attacking. Needs at least two markers linked together to function properly.
Radius of attack float - - Radius in which enemies follow players while attacking. If set to 0, they will stay stationary but keep attacking. Useful for e.g. Reptiloids on higher layers.
Random stretch factor float - - When activating "Apply random stretch" the scale of the enemy will change by a random percentage up to a maximum of the given percentage (1=100%, 0.5=50%, etc.).
Reflex max float - - Maximum seconds before attacking a player, after detection. Works only if the enemy sees or hears the player, but not when touched.
Reflex min float - - Minimum seconds before attacking a player, after detection. Works only if the enemy sees or hears the player, but not when touched.
Sense range float - - The radius in which the enemy can sense the player through any obstacles (e.g. level geometry).
Spawn flags - - - -
Step height float - - The height of ledges the enemy can "climb".
Stretch attachments float - - Scale of attached models. For example, for a Beheaded Rocketeer, this is the head and the weapon in his hands.
Stretch multiplier float - - Model scale factor.
Tactics holder reference - - Enemy tactics (see TacticsHolder).
Tactics start on sense bool yes/no - Use tactics holder upon sensing the player (sight or hearing).
Template bool yes/no T Available to be spawned via EnemySpawners. An enemy with the Template property enabled is invulnerable and cannot attack. Therefore it should be placed somewhere off-map.
Type enum depends on enemy type Y Alternative to the "Character" property. Determines the sub-type of an enemy. If the "Character" property is used for the sub-type, there are other types listed here, for example flying modes.
View angle float 0 - 360 V Angle in which the enemy can sense players through line of sight. A value of 0 makes them effectively blind.
Name - - - -
Parent - - - -
Target - - - Unused
***

Headman (Beheaded)

AAAAAAAAAAAAA

Uses the "Type" property.

Type Appearance
Bomberman
Soldier
Kamikaze
Rocketman

Eyeman (Gnaar)

It's all fun and games until somebody loses an eye.

Uses the "Character" property.

Character Appearance
Sergeant
Soldier

Types:

Type Effect
Fly only Has no arms or legs and will fly until killed.
Fly(air) - air attack Starts in "fly-mode" (no arms/legs) and will attack while airborne (bites).
Fly(air) - ground attack Starts in "fly-mode" (no arms/legs) but will land to attack on the ground (punches).
Fly(ground) - air attack Starts in "ground-mode" but will retract arms/legs to fly up and attack while airborne (bites).
Fly(ground) - ground attack Same as "Ground only".
Ground only Regular "ground-Gnaar" throwing punches.

Boneman (Kleer)

Please make it stop.

No special properties.


Werebull

Moo.

No special properties.


Scorpman (Arachnoids)

Screetch.

Uses the "Type" property.

Type Appearance
General
Obsolete
Soldier

Walker (Biomechs)

Here comes trouble!

Uses the "Character" property.

Character Appearance
Sergeant
Soldier

Woman (Harpy)

Hear me out...

Types:

Type Effect
Fly only Will always fly and cannot be shot down by damaging their wings.
Fly(air) - air attack Starts in "fly-mode" and will attack while airborne.
Fly(air) - ground attack Starts in "fly-mode" but will land to attack on the ground.
Fly(ground) - air attack Starts in "ground-mode" but will fly up and attack while airborne.
Fly(ground) - ground attack Same as "Ground only".
Ground only Will only walk while doing regular attacks.

Beast (Reptiloids)

You're a big one, ain't cha?

Special property:

Name Type Values Shortcut Description
Boss bool yes/no B Whether to show a health bar when the enemy is active. Note: A MusicHolder must be present for the health bar to show up.

Uses the "Character" property.

Character Appearance
Big
Small

Elemental (Lava Golem)

Is it just me, or is it hot in here?

Special properties:

Name Type Values Shortcut Description
Blowup spawn bool yes/no B Whether to spawn smaller versions upon death. Can only be set if "Movable" is set as well.
Damage spawn bool yes/no B Whether to spawn smaller versions when taking damage. Can only be set if "Movable" is set as well.
Density float - D ???
Fire count int >0 - ???
Look range float - O ???
Movable bool yes/no V Whether "Blowup" and "Damage spawn" can be set?
Position 1-6 reference any entity - ???
State enum Box, Normal, Plane S Cannot be changed, will always revert to "Normal".
Type enum Lava, obsolete Y Only "Lava" should be used, the rest was for scrapped sub-types of other elements.

Uses the "Character" property.

Character Appearance
Big Medium sized golem. Can spawn up to 3 small ones.
Large "Boss-sized" golem. Spawns up to 2 big ones. Will always show health bar and play "smash" animation.
Small Smallest golems.

Gizmo (Marsh Hopper)

Eww, now I got slime all over me.

No special properties.


Fish (Reeban)

Bzzzt.

Special properties:

Name Type Values Shortcut Description
In liquid bool yes/no Q Seems to be dynamically set during gameplay and is not really relevant for their initial setup?

Types:

Type Effect
Dive only Cannot be used.
Ground and dive ???
Ground only ???

Devil (Ugh-Zan III)

It ain't the size that matters.

Special properties:

Name Type Values Shortcut Description
Action reference DevilMarker O Must have a devil marker set as first action (usually "Rise"). Will crash if no "Stop destroying" is in the marker chain.

BigHead

Croteam owns.

The BigHeads from the secrets in both TFE and TSE as well as the intro to TSE. They're passive and won't attack. They follow the player to play their voice line set under "Name sound" and will then either stop or follow any markers they were set on.

This entity is not part of the virtual tree initially and has to be added manually. Found in Classes/BigHead.ecl.

Special properties:

Name Type Values Shortcut Description
Head texture file *.tex H The head/face texture to put on the big head.
Name sound file *.wav S The voice line to play when approaching the player.

CrateRider

Look at that moron. He really pressed the button.

The BigHeads on a crate carriage from The Sacred Yards in TFE. They're passive and won't attack while slowly following the player.

This entity is not part of the virtual tree initially and has to be added manually. Found in Classes/CrateRider.ecl.

Special properties:

Name Type Values Shortcut Description
Head texture1-2 file *.tex H The head/face textures to put on the riders heads.
Drive sound file *.wav S The sound for the carriage driving around.

TSE-only enemies

AirElemental (Kukulkán the Wind God)

"My flaming fists of fury will destroy you, fiend!"

Needs to triggered with a regular trigger event to play his "raise" animation and engange the player.

This entity is not part of the virtual tree initially and has to be added manually. Found in Classes/AirElemental.ecl.

Special properties:

Name Type Values Shortcut Description
Color of particles color RGB - His overall color is determined by this property, since his half-transparent mesh won't be shown, but particles around his mesh.
AirBoss X% Trigger reference - - Trigger target for each stage of health.
AirBoss Grow Speed float - - Growth factor for Kukulkán to grow each time a certain health threshold has been reached.
AirBoss Wind Fire Max. Time float - - Max cooldown for damaging high-speed air projectiles (not the tornados).
AirBoss Wind Fire Min. Time float - - Min cooldown for damaging high-speed air projectiles.

Grunt (Zorg Mercenary)

Try hitting them with a single flamethrower blast.

Uses the "Type" property.

Type Appearance
Grunt commander
Grunt soldier

CannonRotating

Special properties:

Name Type Values Shortcut Description
Cannon Active bool yes/no - Whether the cannon will turn and fire.
Cannon Firing Close Range float - - Controls the cannon's pitch. Will pitch down when players are in close range.
Cannon Firing Far Range float - - Controls the cannon's pitch. Will pitch up when players are in far range. Will not shoot when players are out of this range.
Cannon health float - - Health override.
Cannon Max Pitch float - - Self explanatory.
Cannon Rotation Speed float - - Self explanatory.
Cannon Scanning Angle float 0 - 360 - Angle in which the cannon rotates back and forth.
Cannon View Angle float - - Used to determine if the player is on the firing plane (Abs(fCosAngle) < CosFast(90.0f - CannonViewAngle)).
Cannon Wait After Fire float - - Seconds to wait between each shot.

CannonStatic

Special properties:

Name Type Values Shortcut Description
Cannon Active bool yes/no - Whether the cannon will turn and fire.
Cannon Firing Close Range float - - Controls the cannon's pitch. Will pitch up when players are in close range.
Cannon Firing Far Range float - - Controls the cannon's pitch and max reach. Will pitch down when players are in far range. Will not shoot when players are out of this range.
Cannon health float - - Health override.
Cannon Max Pitch float - - Self explanatory.
Cannon Shooting Period float - - Seconds to wait between each shot.
Cannon View Angle float - - Used to determine if the player is on the firing plane (Abs(fCosAngle) < CosFast(90.0f - CannonViewAngle)).

ChainSawFreak (Cucurbito)

A Kleer's best friend.

No special properties.


ExotechLarva

Die when I kill you!

Only moves along a grid set up via NavigationMarkers. If no grid has been set up, but as least the first grid marker for the Larva to function at all, it will simply move to the single marker and stay in place. Does not need batteries to function, but requires a charger.

Special properties:

Name Type Values Shortcut Description
Larva 1st Grid Marker reference NavigationMarkers - The marker to move to when first triggered. Must be set, otherwise the game will throw an error message and the Larva will be removed.
Larva ArmBlow#1 Target reference any entity - Target to trigger when first arm has been blown off (health threshold has been reached).
Larva ArmBlow#2 Target reference any entity - Target to trigger when second arm has been blown off (health threshold has been reached).
Larva Death Target reference any entity - Target to trigger when larva has been blown up
Larva First Recharge target reference any entity - Target to trigger when first arm has been blown off (health threshold has been reached). .
Larva min laser interval float - - Min seconds between laser firings.
Larva MinDist From Player float - - Min distance to keep away from the player.
Larva Recharge health/sec float - - Health recharge rate when recharging.
Larva Recharger reference ExotechLarvaCharger - Must be set, otherwise the game will throw an error message and the Larva will be removed.

Guffy (Zumb'ul)

Oink oink.

No special properties.


Demon (Fiendian Reptiloid Demon)

The "Sniper Reptiloid".

No special properties.


Summoner (Mordekai)

Mordekai Tutorial by Rakanishu here.

Only

Special properties:

Name Type Values Shortcut Description
Sum. Begin Death Target reference any entity - Trigger target when starting the death sequence.
Sum. Control Area reference AreaMarker - Defines the boss fight arena. Is used to check for active enemies and their score values to decide whether to spawn more or less enemies.
Sum. Corporeal Duration float - - Seconds to stay materialized and spawn enemies. Will dematerialize (teleport) after this time.
Sum. Death marker reference SummonerMarkers - Must be set. Will teleport to this marker to start the death sequence after loosing all health points.
Sum. End Death Target reference any entity - Trigger target after finishing the death sequence.
Sum. Enemy spawn marker reference EnemyMarkers - Must be set.
Sum. Explode Target reference any entity - Trigger target after Mordecai exploded.
Sum. Group 01 - 03 Template 01 - 06 reference - - Pools of up to 6 enemy template references to spawn from for 3 groups. Groups are used to raise difficulty of enemy spawns with each health threshold reached.
Sum. Immaterial Duration float - - Seconds before Mordecai re-appears at a marker after disappearing.
Sum. Max Beginn Fuss reference - - Control parameter for enemy spawn rates. "Fuss" is the sum of the score values of all enemies within the "Control Area".
Sum. Max End Fuss reference - - Control parameter for enemy spawn rates.
Sum. Stretch float - - Scale factor.
Sum. Teleport marker reference SummonerMarkers - Must be set.

Santa

Ho ho ho!

Requirements Trigger type(s) needs brush TFE TSE Virtual tree
none none no no yes no, found in Classes/CrateRider.ecl.

Used for the Santa secret in Village of the Damned (TSE). If no Markers are used, he will follow the player but without attacking. Does not have a death animation and will run in place for a few seconds before fading out if not manually disabled when killed.

Drops a range of up to 5 items when hit. The drop chance is random and it's not guaranteed that every type of item will be dropped. Item drops depend solely on being hit, not actual damage done.

Special properties:

Name Type Values Shortcut Description
Item template 0 - 4 reference Items H Items to spawn when hit.
Min spawn interval Amount of seconds in between drops.
Santa health Amount of health.

Addendum

'Name' and 'Parent' properties - Clones

All entities having the same exact name, regardless of their class, are considered 'clones'. In combination with utilizing the 'Parent' property of entities, using the "Update clones" function of the editor (Ctrl + Shift + U) can save a lot of time.

Example:
A (non-zoning) column brush is copied multiple times in a level, sharing the same name. At a later point in time, a torch model is added to the column. The colum is set as 'Parent' property for the torch. Now, instead of repeating this process for all other columns, simply invoke the "Update clones" function, and all other columns will have a torch attached.

This works with any amount of entities that employ a parent-child hierarchy.

NETRICSA Message Structure

Text files for NETRICSA messages must follow the structure below. The IMAGE is optional. Double quotes (") are displayed as well, here they're just used as highlight.

1
2
3
4
5
6
7
8
SUBJECT
"Message title"
IMAGE
picture
TFNM "Path to *.tex (for example TexturesMP\2_1_1_Info.tex)"
TEXT

"Info text here."

They should be placed in the following directories, depending on which tab they should show in NETRICSA (replace "DataMP" with "Data" for TFE):

  • DataMP\Messages\Background - the message will appear in the Strategic data category.
  • DataMP\Messages\Information - the message will appear in the Tactical data category.
    To create messages about new enemies and weapons, the Enemies and Weapons folders should be used respectively.
Edit

Pub: 03 Sep 2024 15:21 UTC

Edit: 04 Nov 2025 17:43 UTC

Views: 2144