prop_physics_override
prop_physics_override is a point entity available in all
Source games. A prop type that will override the properties built into its model, making it work like a prop_physics entity. The health of props can also be overridden by using this entity.
Generally, if a prop_physics in your map has been removed because its model wasn't meant to be a physics prop, you can use this entity to still make it a prop_physics, without any drawbacks.
Although this entity provides the freedom of turning any prop into a physics prop, be aware of that players will rely on the behavior of props to be more or less consistent with other maps, and even other Source games.
- prop_physics
- Prop Types Overview
- Prop Footsteps - A tutorial that provides essential code for when players walk on entities like this, it's not ignored during footstep sound computation.
Contents
Keyvalues
- Health
(health)<integer> - Number of points of damage to take before breaking. 0 means don't break.
BasePropPhysics:
- Physics Impact Damage Scale
(physdamagescale)<float> - Multiplies damage received from physics impacts. 0 means the feature is disabled for backwards compatibility.
- Impact damage type
(Damagetype)<boolean> - If true (1), damage type is sharp and the object can slice others.
- Damaging it Doesn't Push It
(nodamageforces)<boolean> - Whether damaging the entity applies force to it.
- Scale Factor For Inertia
(inertiascale)<float> - Scales the angular mass of an object. Used to hack angular damage and collision response.
Confirm:Doesn't actually affect inertia?
- Mass Scale
(massscale)<float> - Multiplier for the object's mass.
- Override Parameters
(overridescript)<string> - A list of physics keyvalues that are usually embedded in the model. Format is
key,value,key,value,….
- Health Level to Override Motion
(damagetoenablemotion)<integer> - If specified, this object will start with motion disabled. Once its health has dropped below this specified amount, it will enable motion.
- Physics Impact Force to Override Motion
(forcetoenablemotion)<float> - If specified, this object will start motion disabled. Any impact that imparts a force greater than this value will enable motion.
GMODSandbox:
- Allow Physics Gun
(gmod_allowphysgun)<boolean> (only in
) - If set, players cannot use Physics Gun on this entity.
- Sandbox Tool Whitelist
(gmod_allowtools)<string> (only in
) - If set, only given tools can be used on this entity. You need to supply the tool class names, the names of the
.luafiles of those tools. This also includes the context menu properties!
BaseAnimating:
- Skin
(skin or ModelSkin<integer>
) - Some models have multiple skins. This value selects from the index, starting with 0.
- Collisions
(solid)<choices> - Method of collision for this entity.
- Body Group
(body or SetBodyGroup)<integer> !FGD - Sets the the active
$bodygroup.
- Model Index
(modelindex)<short> !FGD - Given the number index from dumping the
cl_precacheinfo modelprecachetable, sets entity model to the index.
Warning:If an entity has animations that will be played, then the set model also must have its own sequences, else the game crashes. - Model Scale
(modelscale)<float> (in all games since
) - A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.
Warning:Negative or extremely high values can cause crashes!
Note:Scale may not appear in
Hammer 4.x, but will appear in-game (tested in
). This is fixed in
Hammer++.
Animating
- Sequence
(sequence)<integer> !FGD - Default animation sequence for the model to be playing after spawning.
- Playback Rate
(playbackrate)<float> !FGD - A multiplier of the framerate at which animations are played, negative values are accepted. Default is 1.0.
- Texture Frame
(texframeindex)<integer> !FGD - The initial frame number for all animated textures on this entity.
Effects - Render
- Start Fade Distance
(fademindist)<float> - Distance at which the entity starts fading. If 0 or less, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a 3D Skybox.
- End Fade Distance
(fademaxdist)<float> - Distance at which the entity ends fading. If 0 or less, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox.
- Fade Scale
(fadescale)<float> - If specified in the
worldspawn, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also$noforcedfade.
- FX Amount/Transparency (0–255)
(renderamt)<integer> - Transparency amount, requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.
- Render Color (R G B)
(rendercolor)<color255> - Color tint.
- Render FX
(renderfx)<choices> - Various somewhat legacy alpha effects.
- 0: None
- 1: Slow Pulse (varies alpha by ±16 over a period of 1.5 s)
- 2: Fast Pulse (varies alpha by ±16 over a period of 0.4 s)
- 3: Slow Wide Pulse (varies alpha by ±64 over a period of 1.5 s)
- 4: Fast Wide Pulse (varies alpha by ±64 over a period of 0.4 s)
- 5: Slow Fade Away (decreases alpha by -1 per frame/(in all games since
) Fades out over 4 s) - 6: Fast Fade Away (decreases alpha by -4 per frame/(in all games since
) Fades out over 1 s) - 7: Slow Become Solid (increases alpha by +1 per frame/(in all games since
) Fades in over 4 s) - 8: Fast Become Solid (increases alpha by +4 per frame/(in all games since
) Fades in over 1 s) - 9: Slow Strobe (transparent 0.8 s, visible 0.8 s, repeat)
- 10: Fast Strobe (transparent 0.2 s, visible 0.2 s, repeat)
- 11: Faster Strobe (transparent 0.09 s, visible 0.09 s, repeat)
- 12: Slow Flicker (transparent 0.18 s, visible 1.5 s, repeat)
- 13: Fast Flicker (transparent 0.14 s, visible 0.2 s, repeat)
- 14: Constant Glow ("NoDissipation;" purpose uncertain—for sprites?) (not in
) - 15: Distort (causes unnatural flickering and position shifting)/(in all games since
) Fade Out (instant; not very useful outside of code) - 16: Hologram (Distort + "distance fade")/(in all games since
) Fade In (instant; not very useful outside of code) - 17: Scale Up ("Explode"/"scale up really big!" causes wild stretching of model parts) (in
)/Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s) (in all games since
)
Confirm:which branches/games is it available in, and where does it do what? - 18: Glow Shell (purpose unclear) (in all games since
) (not in
)
Confirm:what does this do? and which games is it in? - 19: Clamp Minimum Scale ("keep this sprite from getting very small (SPRITES only!)") (not in
) - 20: Environmental Rain ("for environmental rendermode, make rain") (in
) (not in
)
Confirm:which games? may be nonfunctional. - 21: Environmental Snow ("for environmental rendermode, make snow") (in
) (not in
)
Confirm:which games? may be nonfunctional. - 22: Spotlight FX ("TEST CODE for experimental spotlight") (in
) (not in
) - 23: Ragdoll ("HACKHACK: TEST CODE for signalling death of a ragdoll character;" ragdolls an entity but doesn't kill it) (in
) (not in
)
Confirm:which games? may be nonfunctional? - 24: Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s) (in
) (not in
) - 25:
kRenderFXMax/Fade Near (removed since
) (not in
)
Todo: what does this do? may be nonfunctional
- Render Mode
(rendermode)<choices> - Set a non-standard rendering mode on this entity.
Effects - Environment
- Disable Shadows
(disableshadows)<boolean> - Prevent the entity from creating cheap render-to-texture shadows. Does not affect shadow mapping.
- Disable Receiving Shadows
(disablereceiveshadows)<boolean> - Prevent the entity from receiving shadows on itself.
- Shadow Cast Distance
(shadowcastdist)<integer> - Sets how far the entity casts dynamic shadows. 0 means default distance from the
shadow_controlentity.
- Lighting Origin
(LightingOrigin)<targetname> - Select an entity (not
info_lighting!) from which to sample lighting instead of the entity's origin. Lighting Origin Offset(not in(LightingOriginHack)<targetname>
) !FGD 
- Deprecated. The
info_lighting_relativefrom which to sample lighting instead of the entity's origin. Use Lighting Origin instead. - Disable Flashlight
(disableflashlight)<boolean> (in all games since
) - Used to disable projected texture lighting and shadows on this entity. Identical to EF_NOFLASHLIGHT.
- Disable ShadowDepth
(disableshadowdepth)<boolean> (in all games since
) - Makes this entity not cast a shadow from
env_projectedtextureentities. Identical to EF_NOSHADOWDEPTH.
- Projected Texture Cache
(shadowdepthnocache)<choices> (in all games since
) - Used to hint projected texture system whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead. Identical to
EF_SHADOWDEPTH_NOCACHE.- 0: Default
- 1: No cache—render every frame
- 2: Cache it—render only once
Miscellaneous
- Glow Backface Multiple
(glowbackfacemult)<float> (only in
) !FGD - If this object has a glow effect, multiply the effect by this much on the sides of the object that are facing away from the viewer.
- Move Type
(MoveType)<choices> (in all games since
) !FGD - Sets a movetype for this entity, which changes its movement behavior.
- 0: None, don't move
- 1: Isometric
- 2: Walk, player only, moving on ground
- 3: NPC, movement
- 4: Fly, no gravity
- 5: Fly, with gravity
- 6: Physics
- 7: Push
- 8: Noclip
- 9: Ladder, for players on ladders
- 10: Spectator
- 11: Custom
- Collision Group
(CollisionGroup)<choices> (in all games since
) !FGD - Sets a collision group for this entity, which changes its collision behavior.
- 0: None
- 1: Debris, collides only with the world and static props
- 2: Debris, with trigger interaction
- 3: Interactive Debris, doesn't collide with other debris
- 4: Interactive, collides with everything except debris
- 5: Player
- 6: Breakable Glass
- 7: Vehicle
- 8: Player Movement
- 9: In-Vehicle
- 10: Weapon
- 11: Vehicle Clip
- 12: Projectile
- 13: Door blocker, not permitted to go near doors
- 14: Passable Door
- 15: Dissolving
- 16: Pushaway
- 17: NPC Actor, NPCs ignore the player
- 18: NPC Scripted, NPCs do not collide with each other
- No Animation Sounds
(SuppressAnimSounds)<boolean> (in all games since
) !FGD - Silences sounds linked to animations.DXLevelChoice:
- Minimum DX Level
(mindxlevel)<choices> (removed since
) - The entity will not exist if the engine is running outside the given range of DirectX Versions.
Warning:If these are used, the object may break when the user switches their DirectX settings.
- Maximum Effect Details Level
(maxcpulevel)<choices> (in all games since
) - Don't render for players with Effect Details levels that exceed the minimum or maximum.
- 0: Default ("Low" for
mincpulevel, "High" formaxcpulevel) - 1: Low
- 2: Medium
- 3: High
- 0: Default ("Low" for
cpu_level command, the command Effect Details uses.- Maximum Shader Details Level
(maxgpulevel)<choices> (in all games since
) - Don't render for players with Shader Details levels that exceed the minimum or maximum.
- 0: Default ("Low" for
mingpulevel, "Very High" formaxgpulevel) - 1: Low
- 2: Medium
- 3: High
- 4: Very High
- 0: Default ("Low" for
gpu_level command, the command Shader Details uses.Flags
BasePropPhysics:
- [
1] : Start Asleep
- [
2] : Don't take physics damage
- [
4] : Debris
Don't collide with the player or other debris.
- [
8] : Motion Disabled
Starts with motion disabled until sent EnableMotion.
- [
64] : Enable motion when grabbed by gravity gun
- [
128] : Not affected by rotor wash
- [
256] : Generate output on+use
- [
512] : Prevent pickup
- [
1024] : Prevent motion enable on player bump.
- [
4096] : Debris with trigger interaction.
- [
8192] : Force server-side
Multiplayer only; seesv_pushaway_clientside_size.
- [
1048576] : Gravity gun can ALWAYS pick up. No matter what.
BreakableProp:
- [
16] : Break on Touch
- [
32] : Break on Pressure
Inputs
Ignite- Ignite, burst into flames.
IgniteLifetime<float>Ignitewith the given lifetime.
Todo: Before the flames extinguish, or before health reaches zero?
IgniteNumHitboxFires<integer>Ignitewith the given number of hitbox fires.
IgniteHitboxFireScale<float>Ignitewith the given hitbox fire scale.
BasePropPhysics:
Sleep- Tell the prop to quit moving. Any physics forces (excluding gravity and water buoyancy) will cause the object to resume moving as usual. Sleeping also occurs automatically when the object has no physics forces to keep it awake, and when it is no longer moving a noticeable amount.
Wake- If the object was told to sleep, tell it to start moving again.
DisableMotion- Tell the object to stop moving completely. No physics forces will re-enable motion, not even
Wake.
EnableMotion- If the object's motion has been disabled entirely, tell it to resume movement as usual. This will also
Wakethe object, if it isSleeping.
DisableFloating- If the object would normally float when in water, tell it not to float. There seems to be no way to re-enable floating behavior, but programming a method to do this should be fairly simple (
CALLBACK_DO_FLUID_SIMULATION).
Outputs
BasePropPhysics:
OnMotionEnabled- Fired when motion has been enabled on the prop, either via the Health Level to Override Motion keyvalue or from the
EnableMotioninput.
OnAwakened- Fired when the prop has woken (force has been applied to it while it was asleep, or the
Wakeinput has been called).
OnOutOfWorld- Fired whenever the object is detected to be outside the world. Specifically, it checks if the object is outside of the world's bounding box or if the object is traveling at over 2000 units per second in any cardinal direction.
OnPlayerUse- Fired when the player has
+used the prop.
OnPhysGunDrop- Fired when the player has dropped the prop (from either
+useor the gravity gun).!activatoris the player.
OnPlayerPickup- Fired when the player has picked the prop up with
+useor the gravity gun (in Half-Life 2). OnPhysGunOnlyPickup- Fired when the player has picked the prop up with the gravity gun specifically.Model:
OnIgnite!FGD- Fired when the entity catches fire, such as from an
env_entity_igniteror theIgniteinputs.