- type: entity
  id: BorgChassisSelectable
  parent: BaseBorgChassisNT
  components:
  - type: Sprite
    layers:
    - state: robot
      map: ["enum.BorgVisualLayers.Body", "movement"]
    - state: robot_e_r
      map: ["enum.BorgVisualLayers.Light"]
      shader: unshaded
      visible: false
    - state: robot_l
      shader: unshaded
      map: ["light","enum.BorgVisualLayers.LightStatus"]
      visible: false
  - type: BorgChassis
    # Default borg can take no modules until selected type.
    maxModules: 0
    hasMindState: robot_e
    noMindState: robot_e_r
  - type: BorgTransponder
    sprite:
      sprite: Mobs/Silicon/chassis.rsi
      state: robot
    name: cyborg
  - type: InteractionPopup
    interactSuccessString: petting-success-generic-cyborg
    interactFailureString: petting-failure-generic-cyborg
  - type: BorgSwitchableType
    inherentRadioChannels:
    - Common
    - Binary

- type: entity
  id: BorgChassisGeneric
  parent: BorgChassisSelectable
  name: generic cyborg
  suffix: type picked
  components:
  - type: BorgSwitchableType
    selectedBorgType: generic

- type: entity
  id: BorgChassisMining
  parent: BorgChassisSelectable
  name: salvage cyborg
  components:
  - type: BorgSwitchableType
    selectedBorgType: mining

- type: entity
  id: BorgChassisEngineer
  parent: BorgChassisSelectable
  name: engineer cyborg
  components:
  - type: BorgSwitchableType
    selectedBorgType: engineering

- type: entity
  id: BorgChassisJanitor
  parent: BorgChassisSelectable
  name: janitor cyborg
  components:
  - type: BorgSwitchableType
    selectedBorgType: janitor

- type: entity
  id: BorgChassisMedical
  parent: BorgChassisSelectable
  name: medical cyborg
  components:
  - type: BorgSwitchableType
    selectedBorgType: medical

- type: entity
  id: BorgChassisService
  parent: BorgChassisSelectable
  name: service cyborg
  components:
  - type: BorgSwitchableType
    selectedBorgType: service

- type: entity
  id: BorgChassisSyndicateAssault
  parent: BaseBorgChassisSyndicate
  name: syndicate assault cyborg
  description: A lean, mean killing machine with access to a variety of deadly modules.
  components:
    - type: Sprite
      layers:
        - state: synd_sec
        - state: synd_sec_e
          map: ["enum.BorgVisualLayers.Light"]
          shader: unshaded
          visible: false
        - state: synd_sec_l
          shader: unshaded
          map: ["light"]
          visible: false
    - type: BorgChassis
      maxModules: 3
      moduleWhitelist:
        tags:
          - BorgModuleGeneric
          - BorgModuleSyndicate
          - BorgModuleSyndicateAssault
      hasMindState: synd_sec_e
      noMindState: synd_sec
    - type: InteractionPopup
      interactSuccessString: petting-success-syndicate-cyborg
      interactFailureString: petting-failure-syndicate-cyborg
      interactSuccessSound:
        path: /Audio/Ambience/Objects/periodic_beep.ogg

- type: entity
  id: BorgChassisSyndicateMedical
  parent: [BaseBorgChassisSyndicate, ShowMedicalIcons]
  name: syndicate medical cyborg
  description: A combat medical cyborg. Has limited offensive potential, but makes more than up for it with its support capabilities.
  components:
    - type: Sprite
      layers:
        - state: synd_medical
        - state: synd_medical_e
          map: ["enum.BorgVisualLayers.Light"]
          shader: unshaded
          visible: false
        - state: synd_medical_l
          shader: unshaded
          map: ["light"]
          visible: false
    - type: BorgChassis
      maxModules: 3
      moduleWhitelist:
        tags:
          - BorgModuleGeneric
          - BorgModuleMedical
          - BorgModuleSyndicate
      hasMindState: synd_medical_e
      noMindState: synd_medical
    - type: ShowHealthBars
    - type: InteractionPopup
      interactSuccessString: petting-success-syndicate-cyborg
      interactFailureString: petting-failure-syndicate-cyborg
      interactSuccessSound:
        path: /Audio/Ambience/Objects/periodic_beep.ogg
    - type: SolutionScanner
    - type: FootstepModifier
      footstepSoundCollection:
        collection: FootstepHoverBorg
        params:
          volume: -6

- type: entity
  id: BorgChassisSyndicateSaboteur
  parent: BaseBorgChassisSyndicate
  name: syndicate saboteur cyborg
  description: A streamlined engineering cyborg, equipped with covert modules. Its chameleon projector lets it disguise itself as a Nanotrasen cyborg.
  components:
    - type: Sprite
      layers:
        - state: synd_engi
        - state: synd_engi_e
          map: ["enum.BorgVisualLayers.Light"]
          shader: unshaded
          visible: false
        - state: synd_engi_l
          shader: unshaded
          map: ["light"]
          visible: false
    - type: BorgChassis
      maxModules: 3
      moduleWhitelist:
        tags:
          - BorgModuleGeneric
          - BorgModuleEngineering
          - BorgModuleSyndicate
      hasMindState: synd_engi_e
      noMindState: synd_engi
    - type: ShowHealthBars
      damageContainers:
      - Inorganic
      - Silicon
    - type: InteractionPopup
      interactSuccessString: petting-success-syndicate-cyborg
      interactFailureString: petting-failure-syndicate-cyborg
      interactSuccessSound:
        path: /Audio/Ambience/Objects/periodic_beep.ogg

- type: entity
  id: BorgChassisDerelict
  parent: BaseBorgChassisDerelict
  name: derelict cyborg
  description: A man-machine hybrid that assists in station activity. This one is in a state of great disrepair.
  components:
  - type: Sprite
    layers:
    - state: derelict
    - state: derelict_e_r
      map: ["enum.BorgVisualLayers.Light"]
      shader: unshaded
      visible: false
    - state: derelict_l
      shader: unshaded
      map: ["light"]
      visible: false
  - type: BorgChassis
    maxModules: 5 # the sixth one broke lol
    moduleWhitelist:
      tags:
      - BorgModuleGeneric
    hasMindState: derelict_e
    noMindState: derelict_e_r
  - type: Construction
    node: derelictcyborg
  - type: InteractionPopup
    interactSuccessString: petting-success-derelict-cyborg
    interactFailureString: petting-failure-derelict-cyborg
    interactSuccessSound:
      path: /Audio/Ambience/Objects/periodic_beep.ogg
