# This was peeled off of upstream's `CrewMonitoringServer`. Changes to that prototype from upstream should be
# carefully considered to be added here or there, depending on whether it should affect just the machine variant, or all
# variants of the crewmon server.
- type: entity
  id: BaseCrewMonitoringServer
  abstract: true
  name: abstract crew monitoring server
  description: Receives and relays the status of all active suit sensors on the station.
  components:
  - type: CrewMonitoringServer
  - type: SingletonDeviceNetServer
  - type: DeviceNetwork
    deviceNetId: Wireless
    transmitFrequencyId: CrewMonitor
    receiveFrequencyId: SuitSensor
    autoConnect: true # Starlight
  - type: WirelessNetworkConnection
    range: 500
  - type: StationLimitedNetwork
  - type: ApcPowerReceiver
    powerLoad: 200
  - type: ExtensionCableReceiver
  - type: WiresPanel
  - type: WiresVisuals
  - type: Appearance
  - type: GenericVisualizer
    visuals:
      enum.PowerDeviceVisuals.Powered:
        enum.PowerDeviceVisualLayers.Powered:
          True: { visible: true }
          False: { visible: false }
  - type: GuideHelp
    guides:
    - Medical
