57 lines
1.8 KiB
Ucode
57 lines
1.8 KiB
Ucode
//=============================================================================
|
|
// KFProj_Flame_HRGIncendiaryRifle
|
|
//=============================================================================
|
|
// Projectile class for the residual flames from the rifle's grenade.
|
|
// It behaves like the molotov residual flames.
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2019 Tripwire Interactive LLC
|
|
// - Tulio Beloqui (Saber Interactive)
|
|
//=============================================================================
|
|
|
|
class KFProj_Flame_HRGIncendiaryRifle extends KFProj_MolotovSplash;
|
|
|
|
/** Overridden to adjust particle system for different surface orientations (wall, ceiling)
|
|
* and nudge location
|
|
*/
|
|
simulated protected function PrepareExplosionActor(GameExplosionActor GEA)
|
|
{
|
|
local KFExplosion_HRGIncendiaryRifleGroundFire KFEM;
|
|
local vector ExplosionDir;
|
|
|
|
super.PrepareExplosionActor( GEA );
|
|
|
|
// KFProjectile::Explode gives GEA a "nudged" location of 32 units, but it's too much, so use a smaller nudge
|
|
GEA.SetLocation( Location + vector(GEA.Rotation) * 10 );
|
|
|
|
KFEM = KFExplosion_HRGIncendiaryRifleGroundFire( GEA );
|
|
if( KFEM != none )
|
|
{
|
|
ExplosionDir = vector( KFEM.Rotation );
|
|
|
|
if( ExplosionDir.Z < -0.95 )
|
|
{
|
|
// ceiling
|
|
KFEM.LoopingParticleEffect = KFEM.default.LoopingParticleEffectCeiling;
|
|
}
|
|
else if( ExplosionDir.Z < 0.05 )
|
|
{
|
|
// wall
|
|
KFEM.LoopingParticleEffect = KFEM.default.LoopingParticleEffectWall;
|
|
}
|
|
// else floor
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
Begin Object Name=ExploTemplate0
|
|
Damage=4
|
|
MomentumTransferScale=1
|
|
MyDamageType=class'KFDT_Fire_Ground_HRGIncendiaryRifle'
|
|
End Object
|
|
|
|
ExplosionActorClass=class'KFExplosion_HRGIncendiaryRifleGroundFire'
|
|
}
|
|
|