Fix pushing (#3574)

Forgot I had commandeered that property

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
This commit is contained in:
metalgearsloth
2021-03-08 12:48:15 +11:00
committed by GitHub
parent beca183ab4
commit 9cbf863e18
4 changed files with 33 additions and 7 deletions

View File

@@ -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)?

View File

@@ -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; }
}
}

View File

@@ -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;
}
}
}

View File

@@ -85,7 +85,7 @@ namespace Content.Shared.Physics.Controllers
if (weightless)
{
total *= mobMover.PushStrength;
total *= mobMover.WeightlessStrength;
}
if (total != Vector2.Zero)