Nuclide
Software Development Kit for id Tech
func_breakable Class Reference

Server-Entity: Breakable Brush Model. More...

Inheritance diagram for func_breakable:
NSSurfacePropEntity func_pushable

Public Member Functions

void func_breakable (void)
 
virtual void Save (float)
 Handles saving a copy of this entity to a given filehandle. More...
 
virtual void Restore (string, string)
 Similar to NSIO::SpawnKey but for save-game fields. More...
 
virtual void SpawnKey (string, string)
 This method handles entity key/value pairs on map load. More...
 
virtual void Spawned (void)
 Called when the entity is fulled initialized. More...
 
virtual void Respawn (void)
 Server: Called when the entity first spawns or when game-logic requests the entity to return to its original spawn state. More...
 
virtual void Pain (entity, entity, int, vector, int)
 Called whenever the entity receives damage. More...
 
virtual void Death (entity, entity, int, vector, int)
 Called when the health is equal or below 0. More...
 
virtual void Trigger (entity, triggermode_t)
 Called whenever we're legacy triggered by another object or function. More...
 
virtual void Explode (void)
 
virtual void Touch (entity)
 Called whenever we're touching another entity. More...
 

Detailed Description

Server-Entity: Breakable Brush Model.

QUAKED func_breakable (0 .5 .8) ? SF_TRIGGER SF_TOUCH SF_PRESSURE

OVERVIEW

Brush volume that can break into lots of little pieces.

KEYS

  • "targetname" : Name
  • "target" : Target when triggered.
  • "killtarget" : Target to kill when triggered.
  • "health" : Health of the entity.
  • "material" : Material it's made of (See material-list below).
  • "delay" : Delay in seconds of when it breaks under pressure.
  • "explodemagnitude" : Strength of the explosion.

SPAWNFLAGS

  • SF_TRIGGER (1) : Breakable is invincible and has to be triggered in order to break.
  • SF_TOUCH (2) : Break when an entity collides into it at high speed (damage is speed in units * 0.01).
  • SF_PRESSURE (4) : Initiate break once someone is standing on top of it.

NOTES

The strength of the explosion decides the radius (magnitude * 2.5) and the maximum damage the explosion will do in the center. It has a linear fall-off.

Material-list:

  • 0 : Glass
  • 1 : Wood
  • 2 : Metal
  • 3 : Flesh
  • 4 : Cinder
  • 5 : Tile
  • 6 ; Computer
  • 7 : Glass (Unbreakable)
  • 8 : Rock
  • 9 : None

TRIVIA

This entity was introduced in Half-Life (1998).

Constructor & Destructor Documentation

◆ func_breakable()

void func_breakable::func_breakable ( void  )

Member Function Documentation

◆ Death()

void func_breakable::Death ( entity  inflictor,
entity  attacker,
int  damage,
vector  dir,
int  location 
)
virtual

Called when the health is equal or below 0.

Reimplemented from NSSurfacePropEntity.

◆ Explode()

void func_breakable::Explode ( void  )
virtual

◆ Pain()

void func_breakable::Pain ( entity  inflictor,
entity  attacker,
int  damage,
vector  dir,
int  location 
)
virtual

Called whenever the entity receives damage.

Reimplemented from NSSurfacePropEntity.

◆ Respawn()

void func_breakable::Respawn ( void  )
virtual

Server: Called when the entity first spawns or when game-logic requests the entity to return to its original spawn state.

Reimplemented from NSSurfacePropEntity.

Reimplemented in func_pushable.

◆ Restore()

void func_breakable::Restore ( string  strKey,
string  strValue 
)
virtual

Similar to NSIO::SpawnKey but for save-game fields.

Whatever you write into file handles within your NSIO::Save() method needs to be read back in here.

Reimplemented from NSSurfacePropEntity.

Reimplemented in func_pushable.

◆ Save()

void func_breakable::Save ( float  handle)
virtual

Handles saving a copy of this entity to a given filehandle.

Within you want to use the NSIO::SaveFloat() etc. methods to write the internal member attributes to the specified file handle.

Reimplemented from NSSurfacePropEntity.

Reimplemented in func_pushable.

◆ Spawned()

void func_breakable::Spawned ( void  )
virtual

Called when the entity is fulled initialized.

Any spawn key/value info pairs have already been dealt with. So now we can make full decisions on the entity. Always make sure to call super::Spawned(); inside your method when overriding.

Reimplemented from NSSurfacePropEntity.

Reimplemented in func_pushable.

◆ SpawnKey()

void func_breakable::SpawnKey ( string  strKey,
string  strValue 
)
virtual

This method handles entity key/value pairs on map load.

You can easily convert the strValue parameter using the ReadFloat etc. methods that are part of NSIO.

Reimplemented from NSSurfacePropEntity.

Reimplemented in func_pushable.

◆ Touch()

void func_breakable::Touch ( entity  eToucher)
virtual

Called whenever we're touching another entity.

Reimplemented from NSTrigger.

Reimplemented in func_pushable.

◆ Trigger()

void func_breakable::Trigger ( entity  act,
triggermode_t  state 
)
virtual

Called whenever we're legacy triggered by another object or function.

Reimplemented from NSTrigger.


The documentation for this class was generated from the following file: