* The real movement refactor * ref events * Jetpack cleanup * a * Vehicles partially working * Balance tweaks * Restore some shitcode * AAAAAAAA * Even more prediction * ECS compstate trying to fix this * yml * vehicles kill me * Don't lock keys * a * Fix problem * Fix sounds * shuttle inputs * Shuttle controls * space brakes * Keybinds * Fix merge * Handle shutdown * Fix keys * Bump friction * fix buckle offset * Fix relay and friction * Fix jetpack turning * contexts amirite
60 lines
1.7 KiB
C#
60 lines
1.7 KiB
C#
using Robust.Shared.GameStates;
|
|
using Robust.Shared.Map;
|
|
|
|
namespace Content.Shared.Movement.Components
|
|
{
|
|
/// <summary>
|
|
/// Has additional movement data such as footsteps and weightless grab range for an entity.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
[NetworkedComponent()]
|
|
public sealed class MobMoverComponent : Component
|
|
{
|
|
private float _stepSoundDistance;
|
|
[DataField("grabRange")] public float GrabRange = 1.0f;
|
|
|
|
[DataField("pushStrength")] public float PushStrength = 600f;
|
|
|
|
[ViewVariables(VVAccess.ReadWrite)]
|
|
public EntityCoordinates LastPosition { get; set; }
|
|
|
|
/// <summary>
|
|
/// Used to keep track of how far we have moved before playing a step sound
|
|
/// </summary>
|
|
[ViewVariables(VVAccess.ReadWrite)]
|
|
public float StepSoundDistance
|
|
{
|
|
get => _stepSoundDistance;
|
|
set
|
|
{
|
|
if (MathHelper.CloseToPercent(_stepSoundDistance, value)) return;
|
|
_stepSoundDistance = value;
|
|
}
|
|
}
|
|
|
|
[ViewVariables(VVAccess.ReadWrite)]
|
|
public float GrabRangeVV
|
|
{
|
|
get => GrabRange;
|
|
set
|
|
{
|
|
if (MathHelper.CloseToPercent(GrabRange, value)) return;
|
|
GrabRange = value;
|
|
Dirty();
|
|
}
|
|
}
|
|
|
|
[ViewVariables(VVAccess.ReadWrite)]
|
|
public float PushStrengthVV
|
|
{
|
|
get => PushStrength;
|
|
set
|
|
{
|
|
if (MathHelper.CloseToPercent(PushStrength, value)) return;
|
|
PushStrength = value;
|
|
Dirty();
|
|
}
|
|
}
|
|
}
|
|
}
|