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

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'
}