From 68bcc0b52bfee0df3a301179a9ea11d3a04481fc Mon Sep 17 00:00:00 2001 From: dng-cher Date: Fri, 11 Sep 2026 18:03:47 +0500 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=BE=D1=82=D0=B0=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=88=D0=B0=D1=82=D1=82=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_Sunrise/GridDock/GridDockSystem.cs | 12 +++++++---- .../SpawnGridAndDockToStationComponent.cs | 20 +++++++++++++++++-- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/Content.Server/_Sunrise/GridDock/GridDockSystem.cs b/Content.Server/_Sunrise/GridDock/GridDockSystem.cs index 010c3eb1221..d76d3da035a 100644 --- a/Content.Server/_Sunrise/GridDock/GridDockSystem.cs +++ b/Content.Server/_Sunrise/GridDock/GridDockSystem.cs @@ -9,6 +9,7 @@ using Robust.Shared.EntitySerialization.Systems; using Robust.Shared.Map; using Robust.Shared.Map.Components; +using Robust.Shared.Random; // Lust-add namespace Content.Server._Sunrise.GridDock; @@ -19,6 +20,7 @@ public sealed class GridDockSystem : EntitySystem [Dependency] private readonly StationSystem _station = default!; [Dependency] private readonly DockingSystem _dockSystem = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly IRobustRandom _random = default!; // Lust-add public override void Initialize() { @@ -48,10 +50,12 @@ private void OnStationPostInit(EntityUid uid, SpawnGridAndDockToStationComponent var usedGridDocks = new HashSet(); foreach (var entry in component.Grids) { - if (!_loader.TryLoadGrid(xformMap.MapID, - entry.GridPath, - out var rootUid)) - continue; + // Lust-start + var path = entry.PickPath(_random); + + if (!_loader.TryLoadGrid(xformMap.MapID, path, out var rootUid)) + continue; + // Lust-end var grid = Comp(rootUid.Value.Owner); var width = grid.LocalAABB.Width; diff --git a/Content.Server/_Sunrise/GridDock/SpawnGridAndDockToStationComponent.cs b/Content.Server/_Sunrise/GridDock/SpawnGridAndDockToStationComponent.cs index e213f5cd8f3..24ebe105373 100644 --- a/Content.Server/_Sunrise/GridDock/SpawnGridAndDockToStationComponent.cs +++ b/Content.Server/_Sunrise/GridDock/SpawnGridAndDockToStationComponent.cs @@ -1,4 +1,5 @@ using Robust.Shared.Utility; +using Robust.Shared.Random; // Lust-add namespace Content.Server._Sunrise.GridDock; @@ -12,9 +13,24 @@ public sealed partial class SpawnGridAndDockToStationComponent : Component [DataDefinition] public sealed partial class GridDockEntry { - [DataField(required: true)] - public ResPath GridPath; + // Lust-start + [DataField] + public ResPath? GridPath; + + [DataField] + public List GridPaths = new(); + // Lust-end [DataField(required: true)] public string PriorityTag; + + // Lust-start + public ResPath PickPath(IRobustRandom random) + { + if (GridPaths.Count > 0) + return random.Pick(GridPaths); + + return GridPath ?? ResPath.Empty; + } + // Lust-end }