diff --git a/Content.Server/DeviceLinking/Systems/DeviceLinkSystem.cs b/Content.Server/DeviceLinking/Systems/DeviceLinkSystem.cs index 13c6c1024e..f43b4b1234 100644 --- a/Content.Server/DeviceLinking/Systems/DeviceLinkSystem.cs +++ b/Content.Server/DeviceLinking/Systems/DeviceLinkSystem.cs @@ -49,8 +49,7 @@ public sealed class DeviceLinkSystem : SharedDeviceLinkSystem foreach (var receiverPort in receiverPorts) { // Throw error if component is missing. - Comp(receiverPort.Uid); - RemCompDeferred(receiverPort.Uid); + EnsureComp(receiverPort.Uid); outputs.GetOrNew(receiverPort.Uid).Add((transmitterPort, receiverPort.Port)); } } diff --git a/Content.Server/MachineLinking/System/SignalLinkerSystem.cs b/Content.Server/MachineLinking/System/SignalLinkerSystem.cs index 86457d5464..ae51392143 100644 --- a/Content.Server/MachineLinking/System/SignalLinkerSystem.cs +++ b/Content.Server/MachineLinking/System/SignalLinkerSystem.cs @@ -160,22 +160,7 @@ namespace Content.Server.MachineLinking.System private void OnReceiverStartup(EntityUid uid, SignalReceiverComponent receiver, ComponentStartup args) { - // validate links - Dictionary uidCache = new(); - foreach (var rport in receiver.Inputs) - { - var toRemove = new List(); - foreach (var tport in rport.Value) - { - if (!uidCache.TryGetValue(tport.Uid, out var transmitter)) - uidCache.Add(tport.Uid, transmitter = CompOrNull(tport.Uid)); - if (transmitter == null || !transmitter.Outputs.TryGetValue(tport.Port, out var tpv)) - toRemove.Add(tport); - else if (!tpv.Contains(new(uid, rport.Key))) - tpv.Add(new(uid, rport.Key)); - } - toRemove.ForEach(tport => rport.Value.Remove(tport)); - } + RemCompDeferred(uid); } private void OnTransmitterRemoved(EntityUid uid, SignalTransmitterComponent transmitter, ComponentRemove args) diff --git a/Resources/Maps/bagel.yml b/Resources/Maps/bagel.yml index cc82989a96..6b4bb8e0c6 100644 --- a/Resources/Maps/bagel.yml +++ b/Resources/Maps/bagel.yml @@ -128102,11 +128102,6 @@ entities: - links: - 10622 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 188 components: - pos: -17.5,-7.5 @@ -128115,11 +128110,6 @@ entities: - links: - 10622 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 552 components: - pos: -17.5,-13.5 @@ -128128,11 +128118,6 @@ entities: - links: - 11555 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 1022 components: - rot: 3.141592653589793 rad @@ -128291,11 +128276,6 @@ entities: - links: - 19870 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 6206 components: - rot: 3.141592653589793 rad @@ -128305,11 +128285,6 @@ entities: - links: - 4898 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 6467 components: - pos: -17.5,-10.5 @@ -128354,11 +128329,6 @@ entities: - links: - 4898 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 6746 components: - rot: 3.141592653589793 rad @@ -128368,11 +128338,6 @@ entities: - links: - 19870 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 6772 components: - rot: -1.5707963267948966 rad @@ -128418,11 +128383,6 @@ entities: - links: - 10621 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 6813 components: - rot: 1.5707963267948966 rad @@ -128450,11 +128410,6 @@ entities: - links: - 10621 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 7086 components: - rot: 1.5707963267948966 rad @@ -128491,11 +128446,6 @@ entities: - links: - 11555 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 8161 components: - rot: 1.5707963267948966 rad diff --git a/Resources/Maps/packed.yml b/Resources/Maps/packed.yml index 35bc1af575..8ea8544fde 100644 --- a/Resources/Maps/packed.yml +++ b/Resources/Maps/packed.yml @@ -10231,11 +10231,6 @@ entities: - links: - 5685 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 2835 components: - pos: 12.5,-27.5 @@ -10244,11 +10239,6 @@ entities: - links: - 5685 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - proto: BlockGameArcade entities: - uid: 1812 @@ -36062,11 +36052,6 @@ entities: - links: - 7808 type: DeviceLinkSink - - inputs: - Reverse: [] - Forward: [] - Off: [] - type: SignalReceiver - uid: 2038 components: - rot: 1.5707963267948966 rad @@ -36076,11 +36061,6 @@ entities: - links: - 7808 type: DeviceLinkSink - - inputs: - Reverse: [] - Forward: [] - Off: [] - type: SignalReceiver - uid: 2039 components: - rot: -1.5707963267948966 rad @@ -36108,11 +36088,6 @@ entities: - links: - 7808 type: DeviceLinkSink - - inputs: - Reverse: [] - Forward: [] - Off: [] - type: SignalReceiver - uid: 2042 components: - rot: 1.5707963267948966 rad @@ -36122,11 +36097,6 @@ entities: - links: - 7808 type: DeviceLinkSink - - inputs: - Reverse: [] - Forward: [] - Off: [] - type: SignalReceiver - uid: 2051 components: - rot: -1.5707963267948966 rad @@ -36145,11 +36115,6 @@ entities: - links: - 7808 type: DeviceLinkSink - - inputs: - Reverse: [] - Forward: [] - Off: [] - type: SignalReceiver - uid: 2066 components: - rot: -1.5707963267948966 rad @@ -69058,11 +69023,6 @@ entities: - links: - 8288 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 6512 components: - rot: -1.5707963267948966 rad @@ -69080,11 +69040,6 @@ entities: - links: - 8288 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 12425 components: - pos: 51.5,1.5 @@ -69093,11 +69048,6 @@ entities: - links: - 8288 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 12822 components: - pos: 28.5,20.5 diff --git a/Resources/Maps/saltern.yml b/Resources/Maps/saltern.yml index 3ab2ea3bcc..be9479d237 100644 --- a/Resources/Maps/saltern.yml +++ b/Resources/Maps/saltern.yml @@ -5293,11 +5293,6 @@ entities: - links: - 8225 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 2309 components: - pos: -14.5,-27.5 @@ -5306,11 +5301,6 @@ entities: - links: - 8225 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 3905 components: - pos: 19.5,28.5 @@ -52702,11 +52692,6 @@ entities: - links: - 8232 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 2137 components: - rot: -1.5707963267948966 rad @@ -52716,11 +52701,6 @@ entities: - links: - 8232 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 2138 components: - rot: -1.5707963267948966 rad @@ -52730,11 +52710,6 @@ entities: - links: - 8224 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - uid: 4693 components: - rot: 1.5707963267948966 rad @@ -52838,11 +52813,6 @@ entities: - links: - 8224 type: DeviceLinkSink - - inputs: - Open: [] - Close: [] - Toggle: [] - type: SignalReceiver - proto: ShuttersRadiationOpen entities: - uid: 9551