func_breakable_surf

From Valve Developer Community

Revision as of 03:32, 20 January 2009 by VDCBot (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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 not glass/glasswindowbreak070b!)

See also

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>
FireUser1 to FireUser4
Fire the OnUser outputs; see User Inputs and Outputs.
  • RenderFields:

Color <color255>
Set the rendercolor.
Alpha <byte>
Set the renderamt.
  • 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:

OnUser1 to OnUser4
Fired in response to the FireUser inputs; 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.
Personal tools