# Empty mags
- type: entity
  id: BaseMagazine762x51mm
  name: "magazine (7.62x51mm FMJ)"
  parent: [ BaseItem, RecyclableItemSteelTiny ]
  abstract: true
  components:
  - type: Tag
    tags:
      - Magazine762x51mmFMJ
  - type: BallisticAmmoProvider
    mayTransfer: true
    whitelist:
      tags:
        - Cartridge762x51mmFMJ
    proto: Cartridge762x51mmFMJ
    capacity: 20
  - type: Item
    size: Small
  - type: ContainerContainer
    containers:
      ballistic-ammo: !type:Container
  - type: Sprite
    sprite: _Mono/Objects/Weapons/Guns/Ammunition/Magazine/7.62x51mm/7.62x51mm_mag.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]
  - type: MagazineVisuals
    magState: mag
    steps: 2
    zeroVisible: false
  - type: Appearance

# Magazines
- type: entity
  id: Magazine762x51mmFMJ
  name: "magazine (7.62x51mm FMJ)"
  parent: BaseMagazine762x51mm
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmFMJ
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmEmpty
  name: "magazine (7.62x51mm any)"
  suffix: empty
  parent: Magazine762x51mmFMJ
  components:
  - type: BallisticAmmoProvider
    proto: null
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmPractice
  name: "magazine (7.62x51mm practice)"
  parent: BaseMagazine762x51mm
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmPractice
  - type: Sprite
    layers:
    - state: practice
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmUranium
  name: "magazine (7.62x51mm uranium)"
  parent: BaseMagazine762x51mm
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmUranium
  - type: Sprite
    layers:
    - state: uranium
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmIncendiary
  name: "magazine (7.62x51mm incendiary)"
  parent: Magazine762x51mmFMJ
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmIncendiary
  - type: Sprite
    layers:
    - state: red
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmRubber
  name: "magazine (7.62x51mm rubber)"
  parent: Magazine762x51mmFMJ
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmRubber
  - type: Sprite
    sprite: _Mono/Objects/Weapons/Guns/Ammunition/Magazine/7.62x51mm/7.62x51mm_mag.rsi
    layers:
    - state: rubber
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmLowCapacityEmpty
  name: "low cap magazine (7.62x51mm any)"
  suffix: empty
  parent: Magazine762x51mmLowCapacityFMJ
  components:
  - type: Tag
    tags:
      - Magazine762x51mmLowCapacityFMJ
  - type: BallisticAmmoProvider
    proto: null
  - type: Item
    size: Tiny
  - type: Sprite
    sprite: _Mono/Objects/Weapons/Guns/Ammunition/Magazine/7.62x51mm/7.62x51mm_cap_mag.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmLowCapacityFMJ
  name: "low cap magazine (7.62x51mm FMJ)"
  parent: Magazine762x51mmFMJ
  components:
  - type: Tag
    tags:
      - Magazine762x51mmLowCapacityFMJ
  - type: BallisticAmmoProvider
    capacity: 10
  - type: Item
    size: Tiny
  - type: Sprite
    sprite: _Mono/Objects/Weapons/Guns/Ammunition/Magazine/7.62x51mm/7.62x51mm_cap_mag.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmLowCapacityPractice
  name: "low cap magazine (7.62x51mm practice)"
  parent: Magazine762x51mmLowCapacityFMJ
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmPractice
  - type: Sprite
    layers:
    - state: practice
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmLowCapacityRubber
  name: "low cap magazine (7.62x51mm rubber)"
  parent: Magazine762x51mmLowCapacityFMJ
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmRubber
  - type: Sprite
    layers:
    - state: rubber
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmLowCapacityUranium
  name: "low cap magazine (7.62x51mm uranium)"
  parent: Magazine762x51mmLowCapacityFMJ
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmUranium
  - type: Sprite
    layers:
    - state: uranium
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmLowCapacityIncendiary
  name: "low cap magazine (7.62x51mm incendiary)"
  parent: Magazine762x51mmLowCapacityFMJ
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmIncendiary
  - type: Sprite
    layers:
    - state: red
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

# Mono AP syst
#anti-flesh:
- type: entity
  id: Magazine762x51mmHP
  name: "magazine (7.62x51mm hollow-point)"
  parent: BaseMagazine762x51mm
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmHP
  - type: Sprite
    layers:
    - state: HP
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

- type: entity
  id: Magazine762x51mmRIP
  name: "magazine (7.62x51mm RIP)"
  parent: BaseMagazine762x51mm
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmRIP
  - type: Sprite
    layers:
    - state: RIP
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]

#armor-piercing:

- type: entity
  id: Magazine762x51mmPlasteelAP
  name: "magazine (7.62x51mm AP)"
  parent: BaseMagazine762x51mm
  components:
  - type: BallisticAmmoProvider
    proto: Cartridge762x51mmPlasteelAP
  - type: Sprite
    layers:
    - state: plasteelAP
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-1
      map: ["enum.GunVisualLayers.Mag"]
