Difference between revisions of "HPL2/TDD/Entity Types"

From Frictional Wiki
< HPL2‎ | TDD
Jump to navigation Jump to search
Line 98: Line 98:
 
=== Static ===
 
=== Static ===
  
Not to be confused with an actual static object, the Object type is a general object with common properties. The static subtype simply disables any additional properties from the other subtypes. An Object (Static) is similar in concept to a StaticProp type entity, however the Object (Static) can be disabled in the game and interacted with by the player.
+
Not to be confused with an actual static object. This Object subtype is a generic object with common properties. The static subtype simply disables any additional properties from the other subtypes. An Object (Static) is similar in concept to a StaticProp type entity, however the Object (Static) can be disabled in the game and interacted with by the player.
  
 
=== Grab ===
 
=== Grab ===
Line 245: Line 245:
  
 
{{HPL2 TypeVars Prop}}
 
{{HPL2 TypeVars Prop}}
 +
 +
{|class="wikitable mw-collapsible mw-collapsed"
 +
|+style="white-space:nowrap;text-align:-webkit-center"| Type Vars
 +
! Name !! Type !! Default !! Description
 +
|-
 +
| MoveMaxSpeed || Float || 13.5 || The maximum speed it can be moved.
 +
|-
 +
| MoveSlowDownFactor || Float || 3.0 || Amount of slowdown applied to object when not moved.
 +
|-
 +
| MoveSpeedFactor || Float || 1.0 || The higher value the more speed gain a mouse movement makes.
 +
|-
 +
| MoveThrowImpulse || Float || 6.0 || Impulse added when thrown.
 +
|-
 +
| CanInteractWithStaticBody || Bool || false || If by interacting with a static body in the entity, the lever is interacted with. Meaning that interacting with any part of the entity will work.
 +
|-
 +
| MinLimitRange || Float || 5.0 || The distance from min the joint can be to be considered at min limit.
 +
|-
 +
| MaxLimitRange || Float || 5.0 || The distance from max the joint can be to be considered at max limit.
 +
|-
 +
| MinLimitSound || File (.snt) || || Sound played when at min limit<br>Incorrectly defined as a string in EntityTypes.cfg.
 +
|-
 +
| MaxLimitSound || File (.snt) || || Sound played when at max limit<br>Incorrectly defined as a string in EntityTypes.cfg.
 +
|-
 +
| StuckSound || File (.snt) || || Sound played when stuck<br>Incorrectly defined as a string in EntityTypes.cfg.
 +
|-
 +
| MiddleAngleAmount || Float || 0 || The amount between min and max that is considered middle. -1 to 1. -1=at min, 0=exactly between min and max, 1=at max
 +
|-
 +
| AutoMoveToAngle || Bool || True || If the lever should move to position when not interacted with.
 +
|-
 +
| AutoMoveSpeedFactor || Float || 2 || Multiplier applied to speed to determine the speed it moves towards wanted position. The higher the faster it gets to the position.
 +
|-
 +
| AutoMoveMaxSpeed || Float || 8 || Max speed it can move at to the wanted position
 +
|-
 +
| AutoMoveGoal || String || Middle || Where it should go when auto moving.<br>Can be "Middle", "Min", or "Max".
 +
|-
 +
|}
  
 
{{HPL2 InstanceVars Prop}}
 
{{HPL2 InstanceVars Prop}}
 +
 +
{|class=wikitable
 +
|+Instance Vars
 +
! Name !! Type !! Default !! Description
 +
|-
 +
| StuckState || String || None || The stuck state for the lever.<br>Can be "None", "Min", or "Max".
 +
|-
 +
| InteractionDisablesStuck || Bool || false || If stuck is disabled when player interacts.
 +
|-
 +
| OverrideDefaults || Bool || false || If normal settings, set in ent file, should be overridden by settings below.
 +
|-
 +
| MiddleAngleAmount || Float || 0 || The amount between min and max that is considered middle. -1 to 1. -1=at min, 0=exactly between min and max, 1=at max
 +
|-
 +
| AutoMoveToAngle || Bool || True || If the lever should move to position when not interacted with.
 +
|-
 +
| AutoMoveGoal || String || Middle || Where it should go when auto moving.<br>Can be "Middle", "Min", or "Max".
 +
|-
 +
|}
  
 
== Wheel ==
 
== Wheel ==
Line 253: Line 307:
  
 
{{HPL2 TypeVars Prop}}
 
{{HPL2 TypeVars Prop}}
 +
 +
{|class="wikitable mw-collapsible mw-collapsed"
 +
|+style="white-space:nowrap;text-align:-webkit-center"| Type Vars
 +
! Name !! Type !! Default !! Description
 +
|-
 +
| MoveMaxSpeed || Float || 13.5 || The maximum speed it can be moved.
 +
|-
 +
| MoveSlowDownFactor || Float || 3.0 || Amount of slowdown applied to object when not moved.
 +
|-
 +
| MoveSpeedFactor || Float || 1.0 || The higher value the more speed gain a mouse movement makes.
 +
|-
 +
| MoveThrowImpulse || Float || 6.0 || Impulse added when thrown.
 +
|-
 +
| CanInteractWithStaticBody || Bool || false || If by interacting with a static body in the entity, the wheel is interacted with. Meaning that interacting with any part of the entity will work.
 +
|-
 +
| MinLimit || Float || -180 || Min limit of the wheel, should be equal or below 0 but can be as low as wanted. Several revolutions are supported!
 +
|-
 +
| MaxLimit || Float || 180 || Max limit of the wheel, should be equal or above 0 but can be as high as wanted. Several revolutions are supported!
 +
|-
 +
| MinLimitRange || Float || 5.0 || The distance from min the joint can be to be considered at min limit.
 +
|-
 +
| MaxLimitRange || Float || 5.0 || The distance from max the joint can be to be considered at max limit.
 +
|-
 +
| MinLimitStuck || Bool || false || If stuck at min limit
 +
|-
 +
| MaxLimitStuck || Bool || false || If stuck at max limit
 +
|-
 +
| SpinDir || String || BothWays || The direction the wheel can be spun<br>Can be "BothWays", "ToMin", or "ToMax".
 +
|-
 +
| MinLimitSound || File (.snt) || || Sound played at min limit
 +
|-
 +
| MaxLimitSound || File (.snt) || || Sound played at max limit
 +
|-
 +
| StuckSound || File (.snt) || || Sound played when stuck.
 +
|-
 +
| SlowDownRotation || Bool || true || If rotation should be slowed to 0 when not interacting.
 +
|-
 +
| SkipMiddleState || Bool || true || If the middle state (when not in max or min) should be skipped by script and connections.
 +
|-
 +
|}
  
 
{{HPL2 InstanceVars Prop}}
 
{{HPL2 InstanceVars Prop}}
 +
 +
{|class=wikitable
 +
|+Instance Vars
 +
! Name !! Type !! Default !! Description
 +
|-
 +
| StuckState || String || None || The stuck state for the wheel.<br>Can be "None", "Min", or "Max".
 +
|-
 +
| InteractionDisablesStuck || Bool || false || If stuck is disabled when player interacts.
 +
|-
 +
| OverrideDefaults || Bool || false || If normal settings, set in ent file, should be overridden by settings below.
 +
|-
 +
| MinLimit || Float || -180 || Min limit of the wheel, should be equal or below 0 but can be as low as wanted. Several revolutions are supported!
 +
|-
 +
| MaxLimit || Float || 180 || Max limit of the wheel, should be equal or above 0 but can be as high as wanted. Several revolutions are supported!
 +
|-
 +
| MinLimitStuck || Bool || false || If stuck at min limit
 +
|-
 +
| MaxLimitStuck || Bool || false || If stuck at max limit
 +
|-
 +
| SpinDir || String || BothWays || The direction the wheel can be spun<br>Can be "BothWays", "ToMin", or "ToMax".
 +
|-
 +
|}
  
 
== MultiSlider ==
 
== MultiSlider ==
  
Add info.
+
A sliding-type lever that can be set to multiple states. Used for the gear levers in the Sewer.
  
 
{{HPL2 TypeVars Prop}}
 
{{HPL2 TypeVars Prop}}
 +
 +
{|class="wikitable mw-collapsible mw-collapsed"
 +
|+style="white-space:nowrap;text-align:-webkit-center"| Type Vars
 +
! Name !! Type !! Default !! Description
 +
|-
 +
| SlideMaxSpeed || Float || 10 || The maximum speed it can be moved.
 +
|-
 +
| SlideSlowDownFactor || Float || 1 || Amount of slowdown applied to object when not moved.
 +
|-
 +
| SlideSpeedFactor || Float || 1 || The higher value the more speed gain a mouse movement makes.
 +
|-
 +
| SlideThrowImpulse || Float || 3 || Impulse added when thrown.
 +
|-
 +
| NumOfStates || Int || 3 || The number of states used.
 +
|-
 +
| StickToStateMaxDist || Float || 0.1 || The distance from a state that the slider sticks.
 +
|-
 +
| CanInteractWithStaticBody || Bool || false || If by interacting with a static body in the entity, the lever is interacted with. Meaning that interacting with any part of the entity will work.
 +
|-
 +
| AutoMoveToCurrentState || Bool || true || If body should automove to current state when not interacted with.
 +
|-
 +
| AutoMoveSpeedFactor || Float || 2 || Multiplier applied to speed to determine the speed it moves towards wanted position. The higher the faster it gets to the postion.
 +
|-
 +
| AutoMoveMaxSpeed || Float || 8 || Max speed it can move at to the wanted position
 +
|-
 +
| ChangeStateSound || File (.snt) || || Sound played when state is changed<br>Incorrectly defined as a string in EntityTypes.cfg.
 +
|-
 +
| StuckSound || File (.snt) || || Sound played when stuck<br>Incorrectly defined as a string in EntityTypes.cfg.
 +
|-
 +
|}
  
 
{{HPL2 InstanceVars Prop}}
 
{{HPL2 InstanceVars Prop}}
 +
 +
{|class=wikitable
 +
|+Instance Vars
 +
! Name !! Type !! Default !! Description
 +
|-
 +
| StuckState || String || None || The stuck state for the wheel.<br>Can be "None", "Min", or "Max".
 +
|-
 +
| InteractionDisablesStuck || Bool || false || If stuck is disabled when player interacts.
 +
|-
 +
| ChangeStateCallback || String || || Called when state changes Syntax: <code>void MyFunc(string &in asEntity, int alState)</code><br>Used instead of ConnectionStateChangeCallback, as this entity type can have more than two possible states.
 +
|-
 +
|}
  
 
== Lamp ==
 
== Lamp ==

Revision as of 00:50, 17 November 2024

Please add more information about missing subjects.

This page talks about the different types of entities found within the HPL2 engine. The type determines how the entity will be set up, what kind it is, what it does under different circumstances etc. Using the Model Editor you can identify and specify which type an entity has and its type vars, in Settings > User defined variables. In the Level Editor, the different types have different settings applicable for them, known as instance vars. For example, a MoveObject type will have the OffsetArea box available in the Level Editor, and an Item (Note) type will have a NoteText box available.

A list of all the types and subtypes can be found in the table of contents to the right.

StaticProp

A StaticProp entity resembles a static object. They have no available type properties, but they can still use physics bodies (collision boxes) and have mass/gravity. Note that they cannot be interacted with in the game, and cannot be disabled. If you need this feature, use Object (Static) instead.

Instance Vars
Name Type Default Description
CastShadows Bool true If entity casts shadows.
IsAffectedByDecal Bool true If decals can be created on entity.

CommentaryIcon

A CommentaryIcon entity is simply an object that can execute commentary sound files, as it was done in the main game. These only appear if the player has "Commentary" enabled in their settings.

Type Vars
Name Type Default Description
RotateSubMesh String The name of the submesh that is to be rotated
Instance Vars
Name Type Default Description
File File (.comment) The .comment file for the commentary.

Object

Objects are entities that can be activated/deactivated, broken, and interact with physics.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Type Vars
Name Type Default Description
BreakActive Bool false If entity is broken when hit hard enough or health is 0.
BreakDestroyJoints Bool false If all physics joints should be destroyed when broken.
BreakMinEnergy Float 100 The minimum energy needed for breakage. Energy = Object1Speed * Object1Mass + Object2Speed * Object2Mass. Speed = m/s. If Object 2 is floor or something static, its speed is always 0 and does not contribute to total energy!
BreakEntity File (.ent) The entity this entity turns into when broken.
BreakEntityAlignBody String The body BreakEntity uses to align itself when created. No entity is created if left empty.
BreakSound File (.snt) The sound made when broken.
BreakParticleSystem File (.ps) Particle system shown when broken.
BreakImpulse Float 4 Impulse (speed in m/s really) added to all bodies in BreakENtity when created. The direction of impulse is outwards from center of entity.
HitDamageAmount Float 5 The amount of damage made when hitting an enemy or player.
HitDamageStrength Int 1 The strength of the damage.
MinHitDamageSpeed Float 3 The minimum speed (m/s) needed for damage to be made.
LifeLength Float 0 A time after which the entity automatically breaks. 0=lasts forever.
IsFood Bool false If this is food for some enemies and can be used to lure them. Needs to have break active and health determines how long the food lasts.
Waterlurkers are the only enemy type that is lured by and eats food objects.
ShowHints Bool true If a hint can be triggered by interacting with the prop.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.
Instance Vars
Name Type Default Description
ContainedItem String None An item that is created when entity breaks.
The entity file name (extension .ent optional) of the item to spawn on break. Must be in the "items" folder.
DisableBreakable Bool false If the entity is breakable then having this true will make it unbreakable.
IsInsanityVision Bool false If the prop is only shown when insanity is low enough.
VisionMaxSanity Float 30 The max sanity the player can have for prop to show if it is an insanity vision.
The object will only be visible if the player's sanity is less than this value.

Static

Not to be confused with an actual static object. This Object subtype is a generic object with common properties. The static subtype simply disables any additional properties from the other subtypes. An Object (Static) is similar in concept to a StaticProp type entity, however the Object (Static) can be disabled in the game and interacted with by the player.

Grab

A Grab subtype is a normal Object entity with the ability to be grabbed by the player in the game. In order for this to work, the object must have a mass above 0.

Type Vars
Name Type Default Description
GrabUseDepth Bool false If GrabDepth is used. If not the interaction distance is used.
GrabDepth Float 1.5 The distance which a grabbed object is automatically placed at.
GrabDepthInc Float 0.15 Steps that the entity will move in when moving the mouse scroll.
GrabMinDepth Float 1.0 Minimum distance the entity can be from player when grabbed.
GrabMaxDepth Float 2.2 Maximum distance the entity can be from player when grabbed.
GrabUseOffset Bool false If rotation and position offset is used. If not offset will be relative to the interact position.
GrabPositionOffset Vector3f 0 Positional offset of entity.
GrabRotationOffset Vector3f 0 Rotational offset of entity. It will automatically rotate to this when grabbed.
GrabThrowImpulse Float 10 The speed (m/s) at which the entity is thrown.
GrabMassMul Float 0.1 How much the object will weight when grabbed. Useful for heavier objects since they can wreck mayhem otherwise. 0.5% means half (50%) of the original weight.
GrabForceMul Float 1 Change how much force is added to grabbed object.
GrabTorqueMul Float 1 Change how much torque is added to grabbed object.
GrabUseRotation Bool true If rotation should be used on grabbed object
GrabSkipNonOuterBodies Bool false If true, then bodies that are inside a chain (has two or more joints attached to it) will not be grabbed.

Push

Similar to the Grab subtype, the Push subtype allows the player to push the object by taking hold of it and walking or right clicking. Examples include large rocks and the bed covering the hole in the floor in the Prison - Southern Block.

Type Vars
Name Type Default Description
PushAtPoint Bool false If the push force should be applied to the point at the object where interaction took place.
PushForceMul Float 1 Multiplier for force applied. Used to fine tune interaction.
PushImpulse Float 2 Impulse added when thrown.

Slide

A Slide Object is similar to the Grab subtype, except it can only be slid in a single direction for a certain amount. An existing entity that uses this is the secret floor carpet you can slide to the side.

Type Vars
Name Type Default Description
SlideMaxSpeed Float 10 The maximum speed it can be moved.
SlideSlowDownFactor Float 1 Amount of slowdown applied to object when not moved.
SlideSpeedFactor Float 1 The higher value the more speed gain a mouse movement makes.
SlideThrowImpulse Float 3 Impulse added when thrown.

SwingDoor

A SwingDoor entity is just that; a swing door. Any door you can grab and swing open is considered a SwingDoor. The other option would be LevelDoor, which goes under its own category. To use a SwingDoor, you need to attach joints to where you want the door to swing around. These are usually placed by the hinges of the door. On the joint you can set the min and max values to limit how much the door can be opened. These are usually approximately 90 degrees apart in either positive or negative directions.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Type Vars
Name Type Default Description
MoveMaxSpeed Float 13.5 The maximum speed it can be moved.
MoveSlowDownFactor Float 3.0 Amount of slowdown applied to object when not moved.
MoveSpeedFactor Float 1.0 The higher value the more speed gain a mouse movement makes.
MoveThrowImpulse Float 6.0 Impulse added when thrown.
CanInteractWithStaticBody Bool false If by interacting with a static body in the entity, the door is interacted with. Meaning that interacting with any part of the entity will work.
CloseOnSound File (.snt) Sound played when the door is closed.
CloseOffSound File (.snt) Sound played when the door is opened.
LockOnSound File (.snt) Sound played when the door is locked.
LockOffSound File (.snt) Sound played when the door is unlocked.
InteractLockedSound File (.snt) Sound made when player interacts with a locked door.
Breakable Bool false Can the door be broken.
DamageMesh1 File (.dae/.msh/.mesh) Mesh used when health is below HealthDamage1
DamageMesh2 File (.dae/.msh/.mesh) Mesh used when health is below HealthDamage2
BrokenEntity File (.ent) The entity this entity turns into when broken.
DamageSound File (.snt) Sound made when a new damage mesh is used.
DamagePS File (.ps) Particles created when a new damage mesh is used.
BreakSound File (.snt) Sound made when broken.
BreakPS File (.ps) Particles created when broken.
BreakImpulse Float 3 Impulse set to objects in broken mesh.
Incorrectly defined as a sound file in EntityTypes.cfg.
HealthDamage1 Float 66 Health when damage mesh 1 is used.
HealthDamage2 Float 33 Health when damage mesh 2 is used.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.
Instance Vars
Name Type Default Description
Locked Bool false If the door is locked
OpenAmount Float 0 The amount the door is open. 0 - 1.
DisableBreakable Bool false If the entity is breakable then having this true will make it unbreakable.

Lever

A Lever entity is an entity that can be swung between states to trigger callbacks. A lever requires a joint to swing around.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Type Vars
Name Type Default Description
MoveMaxSpeed Float 13.5 The maximum speed it can be moved.
MoveSlowDownFactor Float 3.0 Amount of slowdown applied to object when not moved.
MoveSpeedFactor Float 1.0 The higher value the more speed gain a mouse movement makes.
MoveThrowImpulse Float 6.0 Impulse added when thrown.
CanInteractWithStaticBody Bool false If by interacting with a static body in the entity, the lever is interacted with. Meaning that interacting with any part of the entity will work.
MinLimitRange Float 5.0 The distance from min the joint can be to be considered at min limit.
MaxLimitRange Float 5.0 The distance from max the joint can be to be considered at max limit.
MinLimitSound File (.snt) Sound played when at min limit
Incorrectly defined as a string in EntityTypes.cfg.
MaxLimitSound File (.snt) Sound played when at max limit
Incorrectly defined as a string in EntityTypes.cfg.
StuckSound File (.snt) Sound played when stuck
Incorrectly defined as a string in EntityTypes.cfg.
MiddleAngleAmount Float 0 The amount between min and max that is considered middle. -1 to 1. -1=at min, 0=exactly between min and max, 1=at max
AutoMoveToAngle Bool True If the lever should move to position when not interacted with.
AutoMoveSpeedFactor Float 2 Multiplier applied to speed to determine the speed it moves towards wanted position. The higher the faster it gets to the position.
AutoMoveMaxSpeed Float 8 Max speed it can move at to the wanted position
AutoMoveGoal String Middle Where it should go when auto moving.
Can be "Middle", "Min", or "Max".
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.
Instance Vars
Name Type Default Description
StuckState String None The stuck state for the lever.
Can be "None", "Min", or "Max".
InteractionDisablesStuck Bool false If stuck is disabled when player interacts.
OverrideDefaults Bool false If normal settings, set in ent file, should be overridden by settings below.
MiddleAngleAmount Float 0 The amount between min and max that is considered middle. -1 to 1. -1=at min, 0=exactly between min and max, 1=at max
AutoMoveToAngle Bool True If the lever should move to position when not interacted with.
AutoMoveGoal String Middle Where it should go when auto moving.
Can be "Middle", "Min", or "Max".

Wheel

A Wheel entity is a wheel that can be turned. They use states similar to the levers. Some wheels can be turned indefinitely and some (mostly valves) can be turned for a fixed amount in order to trigger an event. Wheels require a joint.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Type Vars
Name Type Default Description
MoveMaxSpeed Float 13.5 The maximum speed it can be moved.
MoveSlowDownFactor Float 3.0 Amount of slowdown applied to object when not moved.
MoveSpeedFactor Float 1.0 The higher value the more speed gain a mouse movement makes.
MoveThrowImpulse Float 6.0 Impulse added when thrown.
CanInteractWithStaticBody Bool false If by interacting with a static body in the entity, the wheel is interacted with. Meaning that interacting with any part of the entity will work.
MinLimit Float -180 Min limit of the wheel, should be equal or below 0 but can be as low as wanted. Several revolutions are supported!
MaxLimit Float 180 Max limit of the wheel, should be equal or above 0 but can be as high as wanted. Several revolutions are supported!
MinLimitRange Float 5.0 The distance from min the joint can be to be considered at min limit.
MaxLimitRange Float 5.0 The distance from max the joint can be to be considered at max limit.
MinLimitStuck Bool false If stuck at min limit
MaxLimitStuck Bool false If stuck at max limit
SpinDir String BothWays The direction the wheel can be spun
Can be "BothWays", "ToMin", or "ToMax".
MinLimitSound File (.snt) Sound played at min limit
MaxLimitSound File (.snt) Sound played at max limit
StuckSound File (.snt) Sound played when stuck.
SlowDownRotation Bool true If rotation should be slowed to 0 when not interacting.
SkipMiddleState Bool true If the middle state (when not in max or min) should be skipped by script and connections.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.
Instance Vars
Name Type Default Description
StuckState String None The stuck state for the wheel.
Can be "None", "Min", or "Max".
InteractionDisablesStuck Bool false If stuck is disabled when player interacts.
OverrideDefaults Bool false If normal settings, set in ent file, should be overridden by settings below.
MinLimit Float -180 Min limit of the wheel, should be equal or below 0 but can be as low as wanted. Several revolutions are supported!
MaxLimit Float 180 Max limit of the wheel, should be equal or above 0 but can be as high as wanted. Several revolutions are supported!
MinLimitStuck Bool false If stuck at min limit
MaxLimitStuck Bool false If stuck at max limit
SpinDir String BothWays The direction the wheel can be spun
Can be "BothWays", "ToMin", or "ToMax".

MultiSlider

A sliding-type lever that can be set to multiple states. Used for the gear levers in the Sewer.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Type Vars
Name Type Default Description
SlideMaxSpeed Float 10 The maximum speed it can be moved.
SlideSlowDownFactor Float 1 Amount of slowdown applied to object when not moved.
SlideSpeedFactor Float 1 The higher value the more speed gain a mouse movement makes.
SlideThrowImpulse Float 3 Impulse added when thrown.
NumOfStates Int 3 The number of states used.
StickToStateMaxDist Float 0.1 The distance from a state that the slider sticks.
CanInteractWithStaticBody Bool false If by interacting with a static body in the entity, the lever is interacted with. Meaning that interacting with any part of the entity will work.
AutoMoveToCurrentState Bool true If body should automove to current state when not interacted with.
AutoMoveSpeedFactor Float 2 Multiplier applied to speed to determine the speed it moves towards wanted position. The higher the faster it gets to the postion.
AutoMoveMaxSpeed Float 8 Max speed it can move at to the wanted position
ChangeStateSound File (.snt) Sound played when state is changed
Incorrectly defined as a string in EntityTypes.cfg.
StuckSound File (.snt) Sound played when stuck
Incorrectly defined as a string in EntityTypes.cfg.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.
Instance Vars
Name Type Default Description
StuckState String None The stuck state for the wheel.
Can be "None", "Min", or "Max".
InteractionDisablesStuck Bool false If stuck is disabled when player interacts.
ChangeStateCallback String Called when state changes Syntax: void MyFunc(string &in asEntity, int alState)
Used instead of ConnectionStateChangeCallback, as this entity type can have more than two possible states.

Lamp

A Lamp entity is a light source. If they are unlit, they can be lit by the player, consuming a tinderbox. Examples are torches and candles.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

Button

A Button entity acts like a lever, except it does not use a joint. It simply calls a callback when interacted with.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

Photocell

Add info.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

MoveObject

A MoveObject entity is an entity that can be specifically moved on a single axis through the use of scripting. It can be set to either Angular or Linear. Angular rotates the object around its own center point, unless otherwise specified by the use of an OffsetArea. Linear moves the object in a direction for a specified amount. Note that a linear move object can only move on one axis. You can pick X, Y or Z in the entity and this cannot be changed mid-game. If you want the same object to move on more than 1 axis (for example left then forward) you can switch out the entity with an identical one that uses another axis. The script to move a MoveObject is SetMoveObjectState and SetMoveObjectStateExt, found on the engine scripts page.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

Item

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

Puzzle

A Puzzle subtype item is a general item with no extra properties. Use this if you only need an inventory item to be used to trigger a scripted action. Other subtypes have special properties, but Puzzle only has the ability to be collected and used from the inventory. When used, it's loaded onto the crosshair so the player can use it on objects.

Coins

Cut item type from the game that was supposed to be a collectible the player could buy something with. They can be used on Chest type entities to open them.

Alert icon.png Warning: You can create custom coin items, but there is a single language entry which is hardcoded into the engine and can't be changed. This means that even if all the others are changed, looking at Chests will always say "Locked. Costs X Thalers to open."

Note

A Note item is an item that adds text to the player's journal. It displays itself when picked up. The note can be narrated, in which case it will automatically close once it's finished. If it isn't voiced, the player must close it. Use this if you want to make a Note item using a custom model / custom properties that differ from the main notes.

Diary

A Diary item is nearly identical to the Note item. Instead, it adds itself to the Diary section of the player's journal, whereas the Note adds itself to the Notes section. Diaries are also always voice enabled. Notes have the option for it.

Lantern

A Lantern item can be picked up like a normal item, but is added as a lantern to the inventory. While having this item, the player can press F to enable/diable it, or click it in the inventory. Note: This is NOT the lantern model, only the item that gives it to the player. If you want a custom lantern model, you can follow this guide.

Health

A Health item acts like a health potion (Laudanum). It acts like a normal item, except when used it is consumed while increasing the player's health by a specified amount.

Sanity

A Sanity item acts like a sanity potion. While used, they increase the player's sanity by a fixed amount, and then consumed from the inventory.

LampOil

A LampOil item acts like an oil potion. When used, it increases the amount of oil for the lantern, and then consumed.

Tinderbox

A Tinderbox item adds itself to the player's tinderbox counter in the inventory. Tinderboxes can be used once to light a light source.

HandObject

Unused. Would have equipped the corresponding hand object on use.

Chest

This is an unused feature, but it was kept in the engine and can be restored by making a custom entity. It is a object which can be opened using coins (or their replacements, if a custom Coin-type entity is made). Interacting with it brings up a text GUI. The text GUI can be changed in the base language file. To make an entity of this type, just copy an existing entity file and change its entity type. The chests that ended up in the game are actually just Levers.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

OilBarrel

An OilBarrel entity simply adds some oil to the player's lantern storage upon interaction. The oil amount will be random unless otherwise specified.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

EmotionStone

An EmotionStone entity works like the glowing jar-like objects from the game. Upon interacting with an EmotionStone entity, the screen fades to white and displays a message for the player.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

NPC

Non-Player Characters are non-enemy characters. Agrippa and Alexander as they appear in-game are NPCs. Their only purpose is to stand in place and look at the player (if you enable the option).

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

LevelDoor

A LevelDoor entity is in concept similar to a SwingDoor, but they function very differently. A LevelDoor instantly transports the player to the specified level when they click it. The sounds, text and destination can be entered in the Level Editor itself.

LevelDoors can also teleport the player (without a loading screen) if the same map is picked.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

CritterBug

Critters like rats, roaches or fishes on the ground (or in the case of fish, water) those move around the room they are placed in and run away from the player.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

CritterSpider

A unused critter similar to the spider enemies from Penumbra: Overture. Capable of climbing walls and ceilings, as well as attacking the player.

Type Vars (All Props)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
MaxFocusDistance Float 0 Max distance the entity can be interacted with.
MainPhysicsBody String This is the name of the most imporant physics body. The body that sounds are played from and objects attached to (attached as results from script!).
ShowMesh Bool true If the mesh should be visible. Having this false might useful for blocker objects.
DissolveOnDestruction Bool false If the dissolve effect should used when entity is destroyed.
DissolveTime Float 1.0 The time it takes for the dissolve effect to be over.
EffectsOnSound File (.snt) Sound made when turned on. (used for lamps lit/unlit, but also other entity types).
EffectsOffSound File (.snt) Sound made when turned off. (used for lamps lit/unlit, but also other entity types).
EffectsOnTime Float 1 Time it takes for on effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffTime Float 1 Time it takes for off effect to be done. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightColor Color 0 0 0 0 Color of lights when off. (used for lamps lit/unlit, but also other entity types).
EffectsOffLightRadius Float -1 Radius of lights when off. (used for lamps lit/unlit, but also other entity types).
ShowHints Bool true If it is allowed to show hints upon interaction with entity.
StaticMoveCheckCollision Bool false If a static move should check for collision. (used when static bodies are moved through script of type specific effect.)
StaticMoveStartSound File (.snt) Sound made at the start of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveStopSound File (.snt) Sound made at the end of a static move. (used when static bodies are moved through script of type specific effect.)
StaticMoveLoopSound File (.snt) Sound made during a static move. (used when static bodies are moved through script of type specific effect.)
RandomizeAnimationStart Bool true Should the animation start time be randomized at start. If false all animations of entity are synchronized.
Instance Vars (All Props)
Name Type Default Description
CastShadows Bool true If entity casts shadows.
StaticPhysics Bool false If the mass of all bodies should be 0.
If enabled, the entity cannot be moved by physics or player interactions.
IsAffectedByDecal Bool true If decals can be created on entity.
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnPickup, Break, OnIgnite
ConnectedProps String Props that are connected to this entity and what will happen will depend upon type of prop and what happens. OnBreak makes the connected props active and gives them an impulse. Enter with space and/or comma between entity names.
ConnectionStateChangeCallback String A callback called when ever the connection state changes (button being switched on). Syntax: void Func(string &in asEntityName, int alState). alState: -1=off, 0=between, 1=on
FullGameSave Bool false If the all things in the entity should be saved when exiting the level. Only use on few entities!
If enabled, additional entity properties are saved, such as the open amount of SwingDoors.
PlayerLookAtCallback String Callback called when player looks at entity. Syntax: void Func(string &in asEntity, int alState) alState: 1=looking, -1=stopped looking
PlayerLookAtCallbackAutoRemove Bool false Should look at callback be removed when entity is looked at and callback called.
PlayerInteractCallback String Callback called when player interacts with entity. Syntax: void Func(string &in asEntity)
PlayerInteractCallbackAutoRemove Bool false Should interact callback be removed when entity is interacted with and is callback called.

Enemy_Grunt

An Enemy_Grunt entity is a standard enemy entity. It uses properties like the Grunt and Brute in the game. Enemy entities are advanced to set up, and should include animations added through Settings > Animations. Enemy properties can be modified in the entity type window, like certains sounds and music tracks playing, the enemy's awareness levels and damage, speed and other similar settings. An enemy does not use a collision box, but instead a skeleton and the aforementioned properties to determine how to collide/hit something.

Type Vars (All Enemies)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
AutoRemoveAtPathEnd Bool true If enemy should be removed when it reaches the end of the path.
Must not be seen by the player and must be more than 10 units away from them.
SightRange Float 10 The distance that the enemy can see.
DarknessSightRange Float 4 The distance the enemy can see in darkness. Only used if player is also still!
HearVolume Float 10 The min volume that the enemy can hear (0-1)
FOV Float 180 The field of view of the enemy, max = 360
FOVXMul Float 1 The multiplier for the horiztonal fov. Also known as aspect
ActivationDistance Float 120 The distance at which the enemy is activated and starts patrolling
MaxRegenHealth Float 100 The max health that enemy regenerates to
RegenHealthSpeed Float 0 The amount of health regenerated per second.
DangerMusic String Music played when activated
DangerMusicPrio Int 0 When there are several enemies in danger range, the one with highest priority is played. This is NOT music priority
SearchMusic String Music played when searching for player (after having seen them)
SearchMusicPrio Int 0
AttackMusic String Music played when seen player and hunting
AttackMusicPrio Int 0
PlayerSearchMaxAngle Float 45 When searching for player, the angle used to narrow down search. Smaller angle means it finds player faster
PlayerSearchMinDistMul Float 0.5 Minimum amount of actual distance from player that the search is made. Must be <0
PlayerSearchMaxDistMul Float 2 Maximum amount of actual distance from player that the search is made. Must be >1
PlayerSearchTime Float 45 The time that enemy searches for player before stopping
PlayerPatrolMaxAngle Float 110 When patrolling for player, the angle used to narrow down search. Smaller angle means it finds player faster
PlayerPatrolMinDist Float 3.5 Minimum amount of actual distance from player that the patrol is made. Must be <0
PlayerPatrolMaxDist Float 15 Maximum amount of actual distance from player that the patrol is made. Must be >1
Body_Size Vector3 1 1.75 1 The size of the enemy body.
Body_Mass Float 50 Mass of body
Body_AccurateClimbing Bool false If more rays should be cast when checking for edges to climb.
Body_MaxNoSlideSlopeAngle Float 45 The maximum angle that the enemy does not slide down a slope at.
Body_MaxPushMass Float 20 The maximum mass of an object that the enemy can push
Body_PushForce Float 60 The force that objects are pushed with
Body_CharacterMaxPushMass Float 20 The maximum character mass that can be pushed.
Body_MaxStepSize Float 0.5 The maximum size of a step that can be climbed
Body_StepClimbSpeed Float 6.0 The speed of the step climb
Body_OffsetRot Vector3 0 0 0 Rotation offset of model relative to body
Body_OffsetTrans Vector3 0 0 0 Translation offset of model relative to body
Walk_ForwardSpeed Float 1.0 Forward speed when walking, in meters per second.
Walk_BackwardSpeed Float 1.0 Backward speed when walking, in meters per second.
Walk_ForwardAcc Float 2.0
Walk_ForwardDeacc Float 8.0
Run_ForwardSpeed Float 3.0 Forward speed when running, in meters per second.
Run_BackwardSpeed Float 2.0 Backward speed when running, in meters per second.
Run_ForwardAcc Float 4.0
Run_ForwardDeacc Float 8.0
TurnSpeedMul Float 6 Determines the angular speed when turning. Is also based on the angle that needs to be turned and the higher the value the faster the speed.
TurnMaxSpeed Float 4 Maximum angular speed when turning
TurnMinBreakAngle Float 10 Minimum angle for break mul to be in effect
TurnBreakMul Float 1 The higher the value, the more the enemy will break (slow down) the forward speed when turning.
MoveSpeedAnimMul Float 4.7 Multiplier for animation speed based on the speed of the body.
StoppedToWalkSpeed Float 0.05 Speed at which the walk animation is played
WalkToStoppedSpeed Float 0.02 Speed at which walk goes to stopped
WalkToRunSpeed Float 1.2 Speed at which walk turns to run animation
RunToWalkSpeed Float 1.0 Speed at which run turns to walk.
WaterStepSpeedWalk Float 3.0 Speed used when calculating effect when taking step in water during walk.
WaterStepSpeedRun Float 5.0 Speed used when calculating effect when taking step in water during run.
WaterStepSpeedMisc Float 3.0 Speed used when calculating effect when taking step in water during NOT walk or run
HitPS_Sword File (.ps) Particles created when hit by sword type weapon.
HitSound_Sword File (.snt) Sound when hit by sword type weapon.
HitPS_Club File (.ps) Particles created when hit by club type weapon.
HitSound_Club File (.snt) Sound when hit by club type weapon.
HitPS_Bullet File (.ps) Particles created when hit by bullet type weapon.
HitSound_Bullet File (.snt) Sound when hit by bullet type weapon.
HitPS_Dud File (.ps) Particles created when hit by a weapon taking no damage.
HitSound_Dud File (.snt) Sound when hit by a weapon taking no damage.
AmbientSound_Idle File (.snt) Sound made when in idle mode
AmbientMinTime_Idle Float 1 Min time between sounds.
AmbientMaxTime_Idle Float 3 Max time between sounds.
AmbientSound_Alert File (.snt) Sound made when in alert mode
AmbientMinTime_Alert Float 1 Min time between sounds.
Incorrectly defined as a sound file in EntityTypes.cfg.
AmbientMaxTime_Alert Float 2 Max time between sounds.
Incorrectly defined as a sound file in EntityTypes.cfg.
AmbientSound_Hunt File (.snt) Sound made when in hunt mode
AmbientMinTime_Hunt Float 1 Min time between sounds.
AmbientMaxTime_Hunt Float 2 Max time between sounds.
NormalAttackDistance Float 2 Distance at which the normal attack is made
NormalDamageSize Vector3 1 1 1 Size of the normal damage
NormalDamageOffset Vector3 0 0 1 Offset (in local coords) for the normal damage.
NormalAttackHitSound File (.snt) Sound made by normal damage
NormalAttackDamage Vector2 10 20 Damage made by normal damage x=min, y=max
NormalAttackForce Vector2 30 5 Force made by normal damage x=force y=max impulse (impulse = force/mass)
NormalAttackStrength Int 1 Strength for normal attack
NormalDamageType String Claws Visual feedback of attack
Can be "BloodSplat", "Claws", or "Slash".
BreakDoorAttackDamage Vector2 10 20 Damage made by break door damage x=min, y=max
BreakDoorAttackForce Vector2 30 5 Force made by break door damage x=force y=max impulse (impulse = force/mass)
BreakDoorAttackStrength Int 3 Strength for break door attack
BreakDoorAttackHitSound File (.snt) Sound made by break door damage
BreakDoorDamageType String BloodSplat Visual feedback of attack
Can be "BloodSplat", "Claws", or "Slash".
Instance Vars (All Enemies)
Name Type Default Description
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnDeath or OnAutoDisabled
DisableTriggers Bool false If true, the enemy does not react to any trigger such as seeing or hearing the player.
Hallucination Bool false If true, the enemy will disappear when close enough to the player.
HallucinationEndDist Float 3 The distance at which the hallucination disappears

Enemy_ManPig

Alert icon.png Requires version 1.3

An enemy type ported from A Machine For Pigs. Compare to the AMFP version of the enemy.

Type Vars (All Enemies)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
AutoRemoveAtPathEnd Bool true If enemy should be removed when it reaches the end of the path.
Must not be seen by the player and must be more than 10 units away from them.
SightRange Float 10 The distance that the enemy can see.
DarknessSightRange Float 4 The distance the enemy can see in darkness. Only used if player is also still!
HearVolume Float 10 The min volume that the enemy can hear (0-1)
FOV Float 180 The field of view of the enemy, max = 360
FOVXMul Float 1 The multiplier for the horiztonal fov. Also known as aspect
ActivationDistance Float 120 The distance at which the enemy is activated and starts patrolling
MaxRegenHealth Float 100 The max health that enemy regenerates to
RegenHealthSpeed Float 0 The amount of health regenerated per second.
DangerMusic String Music played when activated
DangerMusicPrio Int 0 When there are several enemies in danger range, the one with highest priority is played. This is NOT music priority
SearchMusic String Music played when searching for player (after having seen them)
SearchMusicPrio Int 0
AttackMusic String Music played when seen player and hunting
AttackMusicPrio Int 0
PlayerSearchMaxAngle Float 45 When searching for player, the angle used to narrow down search. Smaller angle means it finds player faster
PlayerSearchMinDistMul Float 0.5 Minimum amount of actual distance from player that the search is made. Must be <0
PlayerSearchMaxDistMul Float 2 Maximum amount of actual distance from player that the search is made. Must be >1
PlayerSearchTime Float 45 The time that enemy searches for player before stopping
PlayerPatrolMaxAngle Float 110 When patrolling for player, the angle used to narrow down search. Smaller angle means it finds player faster
PlayerPatrolMinDist Float 3.5 Minimum amount of actual distance from player that the patrol is made. Must be <0
PlayerPatrolMaxDist Float 15 Maximum amount of actual distance from player that the patrol is made. Must be >1
Body_Size Vector3 1 1.75 1 The size of the enemy body.
Body_Mass Float 50 Mass of body
Body_AccurateClimbing Bool false If more rays should be cast when checking for edges to climb.
Body_MaxNoSlideSlopeAngle Float 45 The maximum angle that the enemy does not slide down a slope at.
Body_MaxPushMass Float 20 The maximum mass of an object that the enemy can push
Body_PushForce Float 60 The force that objects are pushed with
Body_CharacterMaxPushMass Float 20 The maximum character mass that can be pushed.
Body_MaxStepSize Float 0.5 The maximum size of a step that can be climbed
Body_StepClimbSpeed Float 6.0 The speed of the step climb
Body_OffsetRot Vector3 0 0 0 Rotation offset of model relative to body
Body_OffsetTrans Vector3 0 0 0 Translation offset of model relative to body
Walk_ForwardSpeed Float 1.0 Forward speed when walking, in meters per second.
Walk_BackwardSpeed Float 1.0 Backward speed when walking, in meters per second.
Walk_ForwardAcc Float 2.0
Walk_ForwardDeacc Float 8.0
Run_ForwardSpeed Float 3.0 Forward speed when running, in meters per second.
Run_BackwardSpeed Float 2.0 Backward speed when running, in meters per second.
Run_ForwardAcc Float 4.0
Run_ForwardDeacc Float 8.0
TurnSpeedMul Float 6 Determines the angular speed when turning. Is also based on the angle that needs to be turned and the higher the value the faster the speed.
TurnMaxSpeed Float 4 Maximum angular speed when turning
TurnMinBreakAngle Float 10 Minimum angle for break mul to be in effect
TurnBreakMul Float 1 The higher the value, the more the enemy will break (slow down) the forward speed when turning.
MoveSpeedAnimMul Float 4.7 Multiplier for animation speed based on the speed of the body.
StoppedToWalkSpeed Float 0.05 Speed at which the walk animation is played
WalkToStoppedSpeed Float 0.02 Speed at which walk goes to stopped
WalkToRunSpeed Float 1.2 Speed at which walk turns to run animation
RunToWalkSpeed Float 1.0 Speed at which run turns to walk.
WaterStepSpeedWalk Float 3.0 Speed used when calculating effect when taking step in water during walk.
WaterStepSpeedRun Float 5.0 Speed used when calculating effect when taking step in water during run.
WaterStepSpeedMisc Float 3.0 Speed used when calculating effect when taking step in water during NOT walk or run
HitPS_Sword File (.ps) Particles created when hit by sword type weapon.
HitSound_Sword File (.snt) Sound when hit by sword type weapon.
HitPS_Club File (.ps) Particles created when hit by club type weapon.
HitSound_Club File (.snt) Sound when hit by club type weapon.
HitPS_Bullet File (.ps) Particles created when hit by bullet type weapon.
HitSound_Bullet File (.snt) Sound when hit by bullet type weapon.
HitPS_Dud File (.ps) Particles created when hit by a weapon taking no damage.
HitSound_Dud File (.snt) Sound when hit by a weapon taking no damage.
AmbientSound_Idle File (.snt) Sound made when in idle mode
AmbientMinTime_Idle Float 1 Min time between sounds.
AmbientMaxTime_Idle Float 3 Max time between sounds.
AmbientSound_Alert File (.snt) Sound made when in alert mode
AmbientMinTime_Alert Float 1 Min time between sounds.
Incorrectly defined as a sound file in EntityTypes.cfg.
AmbientMaxTime_Alert Float 2 Max time between sounds.
Incorrectly defined as a sound file in EntityTypes.cfg.
AmbientSound_Hunt File (.snt) Sound made when in hunt mode
AmbientMinTime_Hunt Float 1 Min time between sounds.
AmbientMaxTime_Hunt Float 2 Max time between sounds.
NormalAttackDistance Float 2 Distance at which the normal attack is made
NormalDamageSize Vector3 1 1 1 Size of the normal damage
NormalDamageOffset Vector3 0 0 1 Offset (in local coords) for the normal damage.
NormalAttackHitSound File (.snt) Sound made by normal damage
NormalAttackDamage Vector2 10 20 Damage made by normal damage x=min, y=max
NormalAttackForce Vector2 30 5 Force made by normal damage x=force y=max impulse (impulse = force/mass)
NormalAttackStrength Int 1 Strength for normal attack
NormalDamageType String Claws Visual feedback of attack
Can be "BloodSplat", "Claws", or "Slash".
BreakDoorAttackDamage Vector2 10 20 Damage made by break door damage x=min, y=max
BreakDoorAttackForce Vector2 30 5 Force made by break door damage x=force y=max impulse (impulse = force/mass)
BreakDoorAttackStrength Int 3 Strength for break door attack
BreakDoorAttackHitSound File (.snt) Sound made by break door damage
BreakDoorDamageType String BloodSplat Visual feedback of attack
Can be "BloodSplat", "Claws", or "Slash".
Instance Vars (All Enemies)
Name Type Default Description
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnDeath or OnAutoDisabled
DisableTriggers Bool false If true, the enemy does not react to any trigger such as seeing or hearing the player.
Hallucination Bool false If true, the enemy will disappear when close enough to the player.
HallucinationEndDist Float 3 The distance at which the hallucination disappears

Enemy_Waterlurker

Enemy type of the "water monster". Since you can't assign animations to it, you might as well just use the normal waterlurker of the base game unless you want to change its properties (such as damage, movement speed, or music played).

Type Vars (All Enemies)
Name Type Default Description
Health Float 100 The amount of damage an entity can take.
Toughness Int 0 Compared to attack strength to determine damage dealt to the entity.
The attack deals no damage if Toughness > Strength + 1, half damage if Toughness = Strength + 1, and full damage if Toughness <= Strength.
Example: Toughness of 2 provides immunity to Strength 0 attacks, halves the damage of Strength 1 attacks, and full damage at Strength 2.
AutoRemoveAtPathEnd Bool true If enemy should be removed when it reaches the end of the path.
Must not be seen by the player and must be more than 10 units away from them.
SightRange Float 10 The distance that the enemy can see.
DarknessSightRange Float 4 The distance the enemy can see in darkness. Only used if player is also still!
HearVolume Float 10 The min volume that the enemy can hear (0-1)
FOV Float 180 The field of view of the enemy, max = 360
FOVXMul Float 1 The multiplier for the horiztonal fov. Also known as aspect
ActivationDistance Float 120 The distance at which the enemy is activated and starts patrolling
MaxRegenHealth Float 100 The max health that enemy regenerates to
RegenHealthSpeed Float 0 The amount of health regenerated per second.
DangerMusic String Music played when activated
DangerMusicPrio Int 0 When there are several enemies in danger range, the one with highest priority is played. This is NOT music priority
SearchMusic String Music played when searching for player (after having seen them)
SearchMusicPrio Int 0
AttackMusic String Music played when seen player and hunting
AttackMusicPrio Int 0
PlayerSearchMaxAngle Float 45 When searching for player, the angle used to narrow down search. Smaller angle means it finds player faster
PlayerSearchMinDistMul Float 0.5 Minimum amount of actual distance from player that the search is made. Must be <0
PlayerSearchMaxDistMul Float 2 Maximum amount of actual distance from player that the search is made. Must be >1
PlayerSearchTime Float 45 The time that enemy searches for player before stopping
PlayerPatrolMaxAngle Float 110 When patrolling for player, the angle used to narrow down search. Smaller angle means it finds player faster
PlayerPatrolMinDist Float 3.5 Minimum amount of actual distance from player that the patrol is made. Must be <0
PlayerPatrolMaxDist Float 15 Maximum amount of actual distance from player that the patrol is made. Must be >1
Body_Size Vector3 1 1.75 1 The size of the enemy body.
Body_Mass Float 50 Mass of body
Body_AccurateClimbing Bool false If more rays should be cast when checking for edges to climb.
Body_MaxNoSlideSlopeAngle Float 45 The maximum angle that the enemy does not slide down a slope at.
Body_MaxPushMass Float 20 The maximum mass of an object that the enemy can push
Body_PushForce Float 60 The force that objects are pushed with
Body_CharacterMaxPushMass Float 20 The maximum character mass that can be pushed.
Body_MaxStepSize Float 0.5 The maximum size of a step that can be climbed
Body_StepClimbSpeed Float 6.0 The speed of the step climb
Body_OffsetRot Vector3 0 0 0 Rotation offset of model relative to body
Body_OffsetTrans Vector3 0 0 0 Translation offset of model relative to body
Walk_ForwardSpeed Float 1.0 Forward speed when walking, in meters per second.
Walk_BackwardSpeed Float 1.0 Backward speed when walking, in meters per second.
Walk_ForwardAcc Float 2.0
Walk_ForwardDeacc Float 8.0
Run_ForwardSpeed Float 3.0 Forward speed when running, in meters per second.
Run_BackwardSpeed Float 2.0 Backward speed when running, in meters per second.
Run_ForwardAcc Float 4.0
Run_ForwardDeacc Float 8.0
TurnSpeedMul Float 6 Determines the angular speed when turning. Is also based on the angle that needs to be turned and the higher the value the faster the speed.
TurnMaxSpeed Float 4 Maximum angular speed when turning
TurnMinBreakAngle Float 10 Minimum angle for break mul to be in effect
TurnBreakMul Float 1 The higher the value, the more the enemy will break (slow down) the forward speed when turning.
MoveSpeedAnimMul Float 4.7 Multiplier for animation speed based on the speed of the body.
StoppedToWalkSpeed Float 0.05 Speed at which the walk animation is played
WalkToStoppedSpeed Float 0.02 Speed at which walk goes to stopped
WalkToRunSpeed Float 1.2 Speed at which walk turns to run animation
RunToWalkSpeed Float 1.0 Speed at which run turns to walk.
WaterStepSpeedWalk Float 3.0 Speed used when calculating effect when taking step in water during walk.
WaterStepSpeedRun Float 5.0 Speed used when calculating effect when taking step in water during run.
WaterStepSpeedMisc Float 3.0 Speed used when calculating effect when taking step in water during NOT walk or run
HitPS_Sword File (.ps) Particles created when hit by sword type weapon.
HitSound_Sword File (.snt) Sound when hit by sword type weapon.
HitPS_Club File (.ps) Particles created when hit by club type weapon.
HitSound_Club File (.snt) Sound when hit by club type weapon.
HitPS_Bullet File (.ps) Particles created when hit by bullet type weapon.
HitSound_Bullet File (.snt) Sound when hit by bullet type weapon.
HitPS_Dud File (.ps) Particles created when hit by a weapon taking no damage.
HitSound_Dud File (.snt) Sound when hit by a weapon taking no damage.
AmbientSound_Idle File (.snt) Sound made when in idle mode
AmbientMinTime_Idle Float 1 Min time between sounds.
AmbientMaxTime_Idle Float 3 Max time between sounds.
AmbientSound_Alert File (.snt) Sound made when in alert mode
AmbientMinTime_Alert Float 1 Min time between sounds.
Incorrectly defined as a sound file in EntityTypes.cfg.
AmbientMaxTime_Alert Float 2 Max time between sounds.
Incorrectly defined as a sound file in EntityTypes.cfg.
AmbientSound_Hunt File (.snt) Sound made when in hunt mode
AmbientMinTime_Hunt Float 1 Min time between sounds.
AmbientMaxTime_Hunt Float 2 Max time between sounds.
NormalAttackDistance Float 2 Distance at which the normal attack is made
NormalDamageSize Vector3 1 1 1 Size of the normal damage
NormalDamageOffset Vector3 0 0 1 Offset (in local coords) for the normal damage.
NormalAttackHitSound File (.snt) Sound made by normal damage
NormalAttackDamage Vector2 10 20 Damage made by normal damage x=min, y=max
NormalAttackForce Vector2 30 5 Force made by normal damage x=force y=max impulse (impulse = force/mass)
NormalAttackStrength Int 1 Strength for normal attack
NormalDamageType String Claws Visual feedback of attack
Can be "BloodSplat", "Claws", or "Slash".
BreakDoorAttackDamage Vector2 10 20 Damage made by break door damage x=min, y=max
BreakDoorAttackForce Vector2 30 5 Force made by break door damage x=force y=max impulse (impulse = force/mass)
BreakDoorAttackStrength Int 3 Strength for break door attack
BreakDoorAttackHitSound File (.snt) Sound made by break door damage
BreakDoorDamageType String BloodSplat Visual feedback of attack
Can be "BloodSplat", "Claws", or "Slash".
Instance Vars (All Enemies)
Name Type Default Description
CallbackFunc String A callback function used for a number of events. Syntax: void Func(string &in asEntityName, string &in asType). asType can be OnDeath or OnAutoDisabled
DisableTriggers Bool false If true, the enemy does not react to any trigger such as seeing or hearing the player.
Hallucination Bool false If true, the enemy will disappear when close enough to the player.
HallucinationEndDist Float 3 The distance at which the hallucination disappears

PlayerHands

Player's hands. Unless you want to make a different looking hand for a full conversion mod, you don't have to worry about this.

HandObject

The only available HandObject is the lantern. It is used in conjunction with a .ho config file to place it properly in PlayerHands.

Mostly a remnant of cut items that functioned as weapons, like in Penumbra: Overture, including the pickaxe from that game.