rott/kf_sources/KFMod/Classes/KFGib.uc
2026-07-14 20:27:09 +07:00

49 lines
1.3 KiB
Ucode

// Spawns Trail on PostBeginPlay.
class KFGib extends Gib;
simulated function PostBeginPlay()
{
SpawnTrail();
}
simulated function HitWall( Vector HitNormal, Actor Wall )
{
local float Speed, MinSpeed;
Velocity = DampenFactor * ((Velocity dot HitNormal) * HitNormal*(-2.0) + Velocity);
RandSpin(100000);
Speed = VSize(Velocity);
if ( Level.DetailMode == DM_Low )
{
MinSpeed = 250;
LifeSpan = 8.0;
}
else
MinSpeed = 150;
if( (Level.NetMode != NM_DedicatedServer) && !Level.bDropDetail )
{
if ( GibGroupClass.default.BloodGibClass != None )
Spawn( GibGroupClass.default.BloodGibClass,,, Location, Rotator(-HitNormal) );
if ( (LifeSpan < 7.3) && (Level.DetailMode != DM_Low) )
PlaySound(HitSounds[Rand(2)]);
}
if( Speed < 20 )
{
if(!Level.bDropDetail && (Level.DetailMode != DM_Low) && GibGroupClass.default.BloodHitClass != None )
Spawn( GibGroupClass.default.BloodHitClass,,, Location, Rotator(-HitNormal) );
bBounce = False;
SetPhysics(PHYS_None);
}
}
defaultproperties
{
DampenFactor=0.400000
Mass=280.000000
// Infinite gibs? i think , yes
LifeSpan=8.0
}