diff --git a/Resources/Maps/Shuttles/emergency.yml b/Resources/Maps/Shuttles/emergency.yml index e285d4a5ae7a59..49ad5a8a81b52f 100644 --- a/Resources/Maps/Shuttles/emergency.yml +++ b/Resources/Maps/Shuttles/emergency.yml @@ -51,6 +51,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: Gravity gravityShakeSound: !type:SoundPathSpecifier path: /Audio/Effects/alert.ogg diff --git a/Resources/Maps/Shuttles/emergency_box.yml b/Resources/Maps/Shuttles/emergency_box.yml index 49d082c99524f4..59eb93dc69f5c9 100644 --- a/Resources/Maps/Shuttles/emergency_box.yml +++ b/Resources/Maps/Shuttles/emergency_box.yml @@ -65,6 +65,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_cluster.yml b/Resources/Maps/Shuttles/emergency_cluster.yml index 82f178aaca66bf..66dec4088a3491 100644 --- a/Resources/Maps/Shuttles/emergency_cluster.yml +++ b/Resources/Maps/Shuttles/emergency_cluster.yml @@ -67,6 +67,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_courser.yml b/Resources/Maps/Shuttles/emergency_courser.yml index 426fe055b4770d..738ef3307b0dd7 100644 --- a/Resources/Maps/Shuttles/emergency_courser.yml +++ b/Resources/Maps/Shuttles/emergency_courser.yml @@ -64,6 +64,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_delta.yml b/Resources/Maps/Shuttles/emergency_delta.yml index 0c092e23631835..c9d41ac74e23df 100644 --- a/Resources/Maps/Shuttles/emergency_delta.yml +++ b/Resources/Maps/Shuttles/emergency_delta.yml @@ -71,6 +71,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_lox.yml b/Resources/Maps/Shuttles/emergency_lox.yml index 53f6c01a41c757..9320d26a62ae08 100644 --- a/Resources/Maps/Shuttles/emergency_lox.yml +++ b/Resources/Maps/Shuttles/emergency_lox.yml @@ -70,6 +70,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_meta.yml b/Resources/Maps/Shuttles/emergency_meta.yml index ba75195df9e032..4d8a9b1f6b261a 100644 --- a/Resources/Maps/Shuttles/emergency_meta.yml +++ b/Resources/Maps/Shuttles/emergency_meta.yml @@ -72,6 +72,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_omega.yml b/Resources/Maps/Shuttles/emergency_omega.yml index f22e61ce167e1c..7b038effac920c 100644 --- a/Resources/Maps/Shuttles/emergency_omega.yml +++ b/Resources/Maps/Shuttles/emergency_omega.yml @@ -55,6 +55,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_raven.yml b/Resources/Maps/Shuttles/emergency_raven.yml index 0d7948c2349d62..19fab35dc55b16 100644 --- a/Resources/Maps/Shuttles/emergency_raven.yml +++ b/Resources/Maps/Shuttles/emergency_raven.yml @@ -74,6 +74,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_rod.yml b/Resources/Maps/Shuttles/emergency_rod.yml index cc9623712d3998..dcdd9c30455a23 100644 --- a/Resources/Maps/Shuttles/emergency_rod.yml +++ b/Resources/Maps/Shuttles/emergency_rod.yml @@ -70,6 +70,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_wode.yml b/Resources/Maps/Shuttles/emergency_wode.yml index 96c75d012a37e1..5d75f7fc4afe31 100644 --- a/Resources/Maps/Shuttles/emergency_wode.yml +++ b/Resources/Maps/Shuttles/emergency_wode.yml @@ -71,6 +71,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Prototypes/Actions/station_ai.yml b/Resources/Prototypes/Actions/station_ai.yml new file mode 100644 index 00000000000000..e2ce25de9d841e --- /dev/null +++ b/Resources/Prototypes/Actions/station_ai.yml @@ -0,0 +1,64 @@ +# Actions +- type: entity + id: ActionJumpToCore + name: Jump to core + description: Sends your eye back to the core. + components: + - type: InstantAction + itemIconStyle: BigAction + icon: + sprite: Interface/Actions/actions_ai.rsi + state: ai_core + event: !type:JumpToCoreEvent + +- type: entity + id: ActionShowJobIcons + name: Show job icons + description: Shows job icons for crew members. + components: + - type: InstantAction + itemIconStyle: BigAction + icon: + sprite: Interface/Actions/actions_ai.rsi + state: job_view + event: !type:ActionComponentChangeEvent + components: + - type: ShowJobIcons + +- type: entity + id: ActionSurvCameraLights + name: Toggle camera lights + description: Enable surveillance camera lights near wherever you're viewing. + components: + - type: InstantAction + itemIconStyle: BigAction + icon: + sprite: Interface/Actions/actions_ai.rsi + state: camera_light + event: !type:RelayedActionComponentChangeEvent + components: + - type: LightOnCollideCollider + - type: FixturesChange + fixtures: + lightTrigger: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 80 + hard: false + layer: + - GhostImpassable + + +- type: entity + id: ActionAIViewLaws + name: View Laws + description: View the laws that you must follow. + components: + - type: InstantAction + itemIconStyle: NoItem + icon: + sprite: Interface/Actions/actions_ai.rsi + state: state_laws + event: !type:ToggleLawsScreenEvent + useDelay: 0.5 diff --git a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml index 0b60ed447fcb1d..29495a977ef67c 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml @@ -76,6 +76,7 @@ - type: DeviceNetwork deviceNetId: Wireless receiveFrequencyId: CrewMonitor + transmitFrequencyId: ShuttleTimer - type: WirelessNetworkConnection range: 500 - type: StationLimitedNetwork @@ -122,8 +123,8 @@ description: View a mass scanner interface. components: - type: InstantAction - icon: { sprite: Structures/Machines/parts.rsi, state: box_0 } - iconOn: Structures/Machines/parts.rsi/box_2.png + icon: { sprite: Interface/Actions/actions_ai.rsi, state: mass_scanner } + iconOn: Interface/Actions/actions_ai.rsi/mass_scanner.png keywords: [ "AI", "console", "interface" ] priority: -10 event: !type:ToggleIntrinsicUIEvent { key: enum.RadarConsoleUiKey.Key } @@ -146,8 +147,8 @@ description: View a crew monitoring interface. components: - type: InstantAction - icon: { sprite: Structures/Machines/parts.rsi, state: box_0 } - iconOn: Structures/Machines/parts.rsi/box_2.png + icon: { sprite: Interface/Actions/actions_ai.rsi, state: crew_monitor } + iconOn: Interface/Actions/actions_ai.rsi/crew_monitor.png keywords: [ "AI", "console", "interface" ] priority: -10 event: !type:ToggleIntrinsicUIEvent { key: enum.CrewMonitoringUIKey.Key } @@ -158,8 +159,8 @@ description: View a station records Interface. components: - type: InstantAction - icon: { sprite: Structures/Machines/parts.rsi, state: box_0 } - iconOn: Structures/Machines/parts.rsi/box_2.png + icon: { sprite: Interface/Actions/actions_ai.rsi, state: station_records } + iconOn: Interface/Actions/actions_ai.rsi/station_records.png keywords: [ "AI", "console", "interface" ] priority: -10 event: !type:ToggleIntrinsicUIEvent { key: enum.GeneralStationRecordConsoleKey.Key } diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index bccc70c4d1103d..45c1fef541e829 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -35,7 +35,7 @@ - ActionJumpToCore - ActionShowJobIcons - ActionSurvCameraLights - - ActionViewLaws + - ActionAIViewLaws - type: UserInterface interfaces: enum.RadarConsoleUiKey.Key: @@ -54,57 +54,14 @@ toggleAction: ActionAGhostShowCrewMonitoring enum.GeneralStationRecordConsoleKey.Key: toggleAction: ActionAGhostShowStationRecords + - type: CrewMonitoringConsole + - type: GeneralStationRecordConsole + - type: DeviceNetwork + deviceNetId: Wireless + receiveFrequencyId: CrewMonitor + - type: RadarConsole + followEntity: false -# Actions -- type: entity - id: ActionJumpToCore - name: Jump to core - description: Sends your eye back to the core. - components: - - type: InstantAction - itemIconStyle: BigAction - icon: - sprite: Interface/Actions/actions_ai.rsi - state: ai_core - event: !type:JumpToCoreEvent - -- type: entity - id: ActionShowJobIcons - name: Show job icons - description: Shows job icons for crew members. - components: - - type: InstantAction - itemIconStyle: BigAction - icon: - sprite: Interface/Misc/job_icons.rsi - state: Captain - event: !type:ActionComponentChangeEvent - components: - - type: ShowJobIcons - -- type: entity - id: ActionSurvCameraLights - name: Toggle camera lights - description: Enable surveillance camera lights near wherever you're viewing. - components: - - type: InstantAction - itemIconStyle: BigAction - icon: - sprite: Interface/Actions/actions_ai.rsi - state: camera_light - event: !type:RelayedActionComponentChangeEvent - components: - - type: LightOnCollideCollider - - type: FixturesChange - fixtures: - lightTrigger: - shape: - !type:PhysShapeCircle - radius: 0.35 - density: 80 - hard: false - layer: - - GhostImpassable # Ai - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml index f3fcb5062a83f7..382900e886c930 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml @@ -35,6 +35,7 @@ - type: ExtensionCableReceiver - type: Screen - type: DeviceNetwork + deviceNetId: Wireless receiveFrequencyId: ShuttleTimer - type: entity diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/ai_core.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/ai_core.png index 8dd3031f9fc0b4..89cc7aa1654fb5 100644 Binary files a/Resources/Textures/Interface/Actions/actions_ai.rsi/ai_core.png and b/Resources/Textures/Interface/Actions/actions_ai.rsi/ai_core.png differ diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/camera_light.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/camera_light.png index 041b9b9bf7c8b9..53ebb32c59fa14 100644 Binary files a/Resources/Textures/Interface/Actions/actions_ai.rsi/camera_light.png and b/Resources/Textures/Interface/Actions/actions_ai.rsi/camera_light.png differ diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/comms_console.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/comms_console.png new file mode 100644 index 00000000000000..1958e5fc48f307 Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_ai.rsi/comms_console.png differ diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/crew_monitor.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/crew_monitor.png index 78fad17a76c58c..73abb66ac1fef4 100644 Binary files a/Resources/Textures/Interface/Actions/actions_ai.rsi/crew_monitor.png and b/Resources/Textures/Interface/Actions/actions_ai.rsi/crew_monitor.png differ diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/job_view.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/job_view.png new file mode 100644 index 00000000000000..b407c4755e13c7 Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_ai.rsi/job_view.png differ diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/mass_scanner.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/mass_scanner.png new file mode 100644 index 00000000000000..f7542550b53b0f Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_ai.rsi/mass_scanner.png differ diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/meta.json b/Resources/Textures/Interface/Actions/actions_ai.rsi/meta.json index a7c00f779353b6..6b974d8521a5ea 100644 --- a/Resources/Textures/Interface/Actions/actions_ai.rsi/meta.json +++ b/Resources/Textures/Interface/Actions/actions_ai.rsi/meta.json @@ -21,6 +21,18 @@ }, { "name": "state_laws" - } + }, + { + "name": "station_records" + }, + { + "name": "mass_scanner" + }, + { + "name": "job_view" + }, + { + "name": "comms_console" + } ] } diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/state_laws.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/state_laws.png index e30e891745fb52..ff546e13b1fe9c 100644 Binary files a/Resources/Textures/Interface/Actions/actions_ai.rsi/state_laws.png and b/Resources/Textures/Interface/Actions/actions_ai.rsi/state_laws.png differ diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/station_records.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/station_records.png new file mode 100644 index 00000000000000..c1f1420445139a Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_ai.rsi/station_records.png differ