From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Mon, 1 Dec 2025 01:23:04 +0000 (+0100) Subject: fix rcd overlay getting stuck for borg modules (#41648) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=61c58a6341821f8d8b988da1899a5e5c0726a1ae;p=space-station-14.git fix rcd overlay getting stuck for borg modules (#41648) fix rcd overlay getting stuck --- diff --git a/Content.Client/RCD/RCDConstructionGhostSystem.cs b/Content.Client/RCD/RCDConstructionGhostSystem.cs index fcbe3aece7..d0af28da8a 100644 --- a/Content.Client/RCD/RCDConstructionGhostSystem.cs +++ b/Content.Client/RCD/RCDConstructionGhostSystem.cs @@ -20,7 +20,7 @@ public sealed class RCDConstructionGhostSystem : EntitySystem [Dependency] private readonly IPlacementManager _placementManager = default!; [Dependency] private readonly IPrototypeManager _protoManager = default!; [Dependency] private readonly HandsSystem _hands = default!; - + private Direction _placementDirection = default; public override void Update(float frameTime) @@ -42,6 +42,11 @@ public sealed class RCDConstructionGhostSystem : EntitySystem var heldEntity = _hands.GetActiveItem(player); + // Don't open the placement overlay for client-side RCDs. + // This may happen when predictively spawning one in your hands. + if (heldEntity != null && IsClientSide(heldEntity.Value)) + return; + if (!TryComp(heldEntity, out var rcd)) { // If the player was holding an RCD, but is no longer, cancel placement @@ -69,7 +74,7 @@ public sealed class RCDConstructionGhostSystem : EntitySystem MobUid = heldEntity.Value, PlacementOption = PlacementMode, EntityType = prototype.Prototype, - Range = (int) Math.Ceiling(SharedInteractionSystem.InteractionRange), + Range = (int)Math.Ceiling(SharedInteractionSystem.InteractionRange), IsTile = (prototype.Mode == RcdMode.ConstructTile), UseEditorContext = false, };