From: Zachary Yona <58833995+Magicalus@users.noreply.github.com> Date: Mon, 19 Aug 2024 03:13:03 +0000 (-0400) Subject: Device-list limiting (#30997) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=f272097e07fdb604f47bc076cfd1fe4e230d834e;p=space-station-14.git Device-list limiting (#30997) * PDA can no longer be linked to multitool * Ignore previous commit, it would've broken things * Added SavableAddress field to DeviceNetwork component and PDA for testing. Still need to implement * System works, borg and pda addresses cannot be saved, but they still connect to the net. * Suit sensors can no longer be added to network configurators, still work for monitoring purposes. --------- Co-authored-by: Zachary Yona --- 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