Fix door access in mapping mode (#30030)
Fix shouldn't break anythingTM.
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user