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 />
|
/// <inheritdoc />
|
||||||
[ViewVariables(VVAccess.ReadWrite)]
|
[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 />
|
/// <inheritdoc />
|
||||||
[ViewVariables(VVAccess.ReadWrite)]
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
public float GrabRange { get; set; } = 0.2f;
|
public float GrabRange { get; set; } = IMobMoverComponent.GrabRangeDefault;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Is the entity Sprinting (running)?
|
/// Is the entity Sprinting (running)?
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ namespace Content.Shared.GameObjects.Components.Movement
|
|||||||
{
|
{
|
||||||
public interface IMobMoverComponent : IComponent
|
public interface IMobMoverComponent : IComponent
|
||||||
{
|
{
|
||||||
|
const float GrabRangeDefault = 0.6f;
|
||||||
|
const float PushStrengthDefault = 600.0f;
|
||||||
|
const float WeightlessStrengthDefault = 0.4f;
|
||||||
|
|
||||||
EntityCoordinates LastPosition { get; set; }
|
EntityCoordinates LastPosition { get; set; }
|
||||||
|
|
||||||
public float StepSoundDistance { get; set; }
|
public float StepSoundDistance { get; set; }
|
||||||
@@ -13,5 +17,7 @@ namespace Content.Shared.GameObjects.Components.Movement
|
|||||||
float GrabRange { get; set; }
|
float GrabRange { get; set; }
|
||||||
|
|
||||||
float PushStrength { get; set; }
|
float PushStrength { get; set; }
|
||||||
|
|
||||||
|
float WeightlessStrength { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,9 +25,12 @@ namespace Content.Shared.GameObjects.Components.Movement
|
|||||||
|
|
||||||
private float _stepSoundDistance;
|
private float _stepSoundDistance;
|
||||||
[DataField("grabRange")]
|
[DataField("grabRange")]
|
||||||
private float _grabRange = 0.2f;
|
private float _grabRange = IMobMoverComponent.GrabRangeDefault;
|
||||||
[DataField("pushStrength")]
|
[DataField("pushStrength")]
|
||||||
private float _pushStrength = 0.4f;
|
private float _pushStrength = IMobMoverComponent.PushStrengthDefault;
|
||||||
|
|
||||||
|
[DataField("weightlessStrength")]
|
||||||
|
private float _weightlessStrength = IMobMoverComponent.WeightlessStrengthDefault;
|
||||||
|
|
||||||
[ViewVariables(VVAccess.ReadWrite)]
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
public EntityCoordinates LastPosition { get; set; }
|
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()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
@@ -86,7 +101,7 @@ namespace Content.Shared.GameObjects.Components.Movement
|
|||||||
|
|
||||||
public override ComponentState GetComponentState(ICommonSession session)
|
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)
|
public override void HandleComponentState(ComponentState? curState, ComponentState? nextState)
|
||||||
@@ -112,11 +127,13 @@ namespace Content.Shared.GameObjects.Components.Movement
|
|||||||
{
|
{
|
||||||
public float GrabRange;
|
public float GrabRange;
|
||||||
public float PushStrength;
|
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;
|
GrabRange = grabRange;
|
||||||
PushStrength = pushStrength;
|
PushStrength = pushStrength;
|
||||||
|
WeightlessStrength = weightlessStrength;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ namespace Content.Shared.Physics.Controllers
|
|||||||
|
|
||||||
if (weightless)
|
if (weightless)
|
||||||
{
|
{
|
||||||
total *= mobMover.PushStrength;
|
total *= mobMover.WeightlessStrength;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (total != Vector2.Zero)
|
if (total != Vector2.Zero)
|
||||||
|
|||||||
Reference in New Issue
Block a user