Grappling gun's ReelRate can be changed (#30493)

* Grappling gun ReelRate can be changed

Moves ReelRate constant from SharedGrapplingGunSystem to GrapplingGunComponent, so it's Reel speed can be changed.

* Add coment + remove redudant
This commit is contained in:
Roudenn
2024-07-30 17:26:18 +03:00
committed by GitHub
parent 0fddee233d
commit f501bd500c
2 changed files with 7 additions and 3 deletions

View File

@@ -31,8 +31,6 @@ public abstract class SharedGrapplingGunSystem : EntitySystem
public const string GrapplingJoint = "grappling";
public const float ReelRate = 2.5f;
public override void Initialize()
{
base.Initialize();
@@ -187,7 +185,7 @@ public abstract class SharedGrapplingGunSystem : EntitySystem
}
// TODO: This should be on engine.
distance.MaxLength = MathF.Max(distance.MinLength, distance.MaxLength - ReelRate * frameTime);
distance.MaxLength = MathF.Max(distance.MinLength, distance.MaxLength - grappling.ReelRate * frameTime);
distance.Length = MathF.Min(distance.MaxLength, distance.Length);
_physics.WakeBody(joint.BodyAUid);

View File

@@ -8,6 +8,12 @@ namespace Content.Shared.Weapons.Ranged.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class GrapplingGunComponent : Component
{
/// <summary>
/// Hook's reeling force and speed - the higher the number, the faster the hook rewinds.
/// </summary>
[DataField, AutoNetworkedField]
public float ReelRate = 2.5f;
[DataField("jointId"), AutoNetworkedField]
public string Joint = string.Empty;