Fix door access in mapping mode (#30030)

Fix shouldn't break anythingTM.
This commit is contained in:
metalgearsloth
2024-07-19 16:19:15 +10:00
committed by GitHub
parent 56ee4da535
commit 6005a9f4cb
2 changed files with 8 additions and 3 deletions

View File

@@ -423,11 +423,11 @@ public sealed class NetworkConfiguratorSystem : SharedNetworkConfiguratorSystem
if (Delay(configurator)) if (Delay(configurator))
return; 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; return;
_uiSystem.OpenUi(configuratorUid, NetworkConfiguratorUiKey.Link, actor.PlayerSession); _uiSystem.OpenUi(configuratorUid, NetworkConfiguratorUiKey.Link, userUid);
configurator.DeviceLinkTarget = targetUid; configurator.DeviceLinkTarget = targetUid;

View File

@@ -155,7 +155,12 @@ public sealed class AccessReaderSystem : EntitySystem
return IsAllowedInternal(access, stationKeys, reader); return IsAllowedInternal(access, stationKeys, reader);
if (!_containerSystem.TryGetContainer(target, reader.ContainerAccessProvider, out var container)) 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) foreach (var entity in container.ContainedEntities)
{ {