func_breakable_surf
From Valve Developer Community
This is a brush entity available in all Source games.
Contents |
Description
A brush entity that defines a breakable surface, for partially breakable glass / tile / etc. All faces but the desired visible one must be marked as tools/toolsnodraw and that face must have exactly four sides. The material applied to the visible face must be set up to be breakable.
Textures
The following standard textures are meant to work with this entity:
-
glass/glasswindowbreak070a(but notglass/glasswindowbreak070b!)
See also
- func_breakable
- Breakable Glass - How to create breakable glass.
- Glass that starts out broken - Making glass start out broken.
Keyvalues
-
BreakableBrush:
- Prop Data
<choices> - Set to the best approximation of the size and material of this entity's brushes. If set, this will override Strength and Material Type. See prop_data base types for what each entry specifies.
- None
- Wooden.Tiny
- Wooden.Small
- Wooden.Medium
- Wooden.Large
- Wooden.Huge
- Metal.Small
- Metal.Medium
- Metal.Large
- Cardboard.Small
- Cardboard.Medium
- Cardboard.Large
- Stone.Small
- Stone.Medium
- Stone.Large
- Stone.Huge
- Glass.Small
- Plastic.Small
- Plastic.Medium
- Plastic.Large
- Pottery.Small
- Pottery.Medium
- Pottery.Large
- Pottery.Huge
- Glass.Window
- Strength
<int> - The damage to take before breaking. The brush will not break from damage if this is 0.
- Material Type
<choices> - Decides what sounds to make when damaged, and what gibs to produce when broken.
- Glass
- Wood
- Metal
- Flesh
- CinderBlock
- Ceiling Tile
- Computer
- Unbreakable Glass
- Rocks
- Gibs Direction
<choices> - Which direction to throw gibs in when broken.
- Random
- Relative to Attack
- Use Precise Gib Dir
- Precise Gib Direction
<Angle> - An exact direction in which to throw gibs when breaking. Be sure to select "Use Precise Gib Dir" in Gibs Direction!
- Damaging it Doesn't Push It
<bool> - When enabled the brush will move in response to damage.
- Spawn On Break
<choices> - When broken, an entity of the selected type will be created.
- item_battery
- item_healthkit
- item_ammo_pistol
- item_ammo_pistol_large
- item_ammo_smg1
- item_ammo_smg1_large
- item_ammo_ar2
- item_ammo_ar2_large
- item_box_buckshot
- item_smg1_grenade
- item_box_sniper_rounds
- weapon_stunstick
- weapon_ar2
- weapon_smg1
- weapon_slam
- weapon_shotgun
- item_dynamic_resupply
- Explode Magnitude
<int> - If non-zero, when this entity breaks it will create an explosion that causes the specified amount of damage.
Confirm: Damage radius is proportional to magnitude.
- Pressure Delay
<float> - A delay, in seconds, that the prop will wait between reaching 0 health and breaking. Allows for pressure/straining sound to play.
Global:
- Global Entity Name
<string> - Name by which this entity is linked to another entity in a different map. When the player transitions to a new map, entities in the new map with global names matching entities in the previous map will have the previous map's state copied over to them.
Parentname:
- Parent
<targetname> - Specifies the targetname of this entity's movement parent. Entities with parents move with their parent.
Breakable:
- Explosion Damage
<float> - Explosion Radius
<float> - If both values are non-zero, when the entity breaks it will create an explosion causing the specified amount of damage over the specified radius.
- Performance Mode
<choices> - Used to limit the amount of gibs produced when this entity breaks, for performance reasons.
- Normal
- Limit Gibs
- Full Gibs on All Platforms
DamageFilter:
- Damage Filter
<targetname> - Name of the filter_damage_type that controls what damages this entity.
Shadow:
- Disable shadows
<bool> - Prevent the entity from creating cheap render-to-texture shadows. Does not affect shadow mapping.
Targetname:
- Name <string>
- The targetname other entities refer to this entity by.
- fragility
- <integer> If surfacetype is set to "Glass", this value sets how fragile the glass pieces are after the surface has been broken.
- surfacetype
- <choices>
Literal Value Description 0 Glass 1 Tile
Inputs
Targetname:
-
Kill - Removes this entity from the world.
-
KillHierarchy - Removes this entity and all its children from the world.
-
AddOutput <string> - Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
- Format:
<key> <value> - Format:
<output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite> -
FireUser1toFireUser4 - Fire the
OnUseroutputs; see User Inputs and Outputs.
RenderFields:
Parentname:
-
SetParent <targetname> - Move with this entity. See Entity Hierarchy (parenting).
-
SetParentAttachment <string> - Attach to a named attachment on the current parent. The entity will teleport so that the position of its root bone matches that of the attachment.
-
SetParentAttachmentMaintainOffset <string> - As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
-
ClearParent - Removes this entity from its current movement hierarchy.
DamageFilter:
-
SetDamageFilter <targetname> - Sets the entity to use as damage filter. Pass an empty string ("") to clear.
Shadow:
- EnableShadow
- DisableShadow
- Control the entity's cheap render-to-texture shadow. Does not affect shadow mapping.
- Break
- Breaks the breakable completely. This will make the entity act like a normal func_breakable. If you wish to maintain the shattering behaviour/appearance, consider using the Shatter input below with a large radius value.
- SetHealth <integer>
- Sets a new value for the breakable's health. If the breakable's health reaches zero it will break.
- AddHealth <integer>
- Adds health to the breakable. If the breakable's health reaches zero it will break.
- RemoveHealth <integer>
- Removes health from the breakable. If the breakable's health reaches zero it will break.
- EnablePhyscannonPickup
- Makes the breakable able to picked up by the physcannon.
- DisablePhyscannonPickup
- Makes the breakable not able to picked up by the physcannon.
- EnableDamageForces
- Damaging the entity applies physics forces to it.
- DisableDamageForces
- Damaging the entity does not apply physics forces to it.
- Shatter <vector>
- Shatter the window. The input parameter, which must be provided, is a vector. The first two coordinates are the X,Y center of the shattering (as values from from 0-1). The third coordinate is the radius of the shatter, in inches. The format is simply x y z.
Outputs
Targetname:
-
OnUser1toOnUser4 - Fired in response to the
FireUserinputs; see User Inputs and Outputs. -
OnKilled(New with Left 4 Dead) - Fired when the entity is killed and removed from the game.
- OnBreak
- Fired when this breakable breaks. (activator is the breaker)
- OnHealthChanged <float>
- Fired when the health of this breakable changes, passing the new value of health as a percentage of max health, from [0..1].
- OnPhysCannonDetach
- Fired when the physcannon has ripped this breakable off of the wall. Only fired if ACT_PHYSCANNON_DETACH is defined in the model this breakable is using.
