func_lookdoor

From Valve Developer Community
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
English (en)Translate (Translate)
Class hierarchy
CLookDoor
CFuncMoveLinear
CBaseToggle
CBaseEntity
look_door.cpp

func_lookdoor is a brush entity available in Half-Life 2 series Half-Life 2 series. It's a door that moves, either when looked by a targeted object or when a target object comes near the door. Behavior can be either based on viewing direction or proximity alone, or on a combination of both.

Note.pngNote:The SetPosition input and Start Position keyvalue do not perform any bounds checking, so values less than 0 and greater than 1 can be used. Negative values will move in the opposite direction to the movement direction, and values greater than 1 will move it in multiples of the set Move Distance. Moving past the opened/closed position does not trigger the OnFullyOpen and OnFullyClosed outputs.
Icon-Bug.pngBug:There are bugs that may arise when parenting this entity to any of these: func_movelinear, func_lookdoor, func_water_analog. A func_door (or for func_water_analog, func_water) can be used as a workaround. (see here for a code fix)[ Code Fix]
Confirm:Might be fixed in Portal 2? Parented movelinears are used extensively for this game's piston platforms.
  [todo tested in?]
Icon-Bug.pngBug:In Team Fortress 2, parenting a move_rope or keyframe_rope will cause the entities to disappear. Clarification required if the rope entities are deleted or are simply not rendered.  [todo tested in?]
Note.pngNote:This entity is also in the code for Portal. Its functionality is not guaranteed.


Flags

!FGD FuncMoveLinear:

  • 8: Not Solid
Icon-Bug.pngBug:Physics objects cannot be constrained to this entity when this flag is enabled.  [todo tested in?]

LookDoor: LookDoor Threshold : [8192]
LookDoor Invert : [16384]

Make the door behave oppositely. Player has to be outside Proximity Distance, and not looking at the door within Field of View.

LookDoor From Open : [32768]

Keyvalues

Note.pngNote:For Keyvalues and Inputs affecting brush rendering, see Brush entity/Rendering related keyvalues and inputs


Name (targetname) <string>
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Target (target) <targetname> !FGD
Thing (probably a player) that we will check for LOS to the door.
Proximity Distance (ProximityDistance) <float>
If non-zero, how close target must be for door to move.
Proximity Offset (ProximityOffset) <float>
Offset from the target object.
Field of View (FieldOfView) <float>
If non-zero, how far away from the door the target can look while still triggering it.

FuncMoveLinear:

Move Direction (Pitch Yaw Roll) (movedir) <angle>
The direction the entity will move in.
Start Position (startposition) <float>
Position of brush when spawned, where 0 is the starting position and 1 is starting position + (move direction * move distance).
Speed (speed) <integer>
The speed that the brush moves, in inches per second.
Move Distance (movedistance) <float>
The distance from the starting point that the brush should move, in inches.
Block Damage (blockdamage) <float>
The amount of damage to do to any entity that blocks the brushes, per frame.
Icon-Bug.pngBug:Block damage doesn't function on players who passed through a trigger_teleport using noclip, though it will have effect again if the the player goes through a trigger_teleport without noclip.  [todo tested in?]
Sound played when the brush starts moving. (startsound) <sound>
The sound to play when the brush starts moving.
Sound played when the brush stops moving. (stopsound) <sound>
The sound to play when the brush stops moving.

Inputs

InvertOn
Enabled inverted behavior.
InvertOff
Turn door behavior back to the normal method.

FuncMoveLinear:

Open
Move the brush to the end position (starting position + (move direction * move distance)).
Close
Move the brush to the starting position.
SetPosition <float>
Move the brush to a specific position, where 0 is the starting position and 1 is the starting position + (move direction * move distance).
SetSpeed <float>
Set the speed and update immediately.

Outputs

FuncMoveLinear:

OnFullyOpen
Fired when the brush reaches the end position (starting position + (move direction * move distance)).
OnFullyClosed
Fired when the brush reaches the starting position.