- type: entity
  id: RifleHeavyBase
  parent: BaseItem
  abstract: true
  components:
  - type: Tag
    tags:
      - MagazineMachineGunHeavyRifle
  - type: BallisticAmmoProvider
    mayTransfer: true
    whitelist:
      tags:
        - CartridgeHeavyRifle
    capacity: 100
  - type: Item
    size: Normal
    shape:
    - 0,0,1,2
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/mg42_large.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Appearance
  - type: ContainerContainer
    containers:
      ballistic-ammo: !type:Container

- type: entity
  id: RifleHeavyMagazineSP
  name: "belt box (.308 SP)"
  parent: RifleHeavyBase
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeRifleHeavySP
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
    - state: stripe
      color: "#575EF5"
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-mag
      - state: inhand-left-stripe
        color: "#575EF5"
      right:
      - state: inhand-right-mag
      - state: inhand-right-stripe
        color: "#575EF5"

- type: entity
  id: RifleHeavyMagazineHP
  name: "belt box (.308 HP)"
  parent: RifleHeavyBase
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeRifleHeavyHP
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
    - state: stripe
      color: "#F5514C"
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-mag
      - state: inhand-left-stripe
        color: "#F5514C"
      right:
      - state: inhand-right-mag
      - state: inhand-right-stripe
        color: "#F5514C"

- type: entity
  id: RifleHeavyMagazineFMJ
  name: "belt box (.308 FMJ)"
  parent: RifleHeavyBase
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeRifleHeavyFMJ
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
    - state: stripe
      color: "#080706"
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-mag
      - state: inhand-left-stripe
        color: "#080706"
      right:
      - state: inhand-right-mag
      - state: inhand-right-stripe
        color: "#080706"

- type: entity
  id: RifleHeavyMagazineAP
  name: "belt box (.308 AP)"
  parent: RifleHeavyBase
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeRifleHeavyAP
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
    - state: stripe
      color: "#540000"
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-mag
      - state: inhand-left-stripe
        color: "#540000"
      right:
      - state: inhand-right-mag
      - state: inhand-right-stripe
        color: "#540000"

- type: entity
  id: RifleHeavyMagazineEmpty
  name: "belt box (.308 any)"
  suffix: empty
  parent: RifleHeavyBase
  components:
  - type: BallisticAmmoProvider
    proto: null
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-mag
      right:
      - state: inhand-right-mag

- type: entity
  id: RifleHeavyMagazineIncendiary
  name: "belt box (.308 incendiary)"
  parent: RifleHeavyBase
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeRifleHeavyIncendiary
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
    - state: stripe
      color: "#ff6e52"
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-mag
      - state: inhand-left-stripe
        color: "#ff6e52"
      right:
      - state: inhand-right-mag
      - state: inhand-right-stripe
        color: "#ff6e52"

- type: entity
  id: RifleHeavyMagazineUranium
  name: "belt box (.308 uranium)"
  parent: RifleHeavyBase
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeRifleHeavyUranium
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
    - state: stripe
      color: "#40F57A"
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-mag
      - state: inhand-left-stripe
        color: "#40F57A"
      right:
      - state: inhand-right-mag
      - state: inhand-right-stripe
        color: "#40F57A"

- type: entity
  id: RifleHeavyMagazineArtillery
  name: "Magazine Box (.308 space)"
  parent: RifleHeavyMagazineHP
  components:
  - type: BallisticAmmoProvider
    proto: CartridgeRifleHeavyArtillery
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
    - state: stripe
      color: "#d740f5"
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-mag
      - state: inhand-left-stripe
        color: "#d740f5"
      right:
      - state: inhand-right-mag
      - state: inhand-right-stripe
        color: "#d740f5"

- type: entity
  id: RifleHeavyMagazineArtilleryLarge
  name: "Large Magazine Box (.308 space)"
  parent: RifleHeavyMagazineArtillery
  components:
  - type: Sprite
    scale: 1.1,1.25
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
    - state: stripe
      color: "#d740f5"
  - type: Item
    size: Large
    shape:
    - 0,0,4,1
    inhandVisuals:
      left:
      - state: inhand-left-mag
      - state: inhand-left-stripe
        color: "#d740f5"
      right:
      - state: inhand-right-mag
      - state: inhand-right-stripe
        color: "#d740f5"
  - type: BallisticAmmoProvider
    mayTransfer: false
    fillDelay: 1
    proto: CartridgeRifleHeavyArtillery
    capacity: 500

- type: entity
  id: RifleHeavyMagazineArtilleryLargeExtra
  name: "Extra Large Magazine Box (.308 space)"
  parent: RifleHeavyMagazineArtillery
  components:
  - type: Sprite
    scale: 1.3,1.6
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-4
      map: ["enum.GunVisualLayers.Mag"]
    - state: stripe
      color: "#d740f5"
  - type: Item
    size: Large
    shape:
    - 0,0,4,2
    inhandVisuals:
      left:
      - state: inhand-left-mag
      - state: inhand-left-stripe
        color: "#d740f5"
      right:
      - state: inhand-right-mag
      - state: inhand-right-stripe
        color: "#d740f5"
  - type: BallisticAmmoProvider
    mayTransfer: false
    fillDelay: 1
    proto: CartridgeRifleHeavyArtillery
    capacity: 1500
