Add a crew monitoring server (#7542)

This commit is contained in:
Julian Giebel
2023-01-23 02:07:57 +01:00
committed by GitHub
parent ad9c5ae5e9
commit c2b87dfeda
20 changed files with 518 additions and 58 deletions

View File

@@ -53,12 +53,19 @@
name: device-frequency-prototype-name-atmos
frequency: 1621
# Only listen to this frequency if you are a health or GPS monitor. Otherwise you will just slow down the server by constantly receiving periodic broadcasts from every player-entity.
# Only listen to this frequency if you are a crew monitor server. Otherwise you will just slow down the server by constantly receiving periodic broadcasts from every player-entity.
- type: deviceFrequency
id: SuitSensor
name: device-frequency-prototype-name-suit-sensors
frequency: 1262
# Crew monitors listen to this for a list of suit sensor statuses
- type: deviceFrequency
id: CrewMonitor
name: device-frequency-prototype-name-crew-monitor
frequency: 1261
# This frequency will likely have a LARGE number of listening entities. Please don't broadcast on this frequency.
- type: deviceFrequency
id: SmartLight #used by powered lights.

View File

@@ -35,7 +35,8 @@
deviceNetId: Wireless
transmitFrequencyId: SuitSensor
- type: WirelessNetworkConnection
range: 500
range: 1200
- type: StationLimitedNetwork
- type: entity
abstract: true

View File

@@ -98,9 +98,10 @@
precision: 3
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: SuitSensor
receiveFrequencyId: CrewMonitor
- type: WirelessNetworkConnection
range: 500
- type: StationLimitedNetwork
- type: Thieving
stripTimeReduction: 9999
stealthy: true

View File

@@ -176,7 +176,7 @@
ScanningModule: 1
Capacitor: 2
materialRequirements:
Steel: 5
Steel: 5
Cable: 1
- type: entity
@@ -302,6 +302,21 @@
Glass: 5
Cable: 1
- type: entity
id: CrewMonitoringServerMachineCircuitboard
parent: BaseMachineCircuitboard
name: crew monitoring server machine board
description: A machine printed circuit board for a crew monitoring server
components:
- type: MachineBoard
prototype: CrewMonitoringServer
requirements:
Capacitor: 1
ScanningModule: 2
materialRequirements:
Steel: 1
Cable: 2
- type: entity
id: CryoPodMachineCircuitboard
parent: BaseMachineCircuitboard

View File

@@ -17,8 +17,9 @@
- type: CrewMonitoringConsole
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: SuitSensor
receiveFrequencyId: CrewMonitor
- type: WirelessNetworkConnection
range: 500
- type: StationLimitedNetwork
- type: StaticPrice
price: 500

View File

@@ -311,9 +311,9 @@
- type: CrewMonitoringConsole
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: SuitSensor
receiveFrequencyId: CrewMonitor
- type: WirelessNetworkConnection
range: 500
range: 1200
- type: entity
parent: BaseComputer

View File

@@ -0,0 +1,57 @@
- type: entity
id: CrewMonitoringServer
parent: BaseMachinePowered
name: crew monitoring server
description: Receives and relays the status of all active suit sensors on the station.
components:
- type: Sprite
sprite: Structures/Machines/server.rsi
layers:
- state: server
- state: variant-crew
- type: Construction
graph: Machine
node: machine
containers:
- machine_board
- machine_parts
- type: Machine
board: CrewMonitoringServerMachineCircuitboard
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
- type: CrewMonitoringServer
- type: DeviceNetwork
deviceNetId: Wireless
transmitFrequencyId: CrewMonitor
receiveFrequencyId: SuitSensor
autoConnect: false
- type: WirelessNetworkConnection
range: 500
- type: StationLimitedNetwork
- type: ApcPowerReceiver
powerLoad: 200
priority: Low
- type: ExtensionCableReceiver
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 2
- type: AmbientSound
volume: -9
range: 5
sound:
path: /Audio/Ambience/Objects/server_fans.ogg