- type: entity
  id: AutolatheMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: autolathe machine board
  description: A machine printed circuit board for an autolathe
  components:
    - type: MachineBoard
      prototype: Autolathe
      requirements:
        MatterBin: 3
        Manipulator: 1
      materialRequirements:
        Glass: 1

- type: entity
  id: ProtolatheMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: protolathe machine board
  description: A machine printed circuit board for a protolathe
  components:
    - type: MachineBoard
      prototype: Protolathe
      requirements:
        MatterBin: 2
        Manipulator: 2
      tagRequirements:
        GlassBeaker:
          Amount: 2
          DefaultPrototype: Beaker
          ExamineName: Glass Beaker

- type: entity
  id: CircuitImprinterMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: circuit imprinter machine board
  components:
  - type: MachineBoard
    prototype: CircuitImprinter
    requirements:
      MatterBin: 1
      Manipulator: 1
    tagRequirements:
      GlassBeaker:
        Amount: 2
        DefaultPrototype: Beaker
        ExamineName: Glass Beaker

- type: entity
  id: UniformPrinterMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: uniform printer machine board
  components:
  - type: MachineBoard
    prototype: UniformPrinter
    requirements:
      MatterBin: 1
      Manipulator: 1
      Laser: 1

- type: entity
  id: VaccinatorMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: vaccinator machine board
  components:
  - type: MachineBoard
    prototype: Vaccinator
    requirements:
      MatterBin: 1
      Manipulator: 1
    materialRequirements:
      Cable: 5
    tagRequirements:
        GlassBeaker:
          Amount: 1
          DefaultPrototype: Beaker
          ExamineName: Glass Beaker

- type: entity
  id: DiagnoserMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: diagnoser machine board
  components:
  - type: MachineBoard
    prototype: DiseaseDiagnoser
    requirements:
      Manipulator: 1
      Laser: 2
    materialRequirements:
      Cable: 5

- type: entity
  id: ThermomachineFreezerMachineCircuitBoard
  parent: BaseMachineCircuitboard
  name: freezer thermomachine machine board
  description: Looks like you could use a screwdriver to change the board type.
  components:
  - type: MachineBoard
    prototype: GasThermoMachineFreezer
    requirements:
      MatterBin: 3
      Laser: 3
    materialRequirements:
      Cable: 5
  - type: Construction
    graph: ThermomachineBoard
    node: freezer

- type: entity
  id: ThermomachineHeaterMachineCircuitBoard
  parent: BaseMachineCircuitboard
  name: heather thermomachine machine board
  description: Looks like you could use a screwdriver to change the board type.
  components:
  - type: MachineBoard
    prototype: GasThermoMachineHeater
    requirements:
      MatterBin: 3
      Laser: 3
    materialRequirements:
      Cable: 5
  - type: Construction
    graph: ThermomachineBoard
    node: heater

- type: entity
  id: CloningPodMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: cloning pod machine board
  description: A machine printed circuit board for a cloning pod
  components:
    - type: MachineBoard
      prototype: CloningPod
      requirements:
        ScanningModule: 2
        Manipulator: 2
      materialRequirements:
        Glass: 1
        Cable: 1

- type: entity
  id: MedicalScannerMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: medical scanner machine board
  description: A machine printed circuit board for a medical scanner
  components:
    - type: MachineBoard
      prototype: MedicalScanner
      requirements:
        ScanningModule: 1
        Manipulator: 1
        Laser: 1
      materialRequirements:
        Glass: 1
        Cable: 1

- type: entity
  id: ChemMasterMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: ChemMaster 4000 machine board
  description: A machine printed circuit board for a ChemMaster 4000
  components:
    - type: MachineBoard
      prototype: chem_master
      requirements:
        Manipulator: 1
      materialRequirements:
        Glass: 1
      tagRequirements:
        GlassBeaker:
          Amount: 2
          DefaultPrototype: Beaker
          ExamineName: Glass Beaker

- type: entity
  id: ChemDispenserMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: chem dispenser machine board
  description: A machine printed circuit board for a chem dispenser
  components:
    - type: MachineBoard
      prototype: chem_dispenser
      requirements:
        Capacitor: 1
        Manipulator: 1
        MatterBin: 2
      materialRequirements:
        Glass: 1

- type: entity
  id: HydroponicsTrayMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: hydroponics tray machine board
  description: A machine printed circuit board for a hydroponics tray
  components:
    - type: MachineBoard
      prototype: hydroponicsTray
      # See: https://github.com/vgstation-coders/vgstation13/blob/e9a806f30b4db0efa2a68b9eb42e3120d2321b6a/code/modules/hydroponics/hydro_tray.dm#L57
      requirements:
        MatterBin: 2
        ScanningModule: 1
        Capacitor: 1
      materialRequirements:
        # replacing the console screen
        Glass: 1
      tagRequirements:
        GlassBeaker:
          Amount: 2
          DefaultPrototype: Beaker
          ExamineName: Glass Beaker

- type: entity
  id: SMESMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: SMES machine board
  description: A machine printed circuit board for a SMES
  components:
    - type: Sprite
      sprite: Objects/Misc/module.rsi
      state: power_mod
    - type: MachineBoard
      prototype: BaseSMES
      requirements:
        Capacitor: 10

- type: entity
  id: SubstationMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: substation machine board
  description: A machine printed circuit board for a substation
  components:
    - type: MachineBoard
      prototype: BaseSubstation
      requirements:
        Capacitor: 3
      materialRequirements:
        CableMV: 5
        CableHV: 5

- type: entity
  parent: BaseMachineCircuitboard
  id: DawInstrumentMachineCircuitboard
  name: digital audio workstation machine board
  components:
    - type: MachineBoard
      prototype: DawInstrument
      requirements:
        Capacitor: 4
        ScanningModule: 5
      materialRequirements:
        Glass: 1
      tagRequirements:
#      One instrument to bring them all and in the darkness bind them...
       KeyedInstrument:
          Amount: 1
          DefaultPrototype: SynthesizerInstrument
          ExamineName: Keyed Instrument
       StringInstrument:
          Amount: 1
          DefaultPrototype: AcousticGuitarInstrument
          ExamineName: String Instrument
       PercussionInstrument:
          Amount: 1
          DefaultPrototype: GlockenspielInstrument
          ExamineName: Percussion Instrument
       BrassInstrument:
          Amount: 1
          DefaultPrototype: TrumpetInstrument
          ExamineName: Brass Instrument
       WoodwindInstrument:
          Amount: 1
          DefaultPrototype: SaxophoneInstrument
          ExamineName: Woodwind Instrument

- type: entity
  id: GeneratorPlasmaMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: generator (plasma) machine board
  components:
    - type: MachineBoard
      prototype: GeneratorPlasma
      requirements:
        Capacitor: 1
      materialRequirements:
        CableHV: 5
        
- type: entity
  id: GeneratorUraniumMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: generator (uranium) machine board
  components:
    - type: MachineBoard
      prototype: GeneratorUranium
      requirements:
        Capacitor: 2
      materialRequirements:
        CableHV: 10

- type: entity
  id: ReagentGrinderMachineCircuitboard
  parent: BaseMachineCircuitboard
  name: reagent grinder machine board
  description: A machine printed circuit board for a reagent grinder
  components:
    - type: MachineBoard
      prototype: KitchenReagentGrinder
      requirements:
        Laser: 1
        ScanningModule: 1
        MatterBin: 2
      tagRequirements:
        GlassBeaker:
          Amount: 1
          DefaultPrototype: Beaker
          ExamineName: Glass Beaker
