1
0
KF2-Dev-Scripts/KFGameContent/Classes/KFProj_GrenadeShard.uc
2020-12-13 18:01:13 +03:00

91 lines
2.4 KiB
Ucode

//=============================================================================
// KFProj_GrenadeShard
//=============================================================================
// Grenade fragment projectie
//=============================================================================
// Killing Floor 2
// Copyright (C) 2015 Tripwire Interactive LLC
// John "Ramm-Jaeger" Gibson
//=============================================================================
class KFProj_GrenadeShard extends KFProj_RicochetBullet
hidedropdown;
simulated event HitWall(vector HitNormal, Actor Wall, PrimitiveComponent WallComp)
{
SetRotation(rotator(Normal(Velocity)));
SetPhysics(PHYS_Falling);
// check if we should do a bounce, otherwise stick
if( !Bounce(HitNormal, Wall) )
{
// Turn off the corona when it stops
if ( WorldInfo.NetMode != NM_DedicatedServer && ProjEffects!=None )
{
ProjEffects.DeactivateSystem();
}
Explode(Location, HitNormal);
ImpactedActor = None;
bBounce = false;
}
}
//==============
// Touching
// Overriden to get nails bouncing off of destructible meshes
simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNormal)
{
if ( Other != Instigator && !Other.bWorldGeometry && Other.bCanBeDamaged )
{
if ( Pawn(other) != None )
{
Super.ProcessTouch(Other, HitLocation, HitNormal);
}
else
{
ProcessDestructibleTouchOnBounce( Other, HitLocation, HitNormal );
}
}
else
{
Super.ProcessTouch(Other, HitLocation, HitNormal);;
}
}
simulated function Tick( float DeltaTime )
{
super.Tick(DeltaTime);
if ( WorldInfo.NetMode != NM_DedicatedServer && Physics != PHYS_None )
{
SetRotation(Rotator(Normal(Velocity)));
}
}
defaultproperties
{
MaxSpeed=4000.0
Speed=4000.0
Damage=50
DamageRadius=0
MyDamageType=class'KFDT_Piercing_NadeFragment'
MomentumTransfer=1.f
bSyncToOriginalLocation=True
bSyncToThirdPersonMuzzleLocation=false
bNoReplicationToInstigator=false
bReplicateClientHitsAsFragments=true
BouncesLeft=2
DampingFactor=0.65
RicochetEffects=KFImpactEffectInfo'WEP_MKII_ARCH.MKII_Shrapnel_Impacts'
ProjFlightTemplate=ParticleSystem'WEP_3P_MKII_EMIT.FX_MKII_Shrapnel'
ProjFlightTemplateZedTime=ParticleSystem'WEP_3P_MKII_EMIT.FX_MKII_Shrapnel_ZEDTime'
}