35 lines
884 B
Plaintext
35 lines
884 B
Plaintext
#include common_scripts\utility;
|
|
|
|
global_FX( targetname, fxFile, delay, fxName, soundalias )
|
|
{
|
|
// script_structs
|
|
ents = getstructarray( targetname, "targetname" );
|
|
if ( ents.size <= 0 )
|
|
return;
|
|
|
|
if ( ! IsDefined( delay ) )
|
|
delay = RandomFloatRange( -20, -15 );
|
|
|
|
if ( !IsDefined( fxName ) )
|
|
fxName = fxFile;
|
|
|
|
foreach ( fxEnt in ents )
|
|
{
|
|
if ( !IsDefined( level._effect ) )
|
|
level._effect = [];
|
|
if ( !IsDefined( level._effect[ fxName ] ) )
|
|
level._effect[ fxName ] = LoadFX( fxFile );
|
|
|
|
// default effect angles if they dont exist
|
|
if ( !IsDefined( fxEnt.angles ) )
|
|
fxEnt.angles = ( 0, 0, 0 );
|
|
|
|
ent = createOneshotEffect( fxName );
|
|
ent.v[ "origin" ] = ( fxEnt.origin );
|
|
ent.v[ "angles" ] = ( fxEnt.angles );
|
|
ent.v[ "fxid" ] = fxName;
|
|
ent.v[ "delay" ] = delay;
|
|
if ( IsDefined( soundalias ) )
|
|
ent.v[ "soundalias" ] = soundalias;
|
|
}
|
|
} |