# SPDX-FileCopyrightText: 2023 Nim <128169402+Nimfar11@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: MIT

- type: entity
  id: SentientSlimesCore
  parent: [BaseItem, OrganHumanBrain]
  name: sentient slimes core
  description: "The source of incredible, unending gooeyness."
  components:
    - type: Sprite
      sprite: Mobs/Species/Slime/organs.rsi
      state: brain-slime
    - type: Organ
      intCap: 60 # to prevent slimes from getting oneshot
      integrity: 60
      integrityThresholds:
        Normal: 60
        Damaged: 27
        Destroyed: 0
      slotId: core
    - type: Stomach
    - type: Metabolizer
      maxPoisonsProcessable: 3
      metabolizerTypes: [ Slime ]
      removeEmpty: true
      groups:
        - id: Food
        - id: Drink
        - id: Medicine
        - id: Poison
        - id: Narcotic
        - id: Alcohol
          rateModifier: 0.2
    - type: SolutionContainerManager
      solutions:
        stomach:
          maxVol: 30.0

- type: entity # Goobstation add
  id: XenobioSentientSlimesCore
  parent: SentientSlimesCore
  name: mutated slimes core
  description: "Mutated slime core, looks bigger."
  components:
    - type: SolutionContainerManager
      solutions:
        stomach:
          maxVol: 50.0 # 2.5u added per sec when slime latched, 20 sec metabolize time, 2.5 * 20 = 50u
    - type: Metabolizer
      maxPoisonsProcessable: 3
      metabolizerTypes: [ Slime, XenobioSlime ]
      removeEmpty: true
      groups:
        - id: Food
        - id: Drink
        - id: Medicine
        - id: Poison
        - id: Narcotic
        - id: Alcohol
          rateModifier: 0.2

- type: entity
  id: OrganSlimesLungs
  parent: BaseHumanOrgan
  name: slimes gas sacs
  description: "Collects nitrogen, which slime cells use for maintenance."
  components:
    - type: Sprite
      sprite: Mobs/Species/Slime/organs.rsi
      layers:
        - state: lung-l-slime
        - state: lung-r-slime
    - type: Organ
      intCap: 28
      integrity: 28
      integrityThresholds:
        Normal: 28
        Damaged: 16
        Destroyed: 0
    - type: Lung
      alert: LowNitrogen
    - type: Metabolizer
      removeEmpty: true
      solutionOnBody: false
      solution: "Lung"
      metabolizerTypes: [ Slime ]
      groups:
      - id: Gas
        rateModifier: 100.0
    - type: SolutionContainerManager
      solutions:
        organ:
          reagents:
          - ReagentId: Nutriment
            Quantity: 10
        Lung:
          maxVol: 100.0
          canReact: false
