kakozuzo/Code/swb_base/Weapon.Extra.cs

54 lines
1.0 KiB
C#
Raw Permalink Normal View History

2024-10-30 19:01:58 +03:00
namespace SWB.Base;
public partial class Weapon
{
// Burst Fire
public void ResetBurstFireCount( ShootInfo shootInfo, string inputButton )
{
if ( shootInfo is null || shootInfo.FiringType != FiringType.burst ) return;
if ( Input.Released( inputButton ) )
{
burstCount = 0;
}
}
// Barrel heat
public void BarrelHeatCheck()
{
if ( TimeSincePrimaryShoot > 3 && TimeSinceSecondaryShoot > 0 )
{
barrelHeat = 0;
}
}
// Tucking
public virtual float GetTuckDist()
{
if ( TuckRange == -1 )
return -1;
if ( !Owner.IsValid ) return -1;
var pos = Owner.Camera.GameObject.WorldPosition;
var forward = Owner.Camera.GameObject.WorldRotation.Forward;
var trace = TraceBullet( Owner.Camera.GameObject.WorldPosition, pos + forward * TuckRange );
if ( !trace.Hit )
return -1;
return trace.Distance;
}
// public bool ShouldTuck()
// {
// return GetTuckDist() != -1;
// }
//
// public bool ShouldTuck( out float dist )
// {
// dist = GetTuckDist();
// return dist != -1;
// }
}