{
  "key": "ammunition-depot",
  "industry": "Ammunition Depot",
  "subtype": "Armory",
  "icon": "fa-shield-halved",
  "title": "Battalion Armory",
  "description": "Companies draw ammunition and range gear for firing practice against issue vouchers and return unfired stock afterwards. Boxed ammunition lots arrive from the Central Ordnance Depot, the armourer maintains weapons from the workshop, and condemned lots are destroyed under a board of officers.",
  "viewpoint": "How ammunition and gear move between the armory and its companies, and what is consumed or destroyed.",
  "tenantCount": 15,
  "entitySource": "scenario",
  "tenant": { "type": "Organization", "variant": "armory" },
  "entityManager": { "variant": "org" },
  "tenants": ["Fort Ridgeline Armory", "Camp Ironclad Ammunition Depot", "Northgate Weapons Depot", "Blackrock Armory — Bay 3", "Eastwatch Ammunition Store", "Fort Sentinel Arsenal", "Ironvale Weapons Depot", "Camp Vanguard Armory", "Highland Ammunition Depot", "Fort Redoubt Arsenal", "Westgate Weapons Store", "Camp Bastion Armory", "Stonewall Ammunition Depot", "Fort Garrison Arsenal", "Greyridge Weapons Depot"],
  "groups": [
    {
      "name": "Ammunition",
      "tracked": true,
      "seed": [80000, 150000],
      "impactEntity": { "variant": "storage", "type": "ammo_magazine", "name": "Ammunition Magazine — Bay 2" },
      "entities": [
        { "name": "5.56 mm Ball Round", "rate": 28 },
        { "name": "7.62 mm Ball Round", "rate": 45 },
        { "name": "9 mm Parabellum Round", "rate": 22 },
        { "name": "5.56 mm Tracer Round", "rate": 55, "seed": [20000, 40000] },
        { "name": "40 mm HE Grenade Round", "rate": 2800, "seed": [300, 800] },
        { "name": "HE-36 Hand Grenade", "rate": 1900, "seed": [200, 600] }
      ]
    },
    {
      "name": "Range Gear",
      "tracked": true,
      "seed": [300, 800],
      "impactEntity": { "variant": "storage", "type": "kote", "name": "Battalion Kote" },
      "entities": [
        { "name": "Rifle Magazine (30 rd)", "rate": 1200 },
        { "name": "Ear Defender", "rate": 650 },
        { "name": "Figure 11 Target", "rate": 40, "seed": [2000, 4000] },
        { "name": "Target Frame", "rate": 900 }
      ]
    },
    {
      "name": "Armourer Spares",
      "tracked": true,
      "seed": [100, 300],
      "impactEntity": { "variant": "storage", "type": "armourer_workshop", "name": "Armourer's Workshop" },
      "entities": [
        { "name": "Weapon Cleaning Kit", "rate": 750 },
        { "name": "Gun Oil 500 ml", "rate": 320 },
        { "name": "Recoil Spring", "rate": 450 },
        { "name": "Firing Pin", "rate": 900 },
        { "name": "Extractor Spring", "rate": 180 }
      ]
    }
  ],
  "messages": [
    {"text": "Seal mismatch on magazine door — bay locked down", "state": "severe", "zone": "Magazine Bay 2", "group": "Ammunition"},
    {"text": "Humidity above limit in ammunition bay", "state": "warning", "zone": "Magazine Bay 2", "group": "Ammunition"},
    {"text": "Issue voucher count discrepancy", "state": "warning", "zone": "Battalion Kote", "group": "Range Gear"},
    {"text": "Lot flagged for inspection by ordnance factory", "state": "warning", "zone": "Magazine Bay 1", "group": "Ammunition"},
    {"text": "Range return short by one magazine", "state": "severe", "zone": "Firing Range", "group": "Range Gear"},
    {"text": "Weekly armoury inspection completed", "state": "info", "zone": "Armourer's Workshop", "group": "Armourer Spares"}
  ],
  "statechanges": [
    {
      "type": "transaction", "variant": "RangeIssue", "label": "Range Issue", "slot": "sales", "role": "Issuing Armory",
      "weight": 35, "changeType": "DECAY", "groups": ["Ammunition", "Range Gear"], "entityCount": [2, 4], "volume": [5, 40],
      "groupVolumes": { "Ammunition": [1000, 5000] },
      "volumes": { "40 mm HE Grenade Round": [10, 40], "HE-36 Hand Grenade": [5, 20], "Figure 11 Target": [40, 120] },
      "meta": { "document": ["Issue Voucher"] },
      "actors": [{ "variant": "org", "names": ["A Company", "B Company", "C Company", "Support Company — Mortar Platoon"] }]
    },
    {
      "type": "transaction", "variant": "Return", "label": "Unused Return", "slot": "receipt", "role": "Receiving Armory",
      "weight": 18, "changeType": "GROWTH", "groups": ["Ammunition", "Range Gear"], "entityCount": [1, 3], "volume": [2, 15],
      "groupVolumes": { "Ammunition": [100, 800] },
      "volumes": { "40 mm HE Grenade Round": [1, 6], "HE-36 Hand Grenade": [1, 4], "Figure 11 Target": [0, 0] },
      "actors": [{ "variant": "org", "names": ["A Company", "B Company", "C Company", "Support Company — Mortar Platoon"] }]
    },
    {
      "type": "transaction", "variant": "CODReceipt", "label": "Receipt from COD", "slot": "purchase", "role": "Stocking Armory",
      "weight": 12, "changeType": "GROWTH", "groups": ["*"], "entityCount": [2, 4], "volume": [20, 80],
      "groupVolumes": { "Ammunition": [10000, 30000] },
      "volumes": { "40 mm HE Grenade Round": [100, 300], "HE-36 Hand Grenade": [80, 200], "Figure 11 Target": [500, 1500] },
      "meta": { "lot": ["LOT 2024-KF-0187", "LOT 2025-OFK-0442", "LOT 2025-AFK-0093"] },
      "actors": [{ "variant": "org", "names": ["Central Ordnance Depot"] }]
    },
    {
      "type": "transition", "variant": "WeaponMaintenance", "label": "Weapon Maintenance", "slot": "journal",
      "weight": 25, "changeType": "DECAY", "groups": ["Armourer Spares"], "entityCount": [1, 3], "volume": [1, 5],
      "actors": [{ "variant": "department", "names": ["Battalion Armourer"] }]
    },
    {
      "type": "transition", "variant": "Disposal", "label": "Condemned Lot Disposal", "slot": "stock_journal",
      "weight": 3, "changeType": "DECAY", "groups": ["Ammunition"], "entityCount": [1, 1], "volume": [500, 3000],
      "volumes": { "40 mm HE Grenade Round": [20, 60], "HE-36 Hand Grenade": [10, 40] },
      "actors": [{ "variant": "department", "names": ["Board of Officers — Disposal"] }]
    },
    {"type": "notification", "variant": "FieldMessage", "label": "Security Report", "weight": 5, "changeType": "DECAY", "messageBucket": true, "actors": []}
  ]
}
