====== Prop Types ====== Most props can be manipulated in some way using ''Prop_'' helper functions (and normal ''Entity_'' helper functions). ===== Prop_Button ===== A button that can be locked, disabled or enabled. Can be controlled through ''Button_'' helper functions. ===== Prop_CatherineTool ===== The Omnitool. Use ''CathTool_'' helper methods. ===== Prop_Datamine ===== An object which can be datamined by the player to pull out the last recorded audio. Use ''Datamine_'' helper functions. You can also use [[hpl3:game:areas#datamine|Datamine Areas]] for this. ===== Prop_EnergySource ===== A source of healing energy - the Wau flower. Use ''EnergySource_'' helper methods and use along with the [[hpl3:game:scripting:user_modules:player_energy|Player Energy]] user module. ===== Prop_Grab ===== A physics-based prop that can be picked up, turned and examined by the player. Make sure the body mass isn't 0! ===== Prop_HandheldTerminal ===== Same as terminal, but can be picked up. Used for Datapads, mobile phones and cameras. Use ''Terminal_'' helper functions and see [[hpl3:game:gui|GUI]] for more info. ===== Prop_HudObject ===== An object which will be used as the 'held in hands' version of a Prop_Tool. ===== Prop_Lamp ===== Very straightforward - a prop which can have illumination switched on and off with ''Lamp_SetLit''. Often connected to additional in-level lights. Can be controlled through ''Lamp_'' helper functions. ===== Prop_LevelDoor ===== An object which, when interacted with, will load a new level. Nearly obsolete now due to level streaming. ===== Prop_Lever ===== Any sort of lever. Needs a Hinge joint. Use ''Lever_'' helper functions. ===== Prop_Meter ===== For creating analogue meters, where a needle rotates across a display (can also be used for analogue clocks). Use ''Meter_'' helper functions. ===== Prop_MoveObject ===== An object which can be smoothly moved or rotated between two different points e.g. a ladder that slides into place, or a wall that turns to reveal a secret passage, or a cargo lift. Use ''MoveObject_'' helper functions. ===== Prop_MovingButton ===== A button object which has a moving or rotating component e.g. a pushbutton or a tap. Can be manipulated in different ways. Use ''MovingButton_'' helper functions. ===== Prop_MultiSlider ===== Like a slider, but has multiple positions / states (not used in SOMA). ===== Prop_OmniSlot ===== A slot which you can plug the Omnitool into. Use ''Omnislot_'' and ''CathTool_'' helper methods. ===== Prop_OmnitoolPanel ===== An Omnitool panel i.e. the ones you wave the Omnitool at to get access. Use ''OmniPanel_'' helper methods. ===== Prop_PlayerHands ===== A set of player hands containing a whole bunch of animations for use with the [[hpl3:game:scripting:user_modules:player_hands|Player Hands]] user module. Use ''PlayerHands_'' helper methods. ===== Prop_PhysicsSlideDoor ===== A physics-based version of the SlideDoor object - allows the player to manually move the door. Use ''PhysicsSlideDoor_'' helper functions. ===== Prop_Push ===== A physics-based prop that can be grabbed and pushed around (but not picked up). ===== Prop_Readable ===== An object which can be picked up, rotated, and has text associated with it e.g. a letter, a book. ===== Prop_Rigid ===== The basic physics-based object; can't be interacted with by default. ===== Prop_Slide ===== An object with a body in it that can be grabbed and slid along a joint e.g. a drawer. Must include a Slider joint. Can be controlled through ''Slide_'' helper functions. ===== Prop_SlideDoor ===== A door that slides open on a Slider joint - use ''SlideDoor_'' helper functions. ===== Prop_SwingDoor ===== A door that swings. :-D. Can be controlled through ''SwingDoor_'' helper functions. ===== Prop_Tear ===== An object which allows one body to be 'torn' away from another by the player. Used for things like emergency covers on boxes. ===== Prop_Terminal ===== An object with a GUI surface on e.g. a computer monitor or door panel. Use ''Terminal_'' helper functions, and ''ImGui_'' functions for drawing on the GUI surface - see [[hpl3:game:gui|GUI]] for more info. ===== Prop_Tool ===== Objects which can be picked up by the player and then go into the player's inventory e.g. computer chips, the Omnitool, the stun gun. Used in conjunction with [[hpl3:game:areas#tool|Tool Areas]] and the [[hpl3:game:scripting:user_modules:player_tool|Player Tool Module]]. ===== Prop_Wheel ===== A turnable wheel, such as a valve wheel. Must have a Hinge joint. Can be controlled through ''Wheel_'' helper functions.