Computer wirepanel (#32273)

* Computer wirehacking

* Power wire now shocks

* deconstruction fix

* updated tests

* Better parenting

* maintenance panel sprite

* new sprite for maintenance panel open
This commit is contained in:
Errant
2024-09-23 12:51:48 +02:00
committed by GitHub
parent b6845defa0
commit a7e29f2878
8 changed files with 203 additions and 62 deletions

View File

@@ -39,7 +39,7 @@ public sealed class ComputerConstruction : InteractionTest
await StartDeconstruction(ComputerId); await StartDeconstruction(ComputerId);
// Initial interaction turns id computer into generic computer // Initial interaction turns id computer into generic computer
await InteractUsing(Screw); await InteractUsing(Pry);
AssertPrototype(ComputerFrame); AssertPrototype(ComputerFrame);
// Perform deconstruction steps // Perform deconstruction steps
@@ -69,7 +69,7 @@ public sealed class ComputerConstruction : InteractionTest
await SpawnTarget(ComputerId); await SpawnTarget(ComputerId);
// Initial interaction turns id computer into generic computer // Initial interaction turns id computer into generic computer
await InteractUsing(Screw); await InteractUsing(Pry);
AssertPrototype(ComputerFrame); AssertPrototype(ComputerFrame);
// Perform partial deconstruction steps // Perform partial deconstruction steps

View File

@@ -40,6 +40,7 @@ wires-board-name-fatextractor = FatExtractor
wires-board-name-flatpacker = Flatpacker wires-board-name-flatpacker = Flatpacker
wires-board-name-spaceheater = Space Heater wires-board-name-spaceheater = Space Heater
wires-board-name-jukebox = Jukebox wires-board-name-jukebox = Jukebox
wires-board-name-computer = Computer
# names that get displayed in the wire hacking hud & admin logs. # names that get displayed in the wire hacking hud & admin logs.

View File

@@ -30,6 +30,8 @@
state: generic state: generic
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: generic_keys state: generic_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: Appearance - type: Appearance
- type: GenericVisualizer - type: GenericVisualizer
visuals: visuals:
@@ -40,6 +42,10 @@
computerLayerKeys: computerLayerKeys:
True: { visible: true, shader: unshaded } True: { visible: true, shader: unshaded }
False: { visible: true, shader: shaded } False: { visible: true, shader: shaded }
enum.WiresVisuals.MaintenancePanelState:
enum.WiresVisualLayers.MaintenancePanel:
True: { visible: false }
False: { visible: true }
- type: LitOnPowered - type: LitOnPowered
- type: PointLight - type: PointLight
radius: 1.5 radius: 1.5
@@ -61,3 +67,26 @@
- type: LightningTarget - type: LightningTarget
priority: 1 priority: 1
- type: RequireProjectileTarget - type: RequireProjectileTarget
- type: Electrified
enabled: false
usesApcPower: true
- type: WiresPanel
- type: WiresVisuals
- type: Wires
boardName: wires-board-name-computer
layoutId: Computer
#
# This is overwritten by children, so needs to be defined there
# - type: UserInterface
# interfaces:
# enum.WiresUiKey.Key:
# type: WiresBoundUserInterface
- type: entity
parent: BaseComputer
id: BaseComputerAiAccess
components:
- type: StationAiWhitelist
- type: Wires
boardName: wires-board-name-computer
layoutId: ComputerAi

View File

@@ -1,10 +1,9 @@
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerAlert id: ComputerAlert
name: atmospheric alerts computer name: atmospheric alerts computer
description: Used to access the station's atmospheric automated alert system. description: Used to access the station's atmospheric automated alert system.
components: components:
- type: StationAiWhitelist
- type: Computer - type: Computer
board: AlertsComputerCircuitboard board: AlertsComputerCircuitboard
- type: Sprite - type: Sprite
@@ -17,6 +16,8 @@
state: alert-0 state: alert-0
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: atmos_key state: atmos_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: GenericVisualizer - type: GenericVisualizer
visuals: visuals:
enum.ComputerVisuals.Powered: enum.ComputerVisuals.Powered:
@@ -25,7 +26,7 @@
False: { visible: false } False: { visible: false }
computerLayerKeys: computerLayerKeys:
True: { visible: true, shader: unshaded } True: { visible: true, shader: unshaded }
False: { visible: true, shader: shaded } False: { visible: true, shader: shaded }
enum.AtmosAlertsComputerVisuals.ComputerLayerScreen: enum.AtmosAlertsComputerVisuals.ComputerLayerScreen:
computerLayerScreen: computerLayerScreen:
0: { state: alert-0 } 0: { state: alert-0 }
@@ -33,6 +34,10 @@
2: { state: alert-1 } 2: { state: alert-1 }
3: { state: alert-2 } 3: { state: alert-2 }
4: { state: alert-2 } 4: { state: alert-2 }
enum.WiresVisuals.MaintenancePanelState:
enum.WiresVisualLayers.MaintenancePanel:
True: { visible: false }
False: { visible: true }
- type: AtmosAlertsComputer - type: AtmosAlertsComputer
- type: ActivatableUI - type: ActivatableUI
singleUser: true singleUser: true
@@ -41,6 +46,8 @@
interfaces: interfaces:
enum.AtmosAlertsComputerUiKey.Key: enum.AtmosAlertsComputerUiKey.Key:
type: AtmosAlertsComputerBoundUserInterface type: AtmosAlertsComputerBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: entity - type: entity
parent: BaseComputer parent: BaseComputer
@@ -58,6 +65,8 @@
interfaces: interfaces:
enum.EmergencyConsoleUiKey.Key: enum.EmergencyConsoleUiKey.Key:
type: EmergencyConsoleBoundUserInterface type: EmergencyConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: PointLight - type: PointLight
radius: 1.5 radius: 1.5
energy: 1.6 energy: 1.6
@@ -79,6 +88,8 @@
interfaces: interfaces:
enum.ShuttleConsoleUiKey.Key: enum.ShuttleConsoleUiKey.Key:
type: ShuttleConsoleBoundUserInterface type: ShuttleConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: RadarConsole - type: RadarConsole
- type: WorldLoader - type: WorldLoader
radius: 256 radius: 256
@@ -121,6 +132,8 @@
state: shuttle state: shuttle
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: generic_keys state: generic_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: Computer - type: Computer
board: ShuttleConsoleCircuitboard board: ShuttleConsoleCircuitboard
@@ -140,6 +153,8 @@
state: syndishuttle state: syndishuttle
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: syndie_key state: syndie_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: Tag - type: Tag
tags: tags:
- Syndicate - Syndicate
@@ -170,6 +185,8 @@
state: shuttle state: shuttle
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: generic_keys state: generic_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: DroneConsole - type: DroneConsole
components: components:
- type: CargoShuttle - type: CargoShuttle
@@ -185,12 +202,11 @@
stealGroup: CargoShuttleConsoleCircuitboard stealGroup: CargoShuttleConsoleCircuitboard
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerIFF id: ComputerIFF
name: IFF computer name: IFF computer
description: Allows you to control the IFF characteristics of this vessel. description: Allows you to control the IFF characteristics of this vessel.
components: components:
- type: StationAiWhitelist
- type: IFFConsole - type: IFFConsole
- type: Sprite - type: Sprite
layers: layers:
@@ -203,12 +219,16 @@
state: helm state: helm
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: generic_keys state: generic_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: ActivatableUI - type: ActivatableUI
key: enum.IFFConsoleUiKey.Key key: enum.IFFConsoleUiKey.Key
- type: UserInterface - type: UserInterface
interfaces: interfaces:
enum.IFFConsoleUiKey.Key: enum.IFFConsoleUiKey.Key:
type: IFFConsoleBoundUserInterface type: IFFConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: ComputerIFFCircuitboard board: ComputerIFFCircuitboard
@@ -229,16 +249,17 @@
interfaces: interfaces:
enum.IFFConsoleUiKey.Key: enum.IFFConsoleUiKey.Key:
type: IFFConsoleBoundUserInterface type: IFFConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: ComputerIFFSyndicateCircuitboard board: ComputerIFFSyndicateCircuitboard
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerPowerMonitoring id: ComputerPowerMonitoring
name: power monitoring computer name: power monitoring computer
description: It monitors power levels across the station. description: It monitors power levels across the station.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -249,6 +270,8 @@
state: power_monitor state: power_monitor
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: power_key state: power_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: PointLight - type: PointLight
radius: 1.5 radius: 1.5
energy: 1.6 energy: 1.6
@@ -270,14 +293,15 @@
interfaces: interfaces:
enum.PowerMonitoringConsoleUiKey.Key: enum.PowerMonitoringConsoleUiKey.Key:
type: PowerMonitoringConsoleBoundUserInterface type: PowerMonitoringConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerMedicalRecords id: ComputerMedicalRecords
name: medical records computer name: medical records computer
description: This can be used to check medical records. description: This can be used to check medical records.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -288,6 +312,8 @@
state: medcomp state: medcomp
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: med_key state: med_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: PointLight - type: PointLight
radius: 1.5 radius: 1.5
energy: 1.6 energy: 1.6
@@ -296,17 +322,18 @@
board: MedicalRecordsComputerCircuitboard board: MedicalRecordsComputerCircuitboard
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerCriminalRecords id: ComputerCriminalRecords
name: criminal records computer name: criminal records computer
description: This can be used to check criminal records. Only security can modify them. description: This can be used to check criminal records. Only security can modify them.
components: components:
- type: StationAiWhitelist
- type: CriminalRecordsConsole - type: CriminalRecordsConsole
- type: UserInterface - type: UserInterface
interfaces: interfaces:
enum.CriminalRecordsConsoleKey.Key: enum.CriminalRecordsConsoleKey.Key:
type: CriminalRecordsConsoleBoundUserInterface type: CriminalRecordsConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: ActivatableUI - type: ActivatableUI
key: enum.CriminalRecordsConsoleKey.Key key: enum.CriminalRecordsConsoleKey.Key
- type: Sprite - type: Sprite
@@ -319,6 +346,8 @@
state: explosive state: explosive
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: security_key state: security_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: PointLight - type: PointLight
radius: 1.5 radius: 1.5
energy: 1.6 energy: 1.6
@@ -332,17 +361,18 @@
- CriminalRecords - CriminalRecords
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerStationRecords id: ComputerStationRecords
name: station records computer name: station records computer
description: This can be used to check station records. description: This can be used to check station records.
components: components:
- type: StationAiWhitelist
- type: GeneralStationRecordConsole - type: GeneralStationRecordConsole
- type: UserInterface - type: UserInterface
interfaces: interfaces:
enum.GeneralStationRecordConsoleKey.Key: enum.GeneralStationRecordConsoleKey.Key:
type: GeneralStationRecordConsoleBoundUserInterface type: GeneralStationRecordConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: ActivatableUI - type: ActivatableUI
key: enum.GeneralStationRecordConsoleKey.Key key: enum.GeneralStationRecordConsoleKey.Key
- type: PointLight - type: PointLight
@@ -356,12 +386,11 @@
- Forensics - Forensics
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerCrewMonitoring id: ComputerCrewMonitoring
name: crew monitoring console name: crew monitoring console
description: Used to monitor active health sensors built into most of the crew's uniforms. description: Used to monitor active health sensors built into most of the crew's uniforms.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -372,6 +401,8 @@
state: crew state: crew
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: med_key state: med_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: PointLight - type: PointLight
radius: 1.5 radius: 1.5
energy: 1.6 energy: 1.6
@@ -384,6 +415,8 @@
interfaces: interfaces:
enum.CrewMonitoringUIKey.Key: enum.CrewMonitoringUIKey.Key:
type: CrewMonitoringBoundUserInterface type: CrewMonitoringBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: CrewMonitoringConsole - type: CrewMonitoringConsole
- type: DeviceNetwork - type: DeviceNetwork
deviceNetId: Wireless deviceNetId: Wireless
@@ -392,12 +425,11 @@
range: 1200 range: 1200
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerResearchAndDevelopment id: ComputerResearchAndDevelopment
name: R&D computer name: R&D computer
description: A computer used to interface with R&D tools. description: A computer used to interface with R&D tools.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -408,6 +440,8 @@
state: rdcomp state: rdcomp
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: rd_key state: rd_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: ResearchClient - type: ResearchClient
- type: ResearchConsole - type: ResearchConsole
- type: ActiveRadio - type: ActiveRadio
@@ -422,6 +456,8 @@
type: ResearchConsoleBoundUserInterface type: ResearchConsoleBoundUserInterface
enum.ResearchClientUiKey.Key: enum.ResearchClientUiKey.Key:
type: ResearchClientBoundUserInterface type: ResearchClientBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: ApcPowerReceiver - type: ApcPowerReceiver
powerLoad: 1000 powerLoad: 1000
- type: Computer - type: Computer
@@ -437,12 +473,11 @@
- Science - Science
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerAnalysisConsole id: ComputerAnalysisConsole
name: analysis console name: analysis console
description: A computer used to interface with the artifact analyzer. description: A computer used to interface with the artifact analyzer.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -453,6 +488,8 @@
state: artifact state: artifact
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: tech_key state: tech_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: ResearchClient - type: ResearchClient
- type: AnalysisConsole - type: AnalysisConsole
reportEntityId: PaperArtifactAnalyzer reportEntityId: PaperArtifactAnalyzer
@@ -471,6 +508,8 @@
type: AnalysisConsoleBoundUserInterface type: AnalysisConsoleBoundUserInterface
enum.ResearchClientUiKey.Key: enum.ResearchClientUiKey.Key:
type: ResearchClientBoundUserInterface type: ResearchClientBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: ApcPowerReceiver - type: ApcPowerReceiver
powerLoad: 1000 powerLoad: 1000
- type: Computer - type: Computer
@@ -484,12 +523,11 @@
- Xenoarchaeology - Xenoarchaeology
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerId id: ComputerId
name: ID card computer name: ID card computer
description: Terminal for programming Nanotrasen employee ID cards to access parts of the station. description: Terminal for programming Nanotrasen employee ID cards to access parts of the station.
components: components:
- type: StationAiWhitelist
- type: IdCardConsole - type: IdCardConsole
privilegedIdSlot: privilegedIdSlot:
name: id-card-console-privileged-id name: id-card-console-privileged-id
@@ -515,6 +553,8 @@
interfaces: interfaces:
enum.IdCardConsoleUiKey.Key: enum.IdCardConsoleUiKey.Key:
type: IdCardConsoleBoundUserInterface type: IdCardConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: CrewManifestViewer - type: CrewManifestViewer
ownerKey: enum.IdCardConsoleUiKey.Key ownerKey: enum.IdCardConsoleUiKey.Key
- type: Sprite - type: Sprite
@@ -527,6 +567,8 @@
state: id state: id
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: id_key state: id_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: Computer - type: Computer
board: IDComputerCircuitboard board: IDComputerCircuitboard
- type: PointLight - type: PointLight
@@ -544,12 +586,11 @@
IdCardConsole-targetId: !type:ContainerSlot IdCardConsole-targetId: !type:ContainerSlot
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: computerBodyScanner id: computerBodyScanner
name: body scanner computer name: body scanner computer
description: A body scanner. description: A body scanner.
components: components:
- type: StationAiWhitelist
- type: ApcPowerReceiver - type: ApcPowerReceiver
powerLoad: 500 powerLoad: 500
- type: Computer - type: Computer
@@ -560,12 +601,11 @@
color: "#1f8c28" color: "#1f8c28"
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerComms id: ComputerComms
name: communications computer name: communications computer
description: A computer used to make station wide announcements via keyboard, set the appropriate alert level, and call the emergency shuttle. description: A computer used to make station wide announcements via keyboard, set the appropriate alert level, and call the emergency shuttle.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -576,6 +616,8 @@
state: comm state: comm
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: generic_keys state: generic_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: AccessReader - type: AccessReader
access: [[ "Command" ]] access: [[ "Command" ]]
- type: CommunicationsConsole - type: CommunicationsConsole
@@ -588,6 +630,8 @@
interfaces: interfaces:
enum.CommunicationsConsoleUiKey.Key: enum.CommunicationsConsoleUiKey.Key:
type: CommunicationsConsoleBoundUserInterface type: CommunicationsConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: CommsComputerCircuitboard board: CommsComputerCircuitboard
- type: PointLight - type: PointLight
@@ -614,6 +658,8 @@
state: comm_syndie state: comm_syndie
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: syndie_key state: syndie_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: AccessReader - type: AccessReader
access: [[ "NuclearOperative" ]] access: [[ "NuclearOperative" ]]
- type: CommunicationsConsole - type: CommunicationsConsole
@@ -630,12 +676,11 @@
color: "#f71713" color: "#f71713"
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerSolarControl id: ComputerSolarControl
name: solar control computer name: solar control computer
description: A controller for solar panel arrays. description: A controller for solar panel arrays.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -646,6 +691,8 @@
state: solar_screen state: solar_screen
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: generic_keys state: generic_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: SolarControlConsole - type: SolarControlConsole
- type: ActivatableUI - type: ActivatableUI
key: enum.SolarControlConsoleUiKey.Key key: enum.SolarControlConsoleUiKey.Key
@@ -653,6 +700,8 @@
interfaces: interfaces:
enum.SolarControlConsoleUiKey.Key: enum.SolarControlConsoleUiKey.Key:
type: SolarControlConsoleBoundUserInterface type: SolarControlConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: SolarControlComputerCircuitboard board: SolarControlComputerCircuitboard
- type: PointLight - type: PointLight
@@ -661,12 +710,11 @@
color: "#e6e227" color: "#e6e227"
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerRadar id: ComputerRadar
name: mass scanner computer name: mass scanner computer
description: A computer for detecting nearby bodies, displaying them by position and mass. description: A computer for detecting nearby bodies, displaying them by position and mass.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -677,6 +725,8 @@
state: solar_screen state: solar_screen
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: generic_keys state: generic_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: RadarConsole - type: RadarConsole
- type: ActivatableUI - type: ActivatableUI
key: enum.RadarConsoleUiKey.Key key: enum.RadarConsoleUiKey.Key
@@ -684,6 +734,8 @@
interfaces: interfaces:
enum.RadarConsoleUiKey.Key: enum.RadarConsoleUiKey.Key:
type: RadarConsoleBoundUserInterface type: RadarConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: RadarConsoleCircuitboard board: RadarConsoleCircuitboard
- type: PointLight - type: PointLight
@@ -693,11 +745,10 @@
- type: entity - type: entity
id: ComputerCargoShuttle id: ComputerCargoShuttle
parent: BaseComputer parent: BaseComputerAiAccess
name: cargo shuttle computer name: cargo shuttle computer
description: Used to order the shuttle. description: Used to order the shuttle.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -708,6 +759,8 @@
state: supply state: supply
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: tech_key state: tech_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: CargoShuttleConsole - type: CargoShuttleConsole
- type: ActivatableUI - type: ActivatableUI
key: enum.CargoConsoleUiKey.Shuttle key: enum.CargoConsoleUiKey.Shuttle
@@ -715,6 +768,8 @@
interfaces: interfaces:
enum.CargoConsoleUiKey.Shuttle: enum.CargoConsoleUiKey.Shuttle:
type: CargoShuttleConsoleBoundUserInterface type: CargoShuttleConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: CargoShuttleComputerCircuitboard board: CargoShuttleComputerCircuitboard
- type: PointLight - type: PointLight
@@ -729,11 +784,10 @@
- type: entity - type: entity
id: ComputerCargoOrders id: ComputerCargoOrders
parent: BaseComputer parent: BaseComputerAiAccess
name: cargo request computer name: cargo request computer
description: Used to order supplies and approve requests. description: Used to order supplies and approve requests.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -744,6 +798,8 @@
state: request state: request
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: tech_key state: tech_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: CargoOrderConsole - type: CargoOrderConsole
- type: BankClient - type: BankClient
- type: ActiveRadio - type: ActiveRadio
@@ -755,6 +811,8 @@
interfaces: interfaces:
enum.CargoConsoleUiKey.Orders: enum.CargoConsoleUiKey.Orders:
type: CargoOrderConsoleBoundUserInterface type: CargoOrderConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: CargoRequestComputerCircuitboard board: CargoRequestComputerCircuitboard
- type: PointLight - type: PointLight
@@ -778,11 +836,10 @@
- type: entity - type: entity
id: ComputerCargoBounty id: ComputerCargoBounty
parent: BaseComputer parent: BaseComputerAiAccess
name: cargo bounty computer name: cargo bounty computer
description: Used to manage currently active bounties. description: Used to manage currently active bounties.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -793,6 +850,8 @@
state: bounty state: bounty
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: tech_key state: tech_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: CargoBountyConsole - type: CargoBountyConsole
- type: ActivatableUI - type: ActivatableUI
key: enum.CargoConsoleUiKey.Bounty key: enum.CargoConsoleUiKey.Bounty
@@ -800,6 +859,8 @@
interfaces: interfaces:
enum.CargoConsoleUiKey.Bounty: enum.CargoConsoleUiKey.Bounty:
type: CargoBountyConsoleBoundUserInterface type: CargoBountyConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: CargoBountyComputerCircuitboard board: CargoBountyComputerCircuitboard
- type: PointLight - type: PointLight
@@ -814,12 +875,11 @@
- Cargo - Cargo
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerCloningConsole id: ComputerCloningConsole
name: cloning console computer name: cloning console computer
description: The centerpiece of the cloning system, medicine's greatest accomplishment. It has lots of ports and wires. description: The centerpiece of the cloning system, medicine's greatest accomplishment. It has lots of ports and wires.
components: components:
- type: StationAiWhitelist
- type: CloningConsole - type: CloningConsole
- type: DeviceList - type: DeviceList
- type: DeviceNetwork - type: DeviceNetwork
@@ -834,6 +894,8 @@
state: dna state: dna
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: generic_keys state: generic_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: ApcPowerReceiver - type: ApcPowerReceiver
powerLoad: 3100 #We want this to fail first so I transferred most of the scanner and pod's power here. (3500 in total) powerLoad: 3100 #We want this to fail first so I transferred most of the scanner and pod's power here. (3500 in total)
- type: Computer - type: Computer
@@ -853,6 +915,8 @@
interfaces: interfaces:
enum.CloningConsoleUiKey.Key: enum.CloningConsoleUiKey.Key:
type: CloningConsoleBoundUserInterface type: CloningConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Speech - type: Speech
speechVerb: Robotic speechVerb: Robotic
speechSounds: Pai speechSounds: Pai
@@ -865,11 +929,10 @@
- type: entity - type: entity
id: ComputerSalvageExpedition id: ComputerSalvageExpedition
parent: BaseComputer parent: BaseComputerAiAccess
name: salvage expeditions computer name: salvage expeditions computer
description: Used to accept salvage missions, if you're tough enough. description: Used to accept salvage missions, if you're tough enough.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -880,6 +943,8 @@
state: mining state: mining
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: tech_key state: tech_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: Appearance - type: Appearance
- type: GenericVisualizer - type: GenericVisualizer
visuals: visuals:
@@ -890,6 +955,10 @@
computerLayerKeys: computerLayerKeys:
True: { visible: true, shader: unshaded } True: { visible: true, shader: unshaded }
False: { visible: true } False: { visible: true }
enum.WiresVisuals.MaintenancePanelState:
enum.WiresVisualLayers.MaintenancePanel:
True: { visible: false }
False: { visible: true }
- type: SalvageExpeditionConsole - type: SalvageExpeditionConsole
- type: ActivatableUI - type: ActivatableUI
key: enum.SalvageConsoleUiKey.Expedition key: enum.SalvageConsoleUiKey.Expedition
@@ -898,6 +967,8 @@
interfaces: interfaces:
enum.SalvageConsoleUiKey.Expedition: enum.SalvageConsoleUiKey.Expedition:
type: SalvageExpeditionConsoleBoundUserInterface type: SalvageExpeditionConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: SalvageExpeditionsComputerCircuitboard board: SalvageExpeditionsComputerCircuitboard
- type: PointLight - type: PointLight
@@ -925,6 +996,8 @@
state: cameras state: cameras
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: tech_key state: tech_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: Computer - type: Computer
board: SurveillanceCameraMonitorCircuitboard board: SurveillanceCameraMonitorCircuitboard
- type: DeviceNetwork - type: DeviceNetwork
@@ -943,6 +1016,8 @@
interfaces: interfaces:
enum.SurveillanceCameraMonitorUiKey.Key: enum.SurveillanceCameraMonitorUiKey.Key:
type: SurveillanceCameraMonitorBoundUserInterface type: SurveillanceCameraMonitorBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: entity - type: entity
parent: BaseComputer parent: BaseComputer
@@ -960,6 +1035,8 @@
state: cameras state: cameras
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: tech_key state: tech_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: Computer - type: Computer
board: SurveillanceWirelessCameraMonitorCircuitboard board: SurveillanceWirelessCameraMonitorCircuitboard
- type: DeviceNetwork - type: DeviceNetwork
@@ -980,14 +1057,15 @@
interfaces: interfaces:
enum.SurveillanceCameraMonitorUiKey.Key: enum.SurveillanceCameraMonitorUiKey.Key:
type: SurveillanceCameraMonitorBoundUserInterface type: SurveillanceCameraMonitorBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: entity - type: entity
id: ComputerPalletConsole id: ComputerPalletConsole
parent: BaseComputer parent: BaseComputerAiAccess
name: cargo sale computer name: cargo sale computer
description: Used to sell goods loaded onto cargo pallets. description: Used to sell goods loaded onto cargo pallets.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -998,6 +1076,8 @@
state: request state: request
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: tech_key state: tech_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: Anchorable - type: Anchorable
flags: flags:
- Anchorable - Anchorable
@@ -1008,6 +1088,8 @@
interfaces: interfaces:
enum.CargoPalletConsoleUiKey.Sale: enum.CargoPalletConsoleUiKey.Sale:
type: CargoPalletConsoleBoundUserInterface type: CargoPalletConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer - type: Computer
board: CargoSaleComputerCircuitboard board: CargoSaleComputerCircuitboard
- type: PointLight - type: PointLight
@@ -1019,12 +1101,11 @@
- Cargo - Cargo
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerMassMedia id: ComputerMassMedia
name: news manager console name: news manager console
description: Write your message to the world! description: Write your message to the world!
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -1035,6 +1116,8 @@
state: service state: service
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: service_keys state: service_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: Computer - type: Computer
board: ComputerMassMediaCircuitboard board: ComputerMassMediaCircuitboard
- type: DeviceNetworkRequiresPower - type: DeviceNetworkRequiresPower
@@ -1050,6 +1133,8 @@
interfaces: interfaces:
enum.NewsWriterUiKey.Key: enum.NewsWriterUiKey.Key:
type: NewsWriterBoundUserInterface type: NewsWriterBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: entity - type: entity
parent: BaseComputer parent: BaseComputer
@@ -1070,6 +1155,8 @@
state: sensors state: sensors
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: atmos_key state: atmos_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: PointLight - type: PointLight
radius: 1.5 radius: 1.5
energy: 1.6 energy: 1.6
@@ -1083,6 +1170,8 @@
interfaces: interfaces:
enum.SensorMonitoringConsoleUiKey.Key: enum.SensorMonitoringConsoleUiKey.Key:
type: SensorMonitoringConsoleBoundUserInterface type: SensorMonitoringConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: DeviceNetwork - type: DeviceNetwork
deviceNetId: AtmosDevices deviceNetId: AtmosDevices
receiveFrequencyId: AtmosMonitor receiveFrequencyId: AtmosMonitor
@@ -1095,12 +1184,11 @@
- type: AtmosDevice - type: AtmosDevice
- type: entity - type: entity
parent: BaseComputer parent: BaseComputerAiAccess
id: ComputerRoboticsControl id: ComputerRoboticsControl
name: robotics control console name: robotics control console
description: Used to remotely monitor, disable and destroy the station's cyborgs. description: Used to remotely monitor, disable and destroy the station's cyborgs.
components: components:
- type: StationAiWhitelist
- type: Sprite - type: Sprite
layers: layers:
- map: ["computerLayerBody"] - map: ["computerLayerBody"]
@@ -1111,6 +1199,8 @@
state: robot state: robot
- map: ["computerLayerKeys"] - map: ["computerLayerKeys"]
state: rd_key state: rd_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: RoboticsConsole - type: RoboticsConsole
- type: ActiveRadio - type: ActiveRadio
channels: channels:
@@ -1121,6 +1211,8 @@
interfaces: interfaces:
enum.RoboticsConsoleUiKey.Key: enum.RoboticsConsoleUiKey.Key:
type: RoboticsConsoleBoundUserInterface type: RoboticsConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: ApcPowerReceiver - type: ApcPowerReceiver
powerLoad: 1000 powerLoad: 1000
- type: DeviceNetwork - type: DeviceNetwork
@@ -1150,6 +1242,8 @@
state: aiupload state: aiupload
- map: [ "computerLayerKeys" ] - map: [ "computerLayerKeys" ]
state: generic_keys state: generic_keys
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: ApcPowerReceiver - type: ApcPowerReceiver
powerLoad: 1000 powerLoad: 1000
- type: Computer - type: Computer

View File

@@ -117,15 +117,15 @@
amount: 2 amount: 2
steps: steps:
- tool: Prying - tool: Prying
doAfter: 1
- node: computer - node: computer
entity: !type:BoardNodeEntity { container: board } entity: !type:BoardNodeEntity { container: board }
edges: edges:
- to: monitorUnsecured - to: monitorUnsecured
conditions:
- !type:AllWiresCut {}
steps: steps:
- tool: Screwing - tool: Prying
doAfter: 1
- node: monitorBroken - node: monitorBroken
entity: ComputerBroken entity: ComputerBroken

View File

@@ -156,22 +156,35 @@
id: TrainingDefusable id: TrainingDefusable
dummyWires: 0 dummyWires: 0
wires: wires:
- !type:ActivateWireAction - !type:ActivateWireAction
- !type:BoltWireAction - !type:BoltWireAction
- !type:DelayWireAction - !type:DelayWireAction
- !type:ProceedWireAction - !type:ProceedWireAction
- !type:BoomWireAction - !type:BoomWireAction
- type: wireLayout - type: wireLayout
id: Jukebox id: Jukebox
dummyWires: 2 dummyWires: 2
wires: wires:
- !type:PowerWireAction - !type:PowerWireAction
- !type:AiInteractWireAction - !type:AiInteractWireAction
- type: wireLayout - type: wireLayout
id: AnomalyGenerator id: AnomalyGenerator
dummyWires: 2 dummyWires: 2
wires: wires:
- !type:PowerWireAction - !type:PowerWireAction
- !type:AiInteractWireAction - !type:AiInteractWireAction
- type: wireLayout
id: Computer
dummyWires: 3
wires:
- !type:PowerWireAction
- type: wireLayout
id: ComputerAi
dummyWires: 2
wires:
- !type:PowerWireAction
- !type:AiInteractWireAction

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CC-BY-SA-3.0", "license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/bd6873fd4dd6a61d7e46f1d75cd4d90f64c40894. comm_syndie made by Veritius, based on comm.", "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/bd6873fd4dd6a61d7e46f1d75cd4d90f64c40894. comm_syndie made by Veritius, based on comm. generic_panel_open made by Errant, commit https://github.com/space-wizards/space-station-14/pull/32273.",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32
@@ -1013,6 +1013,10 @@
"name": "generic_keys", "name": "generic_keys",
"directions": 4 "directions": 4
}, },
{
"name": "generic_panel_open",
"directions": 4
},
{ {
"name": "generic_keyboard", "name": "generic_keyboard",
"directions": 4 "directions": 4