- type: entity
  id: BaseProtogenOrganUnGibbable
  parent: BaseItem
  abstract: true
  components:
  - type: Sprite
    sprite: _Mono/Mobs/Species/Protogen/organs.rsi
  - type: Organ
  - type: Food
  #    quality: Nasty # Frontier
  - type: Extractable
    grindableSolutionName: organ
  - type: SolutionContainerManager
    solutions:
      organ:
        reagents:
        - ReagentId: Nutriment
          Quantity: 10
      food:
        maxVol: 5
        reagents:
        - ReagentId: UncookedAnimalProteins
          Quantity: 5
  - type: FlavorProfile
    flavors:
    - people
  - type: Tag
    tags:
    - Meat

- type: entity
  id: BaseProtogenOrgan
  parent: BaseProtogenOrganUnGibbable
  abstract: true
  components:
  - type: Gibbable

- type: entity
  id: OrganProtogenBrain
  parent: BaseProtogenOrganUnGibbable
  name: brain
  description: "The source of incredible, unending intelligence. 01001000 01101111 01101110 01101011 00101110"
  components:
  - type: MindContainer
    showExamineInfo: true
  - type: Speech
    enabled: false
  - type: TypingIndicator
    proto: empty
  - type: Emoting
    enabled: false
  - type: Sprite
    state: brain
  - type: Organ
    slotId: brain # Shitmed Change
  - type: Input
    context: "ghost"
  - type: Brain
  - type: InputMover
  - type: Examiner
  - type: BlockMovement
  - type: BadFood
  - type: Tag
    tags:
    - Meat
  - type: SolutionContainerManager
    solutions:
      organ:
        reagents:
        - ReagentId: Nutriment
          Quantity: 10
      food:
        maxVol: 5
        reagents:
        - ReagentId: GreyMatter
          Quantity: 5
  - type: FlavorProfile
    flavors:
    - people
  - type: FoodSequenceElement
    entries:
      Burger: Brain
      Taco: Brain
  - type: Item
    size: Small
    heldPrefix: brain

- type: entity
  id: OrganProtogenEyes
  parent: BaseProtogenOrgan
  name: eyes
  description: "Emits LED lights to resemble eyes."
  components:
  - type: Organ # Shitmed Change
    slotId: eyes # Shitmed Change
  - type: Eyes # Shitmed Change
  - type: Sprite
    layers:
    - state: eyeball-l
    - state: eyeball-r
  - type: Item
    size: Small
    heldPrefix: eyeballs

- type: entity
  id: OrganProtogenTongue
  parent: BaseProtogenOrgan
  name: tongue
  description: "A fleshy muscle located within a Protogen's mouth, wherever that is."
  components:
  - type: Sprite
    state: tongue

- type: entity
  id: OrganProtogenAppendix
  parent: BaseProtogenOrgan
  name: appendix
  components:
  - type: Sprite
    layers:
    - state: appendix
    - state: appendix-inflamed
      visible: false

- type: entity
  id: OrganProtogenEars
  parent: BaseHumanOrgan
  name: ears
  description: "Lets a Protogen process audio. And listen to their favorite techno hits."
  components:
  - type: Sprite
    state: ears
  - type: Ears # Shitmed Change

- type: entity
  id: OrganProtogenLungs
  parent: BaseProtogenOrgan
  name: lungs
  description: "Filters oxygen from an atmosphere, which is then sent into the bloodstream to be used as an electron carrier. God knows how a Protogen breathes at all."
  components:
  - type: Organ # Shitmed Change
    slotId: lungs # Shitmed Change
  - type: Sprite
    layers:
    - state: lung-l
    - state: lung-r
  - type: Item
    size: Small
    heldPrefix: lungs
  - type: Lung
  - type: Metabolizer
    removeEmpty: true
    solutionOnBody: false
    solution: "Lung"
    metabolizerTypes: [ Human ]
    groups:
    - id: Gas
      rateModifier: 100.0
  - type: SolutionContainerManager
    solutions:
      organ:
        reagents:
        - ReagentId: Nutriment
          Quantity: 10
      Lung:
        maxVol: 100.0
        canReact: false
      food:
        maxVol: 5
        reagents:
        - ReagentId: UncookedAnimalProteins
          Quantity: 5

- type: entity
  id: OrganProtogenHeart
  parent: BaseProtogenOrgan
  name: heart
  description: "Even the most stone-cold, technology-based heart was alive once."
  components:
  - type: Heart # Shitmed Change
  - type: Organ # Shitmed Change
    slotId: heart # Shitmed Change
  - type: Sprite
    state: heart-on
  # The heart 'metabolizes' medicines and poisons that aren't filtered out by other organs.
  # This is done because these chemicals need to have some effect even if they aren't being filtered out of your body.
  # You're technically 'immune to poison' without a heart, but.. uhh, you'll have bigger problems on your hands.
  - type: Metabolizer
    maxReagents: 2
    metabolizerTypes: [Human]
    groups:
    - id: Medicine
    - id: Cryogenic # Frontier
    - id: Poison
    - id: Narcotic
  - type: Item
    size: Small
    heldPrefix: heart

- type: entity
  id: OrganProtogenStomach
  parent: BaseProtogenOrgan
  name: stomach
  description: "Gross. This is hard to stomach."
  components:
  - type: Organ # Shitmed Change
    slotId: stomach # Shitmed Change
  - type: Sprite
    state: stomach
  - type: Item
    size: Small
    heldPrefix: stomach
  - type: SolutionContainerManager
    solutions:
      stomach:
        maxVol: 50
      food:
        maxVol: 5
        reagents:
        - ReagentId: UncookedAnimalProteins
          Quantity: 5
  - type: Stomach
  # The stomach metabolizes stuff like foods and drinks.
  # TODO: Have it work off of the ent's solution container, and move this
  # to intestines instead.
  - type: Metabolizer
    # mm yummy
    maxReagents: 3
    metabolizerTypes: [Animal]
    groups:
    - id: Food
    - id: Drink

- type: entity
  id: OrganProtogenLiver
  parent: BaseProtogenOrgan
  name: liver
  description: "Pairing suggestion: fermented RAM sticks and CPU drives."
  components:
  - type: Liver # Shitmed Change
  - type: Organ # Shitmed Change
    slotId: liver # Shitmed Change
  - type: Sprite
    state: liver
  - type: Item
    size: Small
    heldPrefix: liver
  - type: Metabolizer # The liver metabolizes certain chemicals only, like alcohol.
    maxReagents: 1
    metabolizerTypes: [Human]
    groups:
    - id: Alcohol
      rateModifier: 0.1 # removes alcohol very slowly along with the stomach removing it as a drink

- type: entity
  id: OrganProtogenKidneys
  parent: BaseProtogenOrgan
  name: kidneys
  description: "Filters toxins and computer viruses from the bloodstream."
  components:
  - type: Organ # Shitmed
    slotId: kidneys
  - type: Sprite
    layers:
    - state: kidney-l
    - state: kidney-r
  - type: Item
    size: Small
    heldPrefix: kidneys
  # The kidneys just remove anything that doesn't currently have any metabolisms, as a stopgap.
  - type: Metabolizer
    maxReagents: 5
    metabolizerTypes: [Human]
    removeEmpty: true
