diff --git a/Content.Shared/CriminalRecords/Components/CriminalRecordsConsoleComponent.cs b/Content.Shared/CriminalRecords/Components/CriminalRecordsConsoleComponent.cs index 70e927e3cb8492..186182fee3d585 100644 --- a/Content.Shared/CriminalRecords/Components/CriminalRecordsConsoleComponent.cs +++ b/Content.Shared/CriminalRecords/Components/CriminalRecordsConsoleComponent.cs @@ -1,6 +1,7 @@ using Content.Shared.CriminalRecords.Systems; using Content.Shared.Radio; using Content.Shared.StationRecords; +using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.CriminalRecords.Components; @@ -8,7 +9,7 @@ namespace Content.Shared.CriminalRecords.Components; /// /// A component for Criminal Record Console storing an active station record key and a currently applied filter /// -[RegisterComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedCriminalRecordsConsoleSystem))] public sealed partial class CriminalRecordsConsoleComponent : Component { @@ -22,24 +23,24 @@ public sealed partial class CriminalRecordsConsoleComponent : Component /// Server then sends a state with just the records, not the listing or filter, and the client updates just that. /// I don't know if it's possible to have multiple bui states right now. /// - [DataField] + [DataField, AutoNetworkedField] public uint? ActiveKey; /// /// Currently applied filter. /// - [DataField] + [DataField, AutoNetworkedField] public StationRecordsFilter? Filter; /// /// Channel to send messages to when someone's status gets changed. /// - [DataField] + [DataField, AutoNetworkedField] public ProtoId SecurityChannel = "Security"; /// /// Max length of arrest and crime history strings. /// - [DataField] + [DataField, AutoNetworkedField] public uint MaxStringLength = 256; } diff --git a/Resources/Prototypes/Actions/station_ai.yml b/Resources/Prototypes/Actions/station_ai.yml index 58513d7db162c4..c67c5ef45f653c 100644 --- a/Resources/Prototypes/Actions/station_ai.yml +++ b/Resources/Prototypes/Actions/station_ai.yml @@ -66,3 +66,16 @@ state: state_laws event: !type:ToggleLawsScreenEvent useDelay: 0.5 + +- type: entity + id: ActionAIShowCriminalRecords + name: Criminal Records Interface + description: View a criminal records Interface. + components: + - type: InstantAction + icon: { sprite: Interface/Actions/actions_ai.rsi, state: station_records } + iconOn: Interface/Actions/actions_ai.rsi/station_records.png + keywords: [ "AI", "console", "interface" ] + priority: -8 + event: !type:ToggleIntrinsicUIEvent { key: enum.CriminalRecordsConsoleKey.Key } + \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 15878a4017d00c..e45f61f3c5c8cb 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -42,8 +42,8 @@ type: RadarConsoleBoundUserInterface enum.CrewMonitoringUIKey.Key: type: CrewMonitoringBoundUserInterface - enum.GeneralStationRecordConsoleKey.Key: - type: GeneralStationRecordConsoleBoundUserInterface + enum.CriminalRecordsConsoleKey.Key: + type: CriminalRecordsConsoleBoundUserInterface enum.SiliconLawsUiKey.Key: type: SiliconLawBoundUserInterface enum.CommunicationsConsoleUiKey.Key: @@ -54,12 +54,12 @@ toggleAction: ActionAGhostShowRadar enum.CrewMonitoringUIKey.Key: toggleAction: ActionAGhostShowCrewMonitoring - enum.GeneralStationRecordConsoleKey.Key: - toggleAction: ActionAGhostShowStationRecords + enum.CriminalRecordsConsoleKey.Key: + toggleAction: ActionAIShowCriminalRecords enum.CommunicationsConsoleUiKey.Key: toggleAction: ActionAGhostShowCommunications - type: CrewMonitoringConsole - - type: GeneralStationRecordConsole + - type: CriminalRecordsConsole - type: DeviceNetwork deviceNetId: Wireless receiveFrequencyId: CrewMonitor