- type: entity
  abstract: true
  parent: BaseItem
  id: BaseMagazineBoxMagnum
  components:
  - type: BallisticAmmoProvider
    mayTransfer: true
    whitelist:
      tags:
        - CartridgeMagnum
    proto: CartridgeMagnumSP
    capacity: 18 # Sunrise-edit
  - type: Item
    size: Small
  - type: ContainerContainer
    containers:
      ballistic-ammo: !type:Container
  - type: Sprite
    sprite: Objects/Weapons/Guns/Ammunition/Boxes/magnum.rsi
  - type: MagazineVisuals
    magState: mag
    steps: 4
    zeroVisible: false
  - type: Appearance

# Boxes
- type: entity
  parent: BaseMagazineBoxMagnum
  id: MagazineBoxMagnumSP
  name: ammunition box (.45 magnum SP)
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeMagnumSP
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]
    - state: sp

- type: entity
  parent: BaseMagazineBoxMagnum
  id: MagazineBoxMagnumHP
  name: ammunition box (.45 magnum HP)
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeMagnumHP
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  parent: BaseMagazineBoxMagnum
  id: MagazineBoxMagnumFMJ
  name: ammunition box (.45 magnum FMJ)
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeMagnumFMJ
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]
    - state: fmj

- type: entity
  parent: BaseMagazineBoxMagnum
  id: MagazineBoxMagnumRubber
  name: ammunition box (.45 magnum rubber)
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeMagnumRubber
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]
    - state: rubber

- type: entity
  parent: BaseMagazineBoxMagnum
  id: MagazineBoxMagnumPractice
  name: ammunition box (.45 magnum practice)
  description: A cardboard box of .45 magnum rounds. Intended to hold non-harmful chalk ammunition.
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeMagnumPractice
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]
    - state: practice

- type: entity
  id: MagazineBoxMagnumIncendiary
  parent: BaseMagazineBoxMagnum
  name: ammunition box (.45 magnum incendiary)
  description: A cardboard box of .45 magnum rounds. Intended to hold self-igniting incendiary ammunition.
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeMagnumIncendiary
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]
    - state: incendiary

- type: entity
  id: MagazineBoxMagnumUranium
  parent: BaseMagazineBoxMagnum
  name: ammunition box (.45 magnum uranium)
  description: A cardboard box of .45 magnum rounds. Intended to hold exotic uranium-core ammunition.
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeMagnumUranium
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]
    - state: uranium

- type: entity
  id: MagazineBoxMagnumAP
  parent: BaseMagazineBoxMagnum
  name: ammunition box (.45 magnum AP)
  description: A cardboard box of .45 magnum rounds. Intended to hold armor-piercing ammunition.
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeMagnumAP
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]
    - state: ap
