Fix pushing (#3574)
Forgot I had commandeered that property Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
This commit is contained in:
@@ -90,11 +90,14 @@ namespace Content.Server.GameObjects.Components.Movement
|
||||
|
||||
/// <inheritdoc />
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
public float PushStrength { get; set; } = 0.4f;
|
||||
public float PushStrength { get; set; } = IMobMoverComponent.PushStrengthDefault;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
public float WeightlessStrength { get; set; } = IMobMoverComponent.WeightlessStrengthDefault;
|
||||
|
||||
/// <inheritdoc />
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
public float GrabRange { get; set; } = 0.2f;
|
||||
public float GrabRange { get; set; } = IMobMoverComponent.GrabRangeDefault;
|
||||
|
||||
/// <summary>
|
||||
/// Is the entity Sprinting (running)?
|
||||
|
||||
@@ -6,6 +6,10 @@ namespace Content.Shared.GameObjects.Components.Movement
|
||||
{
|
||||
public interface IMobMoverComponent : IComponent
|
||||
{
|
||||
const float GrabRangeDefault = 0.6f;
|
||||
const float PushStrengthDefault = 600.0f;
|
||||
const float WeightlessStrengthDefault = 0.4f;
|
||||
|
||||
EntityCoordinates LastPosition { get; set; }
|
||||
|
||||
public float StepSoundDistance { get; set; }
|
||||
@@ -13,5 +17,7 @@ namespace Content.Shared.GameObjects.Components.Movement
|
||||
float GrabRange { get; set; }
|
||||
|
||||
float PushStrength { get; set; }
|
||||
|
||||
float WeightlessStrength { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,9 +25,12 @@ namespace Content.Shared.GameObjects.Components.Movement
|
||||
|
||||
private float _stepSoundDistance;
|
||||
[DataField("grabRange")]
|
||||
private float _grabRange = 0.2f;
|
||||
private float _grabRange = IMobMoverComponent.GrabRangeDefault;
|
||||
[DataField("pushStrength")]
|
||||
private float _pushStrength = 0.4f;
|
||||
private float _pushStrength = IMobMoverComponent.PushStrengthDefault;
|
||||
|
||||
[DataField("weightlessStrength")]
|
||||
private float _weightlessStrength = IMobMoverComponent.WeightlessStrengthDefault;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
public EntityCoordinates LastPosition { get; set; }
|
||||
@@ -70,6 +73,18 @@ namespace Content.Shared.GameObjects.Components.Movement
|
||||
}
|
||||
}
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
public float WeightlessStrength
|
||||
{
|
||||
get => _weightlessStrength;
|
||||
set
|
||||
{
|
||||
if (MathHelper.CloseTo(_weightlessStrength, value)) return;
|
||||
_weightlessStrength = value;
|
||||
Dirty();
|
||||
}
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
@@ -86,7 +101,7 @@ namespace Content.Shared.GameObjects.Components.Movement
|
||||
|
||||
public override ComponentState GetComponentState(ICommonSession session)
|
||||
{
|
||||
return new PlayerMobMoverComponentState(_grabRange, _pushStrength);
|
||||
return new PlayerMobMoverComponentState(_grabRange, _pushStrength, _weightlessStrength);
|
||||
}
|
||||
|
||||
public override void HandleComponentState(ComponentState? curState, ComponentState? nextState)
|
||||
@@ -112,11 +127,13 @@ namespace Content.Shared.GameObjects.Components.Movement
|
||||
{
|
||||
public float GrabRange;
|
||||
public float PushStrength;
|
||||
public float WeightlessStrength;
|
||||
|
||||
public PlayerMobMoverComponentState(float grabRange, float pushStrength) : base(ContentNetIDs.PLAYER_MOB_MOVER)
|
||||
public PlayerMobMoverComponentState(float grabRange, float pushStrength, float weightlessStrength) : base(ContentNetIDs.PLAYER_MOB_MOVER)
|
||||
{
|
||||
GrabRange = grabRange;
|
||||
PushStrength = pushStrength;
|
||||
WeightlessStrength = weightlessStrength;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ namespace Content.Shared.Physics.Controllers
|
||||
|
||||
if (weightless)
|
||||
{
|
||||
total *= mobMover.PushStrength;
|
||||
total *= mobMover.WeightlessStrength;
|
||||
}
|
||||
|
||||
if (total != Vector2.Zero)
|
||||
|
||||
Reference in New Issue
Block a user