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

87 lines
2.5 KiB
Ucode

//=============================================================================
// KFProj_Bullet_DragonsBreath
//=============================================================================
// Shotgun pellet class for the the Mossberg 500
//=============================================================================
// Killing Floor 2
// Copyright (C) 2015 Tripwire Interactive LLC
//=============================================================================
class KFProj_Bullet_DragonsBreath extends KFProj_Bullet
hidedropdown;
/** Last hit normal from Touch() or HitWall() */
var vector LastHitNormal;
var float GroundFireChance;
simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNormal)
{
LastHitNormal = HitNormal;
Super.ProcessTouch(Other, HitLocation, HitNormal);
}
/**
* Explode this Projectile
*/
simulated function TriggerExplosion(Vector HitLocation, Vector HitNormal, Actor HitActor)
{
LastHitNormal = HitNormal;
Super.TriggerExplosion(HitLocation, HitNormal, HitActor);
}
simulated protected function StopSimulating()
{
local vector FlameSpawnVel;
if (Role == ROLE_Authority && Physics == PHYS_Falling && FRand() < GroundFireChance)
{
//SpawnGroundFire();
FlameSpawnVel = 0.25f * CalculateResidualFlameVelocity(LastHitNormal, Normal(Velocity), VSize(Velocity));
SpawnResidualFlame(class'KFProj_DragonsBreathSplash', Location + (LastHitNormal * 10.f), FlameSpawnVel);
}
super.StopSimulating();
}
defaultproperties
{
GroundFireChance=1.f
Physics=PHYS_Falling
MaxSpeed=7000.0
Speed=7000.0
TerminalVelocity=7000.0
bWarnAIWhenFired=true
DamageRadius=0
GravityScale=0.35
TossZ=0
Begin Object Class=PointLightComponent Name=PointLight0
LightColor=(R=252,G=218,B=171,A=255)
Brightness=0.5f
Radius=500.f
FalloffExponent=10.f
CastShadows=False
CastStaticShadows=FALSE
CastDynamicShadows=False
bCastPerObjectShadows=false
bEnabled=true
LightingChannels=(Indoor=TRUE,Outdoor=TRUE,bInitialized=TRUE)
End Object
ProjFlightLight=PointLight0
ImpactEffects=KFImpactEffectInfo'WEP_DragonsBreath_ARCH.DragonsBreath_bullet_impact'
ProjFlightTemplate=ParticleSystem'WEP_DragonsBreath_EMIT.Tracer.FX_DragonsBreath_Tracer'
ProjFlightTemplateZedTime=ParticleSystem'WEP_DragonsBreath_EMIT.Tracer.FX_DragonsBreath_Tracer_ZEDTime'
AmbientSoundPlayEvent=AkEvent'WW_WEP_SA_DragonsBreath.Play_SA_DragonsBreath_Projectile_Loop'
AmbientSoundStopEvent=AkEvent'WW_WEP_SA_DragonsBreath.Stop_SA_DragonsBreath_Projectile_Loop'
}