Serious Editor 1 Entity Documentation
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
- Common Properties
- Basic Entities
- WorldBase
- WorldLink
- GradientMarker
- BackgroundViewer
- Light
- PlayerMarker
- ModelHolder2
- ModelDestruction
- WorldSettingsController
- FogMarker
- HazeMarker
- MovingBrush
- MovingBrushMarker
- Bouncer
- TouchField
- DoorController
- MusicHolder
- MusicChanger
- SoundHolder
- Marker
- Trigger
- Switch
- Copier
- Damager
- AnimationChanger
- AnimationHub
- Items
- AmmoPack
- Camera
- CameraMarker
- EffectMarker
- GravityMarker
- GravityRouter
- PlayerActionMarker
- VoiceHolder
- MirrorMarker
- Teleport
- WatchPlayers
- EnemySpawner
- EnemyCounter
- EnemyMarker
- NavigationMarker
- Additional Entities
- TSE-only entities
- Enemies
- TSE-only enemies
- Addendum
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. |
WorldLink
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. |
| 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:
- 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.
- 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. |
NavigationMarker

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:
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 :
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:
- Directly via a regular trigger event to the TacticsHolder.
- 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.
- 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.
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.







































































































