void |
SetUpImpactEmitter(Sound S)
{
local Material M;
local actor A;
local vector HitLoc, HitNorm;
local ImpactEmitter B;
if ( Level.NetMode == NM_DedicatedServer )
return;
A = Trace(HitLoc, HitNorm, Location - Normal * 50, Location + Normal, false, vect(0,0,0), M);
if ( Wall.bWorldGeometry || (Mover(Wall) != none) || (StaticMeshActor(Wall) != none) )
{
if ( (M != none) && (M.HitSound != none) )
SetUpImpactEmitter(M.HitSound);
else if ( TerrainInfo(Wall) != none )
SetUpImpactEmitter(TerrainInfo(Wall).HitSound);
if ( ImpactEmitterMem != none )
{
B = Spawn(ImpactEmitterMem,,, HitLoc+HitNorm, Rotator(HitNorm));
if ( (B != none) && (HitSoundType >= 0) )
{
if ( (M != none) && (M.HitSound != none) )
B.PlaySound(M.HitSound, HitSoundType);
else if ( TerrainInfo(Wall) != none )
B.PlaySound(TerrainInfo(Wall).HitSound, HitSoundType);
}
}
}
}*/ |