- type: entity
  parent: BaseItem
  id: MMI
  name: man-machine interface
  description: A machine able to facilitate communication between a biological brain and electronics, enabling crew to continue to provide value after work-related incidents.
  components:
  - type: Sprite
    sprite: Objects/Specific/Robotics/mmi.rsi
    layers:
    - state: mmi_brain
      map: ["enum.MMIVisualLayers.Brain"]
      visible: false
    - state: mmi_off
      map: ["enum.MMIVisualLayers.Base"]
  - type: Input
    context: human
  - type: MMI
  - type: BorgBrain
  - type: BlockMovement
    blockInteraction: false
  - type: Examiner
  - type: IntrinsicRadioReceiver
  - type: IntrinsicRadioTransmitter
    channels:
    - Binary
  - type: ActiveRadio
    channels:
    - Binary
    - Common
  - type: NameIdentifier
    group: MMI
  - type: DoAfter
  - type: Actions
  - type: TypingIndicator
    proto: robot
  - type: Speech
    speechSounds: Pai
  - type: ItemSlots
    slots:
      brain_slot:
        name: positronic-brain-slot-component-slot-name-brain
        whitelist:
          components:
          - OrganBrain
  - type: ContainerContainer
    containers:
      brain_slot: !type:ContainerSlot
  - type: Appearance
  - type: GuideHelp
    guides:
    - Cyborgs
    - Robotics
  - type: ChangeVoiceInContainer
    whitelist:
      components:
      - SecretStash

- type: entity
  parent: MMI
  id: MMIFilled
  suffix: Filled
  components:
  - type: ItemSlots
    slots:
      brain_slot:
        name: "Brain"
        startingItem: OrganHumanBrain
        whitelist:
          components:
            - OrganBrain

- type: entity
  parent: BaseItem
  id: PositronicBrain
  name: positronic brain
  description: An artificial brain capable of spontaneous neural activity.
  components:
    - type: Organ # Sunrise-Edit
    - type: Brain # Sunrise-Edit
    - type: Sprite
      sprite: Objects/Specific/Robotics/mmi.rsi
      layers:
      - state: posibrain
        map: ["base"]
    - type: Input
      context: human
#    - type: ToggleableGhostRole
#      examineTextMindPresent: positronic-brain-installed
#      examineTextMindSearching: positronic-brain-still-searching
#      examineTextNoMind: positronic-brain-off
#      beginSearchingText: positronic-brain-searching
#      roleName: positronic-brain-role-name
#      roleDescription: positronic-brain-role-description
#      roleRules: ghost-role-information-silicon-rules
#      mindRoles:
#      - MindRoleGhostRoleSilicon
#      wipeVerbText: positronic-brain-wipe-device-verb-text
#      wipeVerbPopup: positronic-brain-wiped-device
#      stopSearchVerbText: positronic-brain-stop-searching-verb-text
#      stopSearchVerbPopup: positronic-brain-stopped-searching
#      job: Borg
    - type: BlockMovement
      blockInteraction: false
    - type: Examiner

    - type: NameIdentifier
      group: PositronicBrain
    - type: DoAfter
    - type: Actions
    - type: TypingIndicator
      proto: robot
    - type: Speech
      speechSounds: Pai
    - type: Alerts
    - type: MobState
      allowedStates:
      - Alive
      - Dead
    - type: Appearance
    - type: Tag
      tags:
      - CannotSuicide
    - type: GenericVisualizer
      visuals:
        enum.ToggleableGhostRoleVisuals.Status:
          base:
            Off: { state: posibrain }
            Searching: { state: posibrain-searching }
            On: { state: posibrain-occupied }
    - type: GuideHelp
      guides:
      - Cyborgs
      - Robotics
    - type: ChangeVoiceInContainer
      whitelist:
        components:
        - SecretStash
