�������������������������� ���������� Exploder

 

�������������������������������������������������������������������������������������������������������������������������������������

 

 

 

What is an Exploder?

����������� An Exploder is a classname in a .hag file that allows the asset to have special properties

 

What are the special properties?

����������� An Exploder makes an asset swap to its destroyed state. It also lets you specify a sound effect to be played when the swap occurs, it let�s you add an impulse with a damage/radius, it can play special effects during the swap, and it can optionally play an animation. You can also give the asset a health.

 

Why would I want to use an Exploder?

����������� Exploders are one way to play effects and animations on a destroyed mesh that has been swapped in (Blowing things up).

 

An Exploder sounds complicated, isn�t that a lot of things to worry about?

����������� Set only what you need in an Exploder. You don�t have to play an animation, you don�t have to play a sound or an effect.

 

 

 

An Exploder Example:

//-------------------------------------------------------------------------------------------------------------------------

HAG

setup

{

����������� path models/common/manmade

����������� skelmodel assetName.gr2

}

 

init

{

����������� server

����������� {

����������������������� classname Exploder //make it an Exploder

����������������������� health 2�������������������� //amount of health before model swap

����������������������� playerbulletsonly����� //enemies cannot damage, also supports immune grenade, immune bullet, etc.

����������������������� removetime 15�������� //optional line, with DELETE asset after this many seconds

����������������������� explosioninfo 200 400 "effect.tik" "sound_alias_to_be_played"�� //damage radius effect sound

����������������������������������� ����������������������������������������������������������������������������������������������������������������������� �� //this effect plays on origin only

����������������������������������������������������������������������������������������������������������������������������������������������������������� �� //this effect is located in models/fx

����������� }

}

animations

{

����������� idle assetName.gr2

����������� {

����������������������� client

����������������������� {

����������������������� }

����������� }

 

����������� //this animation section is *optional*

����������� destroyed assetName.gr2 //special animation, played when ( object�s health <= 0 )

����������� {

����������������������� server

{

����������� entry commanddelay 1.5 force_explode //when health <= 0, wait 1.5 seconds then

�������������������������������������������������������������������������� //swap to destroyed renderable

}

����������������������� client

����������������������� {

����������������������������������� //add effects to be played on specific joints as in a normal .hag

����������������������� }

����������� }

}

//-------------------------------------------------------------------------------------------------------------------------

 

 

Notes:

����������� -An exploder will only swap states when it�s health runs out

����������� -None of the sounds, impulses, or special animations play until it�s health runs out

����������� -The health needs to be at least 1

����������� -removetime is optional, the line may be omitted from the .hag file

����������� -immune types are as follows:

 

����� "none",

����� "suicide",

����� "crush",

����� "crush_every_frame",

����� "telefrag",

����� "lava",

����� "slime",

����� "falling",

����� "last_self_inflicted",

����� "explosion",

����� "explodewall",

����� "electric",

����� "electricwater",

����� "thrownobject",

����� "grenade",

����� "beam",

����� "rocket",

����� "impact",

����� "bullet",

����� "fast_bullet",

����� "vehicle",

����� "fire",

����� "flashbang",

����� "on_fire",

����� "gib",

����� "impale",

����� "bash",

����� "shotgun",

����� "aagun",

����� "wounded_and_bleeding",

����� "bulletlarge"