- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: BaseShellShotgun
  name: shell (.50)
  parent: [ BaseCartridge, BaseC1Contraband ] # Frontier: added BaseC1Contraband
  abstract: true
  components:
  - type: Tag
    tags:
    - Cartridge
    - ShellShotgun
  - type: CartridgeAmmo
    soundEject:
      collection: ShellEject
  - type: Sprite
    sprite: Objects/Weapons/Guns/Ammunition/Casings/shotgun_shell.rsi
    layers:
      - state: base
        map: [ "enum.AmmoVisualLayers.Base" ]
  - type: Appearance
  - type: SpentAmmoVisuals
  - type: StaticPrice
    price: 1

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: ShellShotgunBeanbag
  name: shell (.50 beanbag)
  parent: BaseShellShotgun # Frontier: remove BaseSecurityBartenderContraband
  components:
  - type: Tag
    tags:
    - Cartridge
    - ShellShotgun
    - ShellShotgunLight
  - type: Sprite
    layers:
      - state: beanbag
        map: [ "enum.AmmoVisualLayers.Base" ]
  - type: CartridgeAmmo
    # proto: PelletShotgunBeanbag # Frontier
  - type: SpentAmmoVisuals
    state: "beanbag"

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: ShellShotgunSlug
  name: shell (.50 slug)
  parent: BaseShellShotgun # Frontier: remove BaseSecurityContraband
  components:
  - type: Sprite
    layers:
      - state: slug
        map: [ "enum.AmmoVisualLayers.Base" ]
  - type: CartridgeAmmo
    # proto: PelletShotgunSlug # Frontier
  - type: SpentAmmoVisuals
    state: "slug"

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: ShellShotgunFlare
  name: shell (.50 flare)
  parent: BaseShellShotgun
  components:
  - type: Tag
    tags:
    - Cartridge
    - ShellShotgun
    - ShellShotgunLight
  - type: Sprite
    layers:
      - state: flare
        map: [ "enum.AmmoVisualLayers.Base" ]
  - type: CartridgeAmmo
    # proto: PelletShotgunFlare # Frontier
  - type: SpentAmmoVisuals
    state: "flare"

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: ShellShotgun
  name: shell (.50 pellet)
  parent: BaseShellShotgun # Frontier: remove BaseSecurityContraband
  components:
  - type: Sprite
    layers:
      - state: base
        map: [ "enum.AmmoVisualLayers.Base" ]
  - type: CartridgeAmmo
    # proto: PelletShotgunSpread # Frontier

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: ShellShotgunIncendiary
  name: shell (.50 incendiary)
  parent: BaseShellShotgun # Frontier: remove BaseSecurityContraband
  components:
  - type: Sprite
    layers:
      - state: incendiary
        map: [ "enum.AmmoVisualLayers.Base" ]
  - type: CartridgeAmmo
    # proto: PelletShotgunIncendiarySpread # Frontier
  - type: SpentAmmoVisuals
    state: "incendiary"

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: ShellShotgunPractice
  name: shell (.50 practice)
  parent: BaseShellShotgun # Frontier: remove BaseSecurityContraband
  components:
  - type: Sprite
    layers:
      - state: practice
        map: [ "enum.AmmoVisualLayers.Base" ]
  - type: CartridgeAmmo
    # proto: PelletShotgunPracticeSpread # Frontier
  - type: SpentAmmoVisuals
    state: "practice"

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: ShellTranquilizer
  name: shell (.50 tranquilizer)
  parent: BaseShellShotgun # Frontier: remove BaseSecurityContraband
  components:
  - type: Tag
    tags:
    - Cartridge
    - ShellShotgun
    - ShellShotgunLight
  - type: Sprite
    layers:
      - state: tranquilizer
        map: [ "enum.AmmoVisualLayers.Base" ]
  - type: CartridgeAmmo
    # proto: PelletShotgunTranquilizer # Frontier
  - type: ChemicalAmmo
  - type: SolutionContainerManager
    solutions:
      ammo:
        reagents:
        - ReagentId: ChloralHydrate
          Quantity: 4
  - type: SolutionTransfer
    maxTransferAmount: 4
  - type: SpentAmmoVisuals
    state: "tranquilizer"

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: ShellShotgunImprovised
  name: improvised shotgun shell
  description: A homemade shotgun shell that shoots painful glass shrapnel. The spread is so wide that it couldn't hit the broad side of a barn.
  parent: BaseShellShotgun # Frontier: remove BaseSecurityContraband
  components:
  - type: Tag
    tags:
    - Cartridge
    - ShellShotgun
    - ShellShotgunLight
  - type: Sprite
    layers:
      - state: improvised
        map: [ "enum.AmmoVisualLayers.Base" ]
  # - type: Construction # Frontier: swapped out for NF variant
  #   graph: ImprovisedShotgunShellGraph # Frontier
  #   node: shell # Frontier
  - type: CartridgeAmmo
    # proto: PelletShotgunImprovisedSpread # Frontier
  - type: SpentAmmoVisuals
    state: "improvised"

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  id: ShellShotgunUranium
  name: uranium shotgun shell
  parent: BaseShellShotgun # Frontier: remove BaseSecurityContraband
  components:
    - type: Sprite
      layers:
        - state: depleted-uranium
          map: [ "enum.AmmoVisualLayers.Base" ]
    - type: CartridgeAmmo
      # proto: PelletShotgunUraniumSpread # Frontier
    - type: SpentAmmoVisuals
      state: "depleted-uranium"
