- type: entity
  parent: ComputerBase
  id: ComputerAlert
  name: alerts computer
  description: Used to access the station's automated alert system.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: atmos_key
      screen: "alert-2"
  - type: Computer
    board: AlertsComputerCircuitboard

- type: entity
  parent: ComputerBase
  id: ComputerShuttleBase
  name: shuttle console
  description: Used to pilot a shuttle.
  abstract: true
  components:
  - type: ShuttleConsole
  - type: ExtensionCableReceiver
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#43ccb5"
  - type: Rotatable
    rotateWhileAnchored: true

- type: entity
  parent: ComputerShuttleBase
  id: ComputerShuttle
  name: shuttle console
  description: Used to pilot a shuttle.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: generic_key
      screen: shuttle
  - type: Computer
    board: ShuttleConsoleCircuitboard

- type: entity
  parent: ComputerShuttleBase
  id: ComputerShuttleSyndie
  name: syndicate shuttle console
  description: Used to pilot a syndicate shuttle.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: syndie_key
      screen: syndishuttle
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#c94242"

- type: entity
  parent: ComputerBase
  id: ComputerPowerMonitoring
  name: power monitoring computer
  description: It monitors power levels across the station.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: power_key
      screen: power_monitor
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#c9c042"
  - type: Computer
    board: PowerComputerCircuitboard

- type: entity
  parent: ComputerBase
  id: ComputerMedicalRecords
  name: medical records computer
  description: This can be used to check medical records.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: med_key
      screen: medcomp
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#1f8c28"
  - type: Computer
    board: MedicalRecordsComputerCircuitboard

- type: entity
  parent: ComputerBase
  id: ComputerCriminalRecords
  name: criminal records computer
  description: This can be used to check criminal records.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: security_key
      screen: explosive
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#1f8c28"
  - type: Computer
    board: CriminalRecordsComputerCircuitboard

- type: entity
  parent: ComputerBase
  id: ComputerCrewMonitoring
  name: crew monitoring console
  description: Used to monitor active health sensors built into most of the crew's uniforms.
  components:
    - type: Appearance
      visuals:
        - type: ComputerVisualizer
          key: med_key
          screen: crew
    - type: PointLight
      radius: 1.5
      energy: 1.6
      color: "#006400"
    - type: Computer
      board: CrewMonitoringComputerCircuitboard
    - type: ActivatableUI
      key: enum.CrewMonitoringUIKey.Key
    - type: ActivatableUIRequiresPower
    - type: UserInterface
      interfaces:
        - key: enum.CrewMonitoringUIKey.Key
          type: CrewMonitoringBoundUserInterface
    - type: CrewMonitoringConsole
    - type: DeviceNetworkComponent
      deviceNetId: Wireless
    - type: WirelessNetworkConnection
      range: 500

- type: entity
  parent: ComputerBase
  id: ComputerResearchAndDevelopment
  name: R&D computer
  description: A computer used to interface with R&D tools.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: rd_key
      screen: rdcomp
  - type: ResearchClient
  - type: ResearchConsole
  - type: TechnologyDatabase
  - type: ActivatableUI
    key: enum.ResearchConsoleUiKey.Key
  - type: ActivatableUIRequiresPower
  - type: UserInterface
    interfaces:
    - key: enum.ResearchConsoleUiKey.Key
      type: ResearchConsoleBoundUserInterface
    - key: enum.ResearchClientUiKey.Key
      type: ResearchClientBoundUserInterface
  - type: ApcPowerReceiver
    powerLoad: 1000
    priority: Low
  - type: ExtensionCableReceiver
  - type: Computer
    board: ResearchComputerCircuitboard
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#b53ca1"

- type: entity
  parent: ComputerBase
  id: ComputerId
  name: ID card computer
  description: Terminal for programming Nanotrasen employee ID cards to access parts of the station.
  components:
  - type: AccessReader
    access: [["HeadOfPersonnel"]]
  - type: IdCardConsole
    privilegedIdSlot:
      name: id-card-console-privileged-id
      ejectSound: /Audio/Machines/id_swipe.ogg
      insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
      ejectOnBreak: true
      swap: false
      whitelist:
        components:
        - IdCard
    targetIdSlot:
      name: id-card-console-target-id
      ejectSound: /Audio/Machines/id_swipe.ogg
      insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
      ejectOnBreak: true
      swap: false
      whitelist:
        components:
        - IdCard
  - type: ActivatableUI
    key: enum.IdCardConsoleUiKey.Key
  - type: ActivatableUIRequiresPower
  - type: UserInterface
    interfaces:
    - key: enum.IdCardConsoleUiKey.Key
      type: IdCardConsoleBoundUserInterface
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: id_key
      screen: id
  - type: Computer
    board: IDComputerCircuitboard
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#3c5eb5"

- type: entity
  parent: ComputerBase
  id: computerBodyScanner
  name: body scanner computer
  description: That's a body scanner.
  components:
  - type: BodyScanner
  - type: ActivatableUI
    key: enum.BodyScannerUiKey.Key
  - type: ActivatableUIRequiresPower
  - type: UserInterface
    interfaces:
    - key: enum.BodyScannerUiKey.Key
      type: BodyScannerBoundUserInterface
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: generic_key
      screen: generic
  - type: ApcPowerReceiver
    powerLoad: 500
  - type: Computer
    board: BodyScannerComputerCircuitboard
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#1f8c28"

- type: entity
  parent: ComputerBase
  id: ComputerComms
  name: communications computer
  description: This can be used for various important functions. Still under development.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: generic_key
      screen: comm
  - type: CommunicationsConsole
  - type: ActivatableUI
    key: enum.CommunicationsConsoleUiKey.Key
  - type: ActivatableUIRequiresPower
  - type: UserInterface
    interfaces:
    - key: enum.CommunicationsConsoleUiKey.Key
      type: CommunicationsConsoleBoundUserInterface
  - type: Computer
    board: CommsComputerCircuitboard
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#3c5eb5"

- type: entity
  parent: ComputerBase
  id: ComputerSolarControl
  name: solar control computer
  description: A controller for solar panel arrays.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: generic_key
      screen: solar_screen
  - type: SolarControlConsole
  - type: ActivatableUI
    key: enum.SolarControlConsoleUiKey.Key
  - type: ActivatableUIRequiresPower
  - type: UserInterface
    interfaces:
    - key: enum.SolarControlConsoleUiKey.Key
      type: SolarControlConsoleBoundUserInterface
  - type: Computer
    board: SolarControlComputerCircuitboard
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#e6e227"
  - type: Tag
    tags:
      - DroneUsable


- type: entity
  parent: ComputerBase
  id: ComputerRadar
  name: mass scanner computer
  description: A computer for detecting nearby bodies, displaying them by position and mass.
  components:
    - type: Appearance
      visuals:
        - type: ComputerVisualizer
          key: generic_key
          screen: solar_screen
    - type: RadarConsole
    - type: ActivatableUI
      key: enum.RadarConsoleUiKey.Key
    - type: ActivatableUIRequiresPower
    - type: UserInterface
      interfaces:
        - key: enum.RadarConsoleUiKey.Key
          type: RadarConsoleBoundUserInterface
    - type: Computer
      board: RadarConsoleCircuitboard
    - type: PointLight
      radius: 1.5
      energy: 1.6
      color: "#e6e227"

- type: entity
  id: ComputerSupplyOrdering
  parent: ComputerBase
  name: Cargo ordering computer
  description: Used to order supplies, approve requests, and control the shuttle.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: tech_key
      screen: supply
  - type: CargoConsole
  - type: CargoOrderDatabase
  - type: GalacticMarket
    products:
      - MedicalSupplies
      - MedicalChemistrySupplies
      - EmergencyExplosive
      - EmergencyFire
      - EmergencyInternals
      - EmergencyRadiation
      - EmergencyInflatablewall
      - ArmorySmg
      - ArmoryShotgun
      - SecurityArmor
      - SecurityRiot
      - SecurityLaser
      - SecurityHelmet
      - SecuritySupplies
      - SecurityNonLethal
      - SecurityRestraints
      - HydroponicsTools
      - HydroponicsSeeds
      - HydroponicsSeedsExotic
      - LivestockMonkeyCube
      - LivestockCow
      - LivestockChicken
      - LivestockDuck
      - LivestockGoat
      - FoodPizza
      - ServiceJanitorial
      - ServiceLightsReplacement
      - ServiceSmokeables
      - ServiceCustomSmokable
      - ServiceBureaucracy
      - ServicePersonnel
      - EngineeringCableLv
      - EngineeringCableMv
      - EngineeringCableHv
      - EngineeringCableBulk
      - EngineAmeShielding
      - EngineAmeJar
      - EngineAmeControl
      - EngineSolar
      - FunPlushies
      - FunArtSupplies
      - FunInstruments
      - FunBoardGames
      - MaterialSteel
      - MaterialGlass
      - MaterialPlastic
      - MaterialPlasteel
      - MaterialPlasma
      - EngineSingularityEmitter
      - EngineSingularityCollector
      - EngineSingularityGenerator
      - EngineSingularityContainment
      - EngineParticleAccelerator
      - ShuttleThruster
      - ShuttleGyroscope
      - AtmosphericsAir
      - AtmosphericsOxygen
      - AtmosphericsNitrogen
      - AtmosphericsCarbonDioxide
#      - AtmosphericsWaterVapor
#      - AtmosphericsPlasma
#      - AtmosphericsTritium
  - type: ActivatableUI
    key: enum.CargoConsoleUiKey.Key
  - type: ActivatableUIRequiresPower
  - type: UserInterface
    interfaces:
    - key: enum.CargoConsoleUiKey.Key
      type: CargoConsoleBoundUserInterface
  - type: Computer
    board: SupplyComputerCircuitboard
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#b89f25"
  - type: AccessReader
    access: [["Cargo"]]

- type: entity
  id: ComputerSupplyRequest
  parent: ComputerSupplyOrdering
  name: cargo request computer
  description: Used to request supplies from cargo.
  components:
  - type: Appearance
    visuals:
    - type: ComputerVisualizer
      key: tech_key
      screen: request
  - type: CargoConsole
    requestOnly: true
  - type: Computer
    board: SupplyRequestComputerCircuitboard
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#b89f25"

- type: entity
  parent: BaseStructure
  id: ComputerTelevision
  name: wooden television
  description: It is an old television displaying the station's cameras, if they worked.
  components:
  - type: Sprite
    sprite: Structures/Machines/computers.rsi
    layers:
    - state: television
    - state: detective_television
      shader: unshaded
    visuals:
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#b89f25"
  - type: Fixtures
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.25,-0.25,0.25,0.25"
      mass: 50
      layer:
      - SmallImpassable
      mask:
      - Impassable
