# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: BaseItem
  id: DiseaseSwab
  name: sterile swab
  description: Used for taking and transferring samples. Sterile until open. Single use only.
  components:
  - type: Item
    size: Tiny
  - type: Sprite
    sprite: Objects/Specific/Medical/mouth_swab.rsi
    state: icon
  - type: Tag
    tags:
    - Recyclable
    - Trash
  - type: BotanySwab
  - type: GuideHelp
    guides:
  # - Virology (when it's back)
    - Botany
    - Chemicals
  - type: DiseaseSwab # Goobstation

- type: entity
  parent: BaseAmmoProvider # this is for cycling swabs out and not spawning 30 entities, trust
  id: BoxMouthSwab
  name: sterile swab dispenser
  description: Dispenses 30 sterile swabs, extremely useful for botany.
  components:
  - type: Sprite
    layers:
    - state: boxwide
    - state: swab
  - type: BallisticAmmoProvider
    whitelist:
      components:
      - BotanySwab
    proto: DiseaseSwab
    capacity: 30
  - type: GuideHelp
    guides:
  # - Virology (when it's back)
    - Botany
    - Chemicals

- type: entity
  parent: BaseItem
  id: Vaccine
  name: vaccine
  description: Prevents people who DON'T already have a disease from catching it.
  components:
  - type: Item
    size: Tiny
  - type: Sprite
    # <Goobstation>
    sprite: Objects/Specific/Medical/medipen.rsi
    layers:
    - state: salpen
  - type: Appearance
  - type: DiseasePen
  - type: GenericVisualizer
    visuals:
      enum.DiseasePenVisuals.Used:
        salpen:
          True: { state: salpen_empty }
          False: { state: salpen }
  # </Goobstation>
