diff --git a/Content.Server/DeviceNetwork/Components/DeviceNetworkComponent.cs b/Content.Server/DeviceNetwork/Components/DeviceNetworkComponent.cs index 3a68fffbcc..186da57e5d 100644 --- a/Content.Server/DeviceNetwork/Components/DeviceNetworkComponent.cs +++ b/Content.Server/DeviceNetwork/Components/DeviceNetworkComponent.cs @@ -102,6 +102,13 @@ namespace Content.Server.DeviceNetwork.Components [DataField("sendBroadcastAttemptEvent")] public bool SendBroadcastAttemptEvent = false; + /// + /// Whether this device's address can be saved to device-lists + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("savableAddress")] + public bool SavableAddress = true; + /// /// A list of device-lists that this device is on. /// diff --git a/Content.Server/DeviceNetwork/Systems/NetworkConfiguratorSystem.cs b/Content.Server/DeviceNetwork/Systems/NetworkConfiguratorSystem.cs index 59b58c6933..0dc4f45d9e 100644 --- a/Content.Server/DeviceNetwork/Systems/NetworkConfiguratorSystem.cs +++ b/Content.Server/DeviceNetwork/Systems/NetworkConfiguratorSystem.cs @@ -106,6 +106,13 @@ public sealed class NetworkConfiguratorSystem : SharedNetworkConfiguratorSystem if (!targetUid.HasValue || !Resolve(targetUid.Value, ref device, false)) return; + //This checks if the device is marked as having a savable address, + //to avoid adding pdas and whatnot to air alarms. This flag is true + //by default, so this will only prevent devices from being added to + //network configurator lists if manually set to false in the prototype + if (!device.SavableAddress) + return; + var address = device.Address; if (string.IsNullOrEmpty(address)) { diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml index 0329f82b5b..04ce60bed6 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml @@ -47,6 +47,7 @@ - type: DeviceNetwork deviceNetId: Wireless transmitFrequencyId: SuitSensor + savableAddress: false - type: WirelessNetworkConnection range: 1200 - type: StationLimitedNetwork diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 371c102eb0..b701bbd8f4 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -244,6 +244,7 @@ deviceNetId: Wireless receiveFrequencyId: CyborgControl transmitFrequencyId: RoboticsConsole + savableAddress: false - type: OnUseTimerTrigger delay: 10 examinable: false diff --git a/Resources/Prototypes/Entities/Objects/Devices/pda.yml b/Resources/Prototypes/Entities/Objects/Devices/pda.yml index 5bf68b6fd6..ac564eac66 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/pda.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/pda.yml @@ -67,6 +67,7 @@ deviceNetId: Wireless receiveFrequencyId: PDA prefix: device-address-prefix-console + savableAddress: false - type: WirelessNetworkConnection range: 500 - type: CartridgeLoader