26 lines
1.2 KiB
C#
26 lines
1.2 KiB
C#
namespace NeonSprawl.Server.Game.PositionState;
|
|
|
|
/// <summary>Per-command movement sanity limits (NS-19). Bound from <c>Game:MovementValidation</c>.</summary>
|
|
public sealed class MovementValidationOptions
|
|
{
|
|
/// <summary>When true, enforces <see cref="MaxHorizontalStep"/>. False (default) means no horizontal limit.</summary>
|
|
public bool HorizontalStepEnabled { get; set; }
|
|
|
|
/// <summary>Max horizontal displacement on X/Z in one move (meters). Inclusive at the limit.
|
|
/// Only applied when <see cref="HorizontalStepEnabled"/> is true.</summary>
|
|
public double MaxHorizontalStep { get; set; } = 18.0;
|
|
|
|
/// <summary>Max absolute delta on Y in one move (meters). Inclusive at the limit.</summary>
|
|
public double MaxVerticalStep { get; set; } = 2.2;
|
|
|
|
/// <summary>When true, target must lie inside the axis-aligned district box (inclusive min/max).</summary>
|
|
public bool DistrictBoundsEnabled { get; set; }
|
|
|
|
public double DistrictMinX { get; set; } = -12.0;
|
|
public double DistrictMaxX { get; set; } = 12.0;
|
|
public double DistrictMinY { get; set; } = -2.0;
|
|
public double DistrictMaxY { get; set; } = 24.0;
|
|
public double DistrictMinZ { get; set; } = -12.0;
|
|
public double DistrictMaxZ { get; set; } = 12.0;
|
|
}
|