From 95c9085f63b9049d416a41fef668b93714f47e43 Mon Sep 17 00:00:00 2001 From: B3CKDOOR <22119241+B3CKDOOR@users.noreply.github.com> Date: Mon, 16 Mar 2026 12:23:09 +0100 Subject: [PATCH 01/13] Ports the CorvaxNext AI Remote Control (BORIS) system and bug fixes Ports the CorvaxNext AI Remote Control (BORIS) system, allowing the Station AI to remotely take control of cyborgs that have a B.O.R.I.S. module installed. Also includes several bug fixes for issues found during integration. --- .../Silicons/Borgs/AiRemoteControlSystem.cs | 7 + .../Silicons/Laws/Ui/RemoteDeviceDisplay.xaml | 18 ++ .../Laws/Ui/RemoteDeviceDisplay.xaml.cs | 33 +++ .../Ui/RemoteDevicesBoundUserInterface.cs | 39 +++ .../Silicons/Laws/Ui/RemoteDevicesMenu.xaml | 27 ++ .../Laws/Ui/RemoteDevicesMenu.xaml.cs | 37 +++ .../Silicons/Laws/SiliconLawSystem.cs | 23 ++ .../Silicons/Borgs/AiRemoteControlSystem.cs | 244 ++++++++++++++++++ .../StationAi/StationAiHeldComponent.cs | 8 +- .../Components/AiRemoteBrainComponent.cs | 6 + .../SharedAiRemoteControllerComponent.cs | 63 +++++ .../Borgs/SharedAiRemoteControlSystem.cs | 60 +++++ .../en-US/_corvaxnext/silicons/ai-remote.ftl | 4 + .../Mobs/Cyborgs/base_borg_chassis.yml | 8 +- .../Entities/Mobs/Player/silicon.yml | 3 + .../Objects/Specific/Robotics/mmi.yml | 1 + .../Structures/cryogenic_sleep_unit.yml | 2 + .../_CorvaxNext/Actions/station_ai.yml | 29 +++ .../Objects/Specific/Robotics/airemote.yml | 19 ++ .../_EinsteinEngines/Body/Prototypes/ipc.yml | 2 +- .../Actions/actions_ai.rsi/borg_control.png | Bin 0 -> 372 bytes .../Actions/actions_ai.rsi/meta.json | 3 + 22 files changed, 630 insertions(+), 6 deletions(-) create mode 100644 Content.Client/_CorvaxNext/Silicons/Borgs/AiRemoteControlSystem.cs create mode 100644 Content.Client/_CorvaxNext/Silicons/Laws/Ui/RemoteDeviceDisplay.xaml create mode 100644 Content.Client/_CorvaxNext/Silicons/Laws/Ui/RemoteDeviceDisplay.xaml.cs create mode 100644 Content.Client/_CorvaxNext/Silicons/Laws/Ui/RemoteDevicesBoundUserInterface.cs create mode 100644 Content.Client/_CorvaxNext/Silicons/Laws/Ui/RemoteDevicesMenu.xaml create mode 100644 Content.Client/_CorvaxNext/Silicons/Laws/Ui/RemoteDevicesMenu.xaml.cs create mode 100644 Content.Server/_CorvaxNext/Silicons/Borgs/AiRemoteControlSystem.cs create mode 100644 Content.Shared/_CorvaxNext/Silicons/Borgs/Components/AiRemoteBrainComponent.cs create mode 100644 Content.Shared/_CorvaxNext/Silicons/Borgs/Components/SharedAiRemoteControllerComponent.cs create mode 100644 Content.Shared/_CorvaxNext/Silicons/Borgs/SharedAiRemoteControlSystem.cs create mode 100644 Resources/Locale/en-US/_corvaxnext/silicons/ai-remote.ftl create mode 100644 Resources/Prototypes/_CorvaxNext/Actions/station_ai.yml create mode 100644 Resources/Prototypes/_CorvaxNext/Entities/Objects/Specific/Robotics/airemote.yml create mode 100644 Resources/Textures/Interface/Actions/actions_ai.rsi/borg_control.png diff --git a/Content.Client/_CorvaxNext/Silicons/Borgs/AiRemoteControlSystem.cs b/Content.Client/_CorvaxNext/Silicons/Borgs/AiRemoteControlSystem.cs new file mode 100644 index 00000000000..89aeafcf5f1 --- /dev/null +++ b/Content.Client/_CorvaxNext/Silicons/Borgs/AiRemoteControlSystem.cs @@ -0,0 +1,7 @@ +using Content.Shared._CorvaxNext.Silicons.Borgs; + +namespace Content.Client._CorvaxNext.Silicons.Borgs; + +public sealed partial class AiRemoteControlSystem : SharedAiRemoteControlSystem +{ +} diff --git a/Content.Client/_CorvaxNext/Silicons/Laws/Ui/RemoteDeviceDisplay.xaml b/Content.Client/_CorvaxNext/Silicons/Laws/Ui/RemoteDeviceDisplay.xaml new file mode 100644 index 00000000000..4de5d244e6f --- /dev/null +++ b/Content.Client/_CorvaxNext/Silicons/Laws/Ui/RemoteDeviceDisplay.xaml @@ -0,0 +1,18 @@ + + + + + + +