namespace NeonSprawl.Server.Game.PositionState; /// Per-command movement sanity limits (NS-19). Bound from Game:MovementValidation. public sealed class MovementValidationOptions { /// When true, enforces . False (default) means no horizontal limit. public bool HorizontalStepEnabled { get; set; } /// Max horizontal displacement on X/Z in one move (meters). Inclusive at the limit. /// Only applied when is true. public double MaxHorizontalStep { get; set; } = 18.0; /// Max absolute delta on Y in one move (meters). Inclusive at the limit. public double MaxVerticalStep { get; set; } = 2.2; /// When true, target must lie inside the axis-aligned district box (inclusive min/max). 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; }