Fix shouldn't break anythingTM.
if (Delay(configurator))
return;
- if (!targetUid.HasValue || !configurator.ActiveDeviceLink.HasValue || !TryComp(userUid, out ActorComponent? actor) || !AccessCheck(targetUid.Value, userUid, configurator))
+ if (!targetUid.HasValue || !configurator.ActiveDeviceLink.HasValue || !AccessCheck(targetUid.Value, userUid, configurator))
return;
- _uiSystem.OpenUi(configuratorUid, NetworkConfiguratorUiKey.Link, actor.PlayerSession);
+ _uiSystem.OpenUi(configuratorUid, NetworkConfiguratorUiKey.Link, userUid);
configurator.DeviceLinkTarget = targetUid;
return IsAllowedInternal(access, stationKeys, reader);
if (!_containerSystem.TryGetContainer(target, reader.ContainerAccessProvider, out var container))
- return Paused(target); // when mapping, containers with electronics arent spawned
+ return false;
+
+ // If entity is paused then always allow it at this point.
+ // Door electronics is kind of a mess but yeah, it should only be an unpaused ent interacting with it
+ if (Paused(target))
+ return true;
foreach (var entity in container.ContainedEntities)
{