[
  {
    "id": "toolset_extended",
    "type": "TOOL",
    "name": { "str": "extended multitool" },
    "description": "Your multitool, extended.  Ready to do repair work.",
    "symbol": "#",
    "color": "white",
    "weight": "226 g",
    "flags": [ "NO_UNWIELD", "BIONIC_WEAPON", "UNBREAKABLE_MELEE", "TRADER_AVOID" ],
    "melee_damage": { "bash": 3, "cut": 1 }
  },
  {
    "id": "lobotomizer",
    "type": "GENERIC",
    "category": "weapons",
    "name": { "str": "lobotomizer" },
    "description": "A hand-forged collapsible tool with two axe heads and a sharp shovel-like tip on one end.  It can be used as a shovel, or you could chop some zombies with it instead.",
    "weight": "2722 g",
    "volume": "1750 ml",
    "price": 25000,
    "price_postapoc": 1250,
    "to_hit": { "grip": "none", "length": "long", "surface": "line", "balance": "neutral" },
    "material": [ "steel" ],
    "symbol": "/",
    "color": "dark_gray",
    "qualities": [ [ "DIG", 2 ], [ "AXE", 1 ], [ "CUT", 1 ], [ "BUTCHER", -11 ], [ "COOK", 1 ] ],
    "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ],
    "flags": [ "NEEDS_UNFOLD", "BELT_CLIP", "SHEATH_AXE" ],
    "weapon_category": [ "HOOKING_WEAPONRY" ],
    "melee_damage": { "bash": 18, "cut": 37 }
  },
  {
    "id": "mold_plastic",
    "type": "TOOL",
    "name": { "str": "plastic mold" },
    "description": "A mold that can be used to form plastic chunks.",
    "weight": "320 g",
    "volume": "2500 ml",
    "longest_side": "36 cm",
    "price": 1000,
    "price_postapoc": 50,
    "to_hit": 1,
    "material": [ "plastic" ],
    "symbol": ";",
    "color": "light_blue",
    "qualities": [ [ "CONTAIN", 1 ] ],
    "melee_damage": { "bash": 3 }
  },
  {
    "id": "gambeson_loose",
    "repairs_like": "gambeson",
    "type": "ARMOR",
    "name": { "str": "gambeson (loose)", "str_pl": "gambesons (loose)" },
    "description": "A thick jacket of quilted fabric, loosened to be worn as outer armor.  Use it to wear it tighter and be able to put proper armor over it.",
    "copy-from": "gambeson",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your gambeson a bit tighter.",
      "target": "gambeson",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "gambeson_loose_vest",
    "repairs_like": "gambeson",
    "type": "ARMOR",
    "name": { "str": "gambeson vest (loose)", "str_pl": "gambeson vests (loose)" },
    "description": "A thick jacket of quilted fabric, loosened to be worn as outer armor.  Use it to wear it tighter and be able to put proper armor over it.",
    "copy-from": "gambeson_vest",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your gambeson vest a bit tighter.",
      "target": "gambeson",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "k_gambeson",
    "type": "ARMOR",
    "name": { "str": "Kevlar gambeson" },
    "description": "Designed to mimic a thick jacket of quilted fabric that would be worn underneath mail or other armor.  A base layer of aramid fabric has had strips of soft body armor sewn into it to mimic quilting.  Use it to loosen it if you want to wear it over your clothes.",
    "weight": "11556 g",
    "volume": "2520 ml",
    "price": 20000,
    "price_postapoc": 750,
    "to_hit": -5,
    "material": [ { "type": "kevlar_layered" }, { "type": "kevlar" } ],
    "symbol": "[",
    "looks_like": "coat_winter",
    "color": "light_gray",
    "warmth": 50,
    "material_thickness": 3.2,
    "valid_mods": [ "steel_padded" ],
    "flags": [ "VARSIZE", "STURDY", "NONCONDUCTIVE" ],
    "use_action": { "type": "transform", "msg": "You loosen your %s.", "target": "k_gambeson_loose", "menu_text": "Loosen" },
    "//": "materials on this guy are slightly weird since it is trying to quilt soft armor panels, so at thickest it is their thickness",
    "armor": [
      {
        "material": [
          { "type": "kevlar_layered", "covered_by_mat": 95, "thickness": 3.4, "ignore_sheet_thickness": true },
          { "type": "kevlar", "covered_by_mat": 100, "thickness": 1.0 }
        ],
        "covers": [ "torso" ],
        "coverage": 100,
        "encumbrance": 20
      },
      {
        "material": [
          { "type": "kevlar_layered", "covered_by_mat": 95, "thickness": 3.4, "ignore_sheet_thickness": true },
          { "type": "kevlar", "covered_by_mat": 100, "thickness": 1.0 }
        ],
        "covers": [ "arm_l", "arm_r" ],
        "specifically_covers": [ "arm_upper_l", "arm_lower_l", "arm_upper_r", "arm_lower_r" ],
        "coverage": 100,
        "encumbrance": 20
      },
      {
        "material": [
          { "type": "kevlar_layered", "covered_by_mat": 70, "thickness": 3.4, "ignore_sheet_thickness": true },
          { "type": "kevlar", "covered_by_mat": 100, "thickness": 1.0 }
        ],
        "covers": [ "arm_l", "arm_r" ],
        "specifically_covers": [ "arm_elbow_l", "arm_shoulder_l", "arm_elbow_r", "arm_shoulder_r" ],
        "coverage": 100,
        "encumbrance": 0,
        "//": "skip second entry for arm encumbrance"
      }
    ]
  },
  {
    "type": "COMESTIBLE",
    "id": "egg_lady_bug_giant",
    "name": { "str": "giant ladybug egg" },
    "description": "A giant ladybug egg.  It looks like a huge yellow rice grain.  You can see an enormous, translucent, and very hungry larva inside.",
    "copy-from": "egg_insect",
    "color": "red"
  },
  {
    "type": "COMESTIBLE",
    "id": "spider_egg",
    "name": { "str": "spider egg" },
    "description": "A fist-sized egg from a giant spider.  Incredibly gross.",
    "copy-from": "egg_insect",
    "color": "white"
  },
  {
    "type": "COMESTIBLE",
    "id": "egg_frog",
    "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" },
    "copy-from": "egg_chicken",
    "weight": "20 g",
    "volume": "650 ml",
    "description": "A large clump of frog eggs.  They're gelatinous and transparent.",
    "extend": { "flags": [ "OBSOLETE" ] },
    "rot_spawn": "GROUP_EGG_FROG"
  },
  {
    "type": "COMESTIBLE",
    "id": "egg_toad",
    "name": { "str": "cluster of toad's eggs", "str_pl": "clusters of toad's eggs" },
    "copy-from": "egg_frog",
    "description": "A large clump of the eggs of a toad.  The eggs themselves are gelatinous and transparent.",
    "rot_spawn": "GROUP_EGG_TOAD"
  },
  {
    "type": "PET_ARMOR",
    "id": "superalloy_harness_dog",
    "copy-from": "kevlar_harness",
    "color": "light_cyan",
    "name": { "str": "superalloy tactical dog outfit" },
    "description": "A thin mesh interwoven with superalloy plates and pouches, for military working dogs.  Covers from the dewlap to the croup, down to the elbows.  You could put this on a friendly dog.",
    "price": 130000,
    "price_postapoc": 5000,
    "material": [ "superalloy" ],
    "weight": "3125 g",
    "min_pet_vol": "20000 ml",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "10 L",
        "max_contains_weight": "20 kg",
        "max_item_length": "80 cm",
        "moves": 200
      },
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "10 L",
        "max_contains_weight": "20 kg",
        "max_item_length": "80 cm",
        "moves": 200
      },
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "2500 ml",
        "max_contains_weight": "5 kg",
        "max_item_length": "30 cm",
        "moves": 200
      },
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "2500 ml",
        "max_contains_weight": "5 kg",
        "max_item_length": "30 cm",
        "moves": 200
      }
    ]
  },
  {
    "id": "k_gambeson_vest",
    "type": "ARMOR",
    "name": { "str": "Kevlar gambeson vest" },
    "description": "Designed to mimic a thick vest of quilted fabric that would be worn underneath mail or other armor.  A base layer of aramid fabric has had strips of soft body armor sewn into it to mimic quilting.  Use it to loosen it if you want to wear it over your clothes.",
    "weight": "6200 g",
    "volume": "1670 ml",
    "price": 20000,
    "price_postapoc": 600,
    "to_hit": -5,
    "material": [ { "type": "kevlar_layered" }, { "type": "kevlar" } ],
    "symbol": "[",
    "looks_like": "coat_winter",
    "color": "light_gray",
    "warmth": 50,
    "material_thickness": 3.2,
    "valid_mods": [ "steel_padded" ],
    "flags": [ "VARSIZE", "STURDY", "NONCONDUCTIVE" ],
    "use_action": { "type": "transform", "msg": "You loosen your %s.", "target": "k_gambeson_vest_loose", "menu_text": "Loosen" },
    "armor": [
      {
        "material": [
          { "type": "kevlar_layered", "covered_by_mat": 95, "thickness": 3.4, "ignore_sheet_thickness": true },
          { "type": "kevlar", "covered_by_mat": 100, "thickness": 1.0 }
        ],
        "covers": [ "torso" ],
        "coverage": 100,
        "encumbrance": 20
      }
    ]
  },
  {
    "id": "l-stick",
    "type": "TOOL",
    "category": "weapons",
    "name": { "str": "L-stick (off)", "str_pl": "L-sticks (off)" },
    "description": "Produced by the Light corporation, this stylish staff functions not just as a light source, but also a lightweight weapon thanks to its superalloy construction.  Due to proprietary efficiency improvements over standard light sources, batteries last longer in the L-stick.",
    "weight": "1000 g",
    "volume": "3 L",
    "longest_side": "180 cm",
    "price": 5000,
    "price_postapoc": 3000,
    "to_hit": { "grip": "weapon", "length": "long", "surface": "any", "balance": "good" },
    "material": [ "superalloy", "steel" ],
    "symbol": "/",
    "color": "light_gray",
    "ammo": [ "battery" ],
    "charges_per_use": 1,
    "techniques": [ "WBLOCK_1", "RAPID" ],
    "use_action": {
      "target": "l-stick_on",
      "msg": "The L-stick™ lights up.",
      "active": true,
      "need_charges": 1,
      "need_charges_msg": "The L-stick's™ batteries are empty.",
      "type": "transform"
    },
    "flags": [ "DURABLE_MELEE", "SHEATH_SPEAR" ],
    "weapon_category": [ "QUARTERSTAVES" ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "rigid": true,
        "flag_restriction": [ "BATTERY_MEDIUM" ],
        "default_magazine": "medium_plus_battery_cell"
      }
    ],
    "melee_damage": { "bash": 24 }
  },
  {
    "id": "k_gambeson_loose",
    "repairs_like": "k_gambeson",
    "type": "ARMOR",
    "name": { "str": "Kevlar gambeson (loose)", "str_pl": "Kevlar gambesons (loose)" },
    "description": "A thick jacket of quilted fabric, loosened to be worn as outer armor.  This one incorporates Kevlar layers added for better protection.  Use it to wear it tighter and be able to put proper armor over it.",
    "copy-from": "k_gambeson",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your Kevlar gambeson a bit tighter.",
      "target": "k_gambeson",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "k_gambeson_vest_loose",
    "repairs_like": "k_gambeson",
    "type": "ARMOR",
    "name": { "str": "Kevlar gambeson vest (loose)", "str_pl": "Kevlar gambeson vests (loose)" },
    "description": "A thick vest of quilted fabric, loosened to be worn as outer armor.  This one incorporates Kevlar layers added for better protection.  Use it to wear it tighter and be able to put proper armor over it.",
    "copy-from": "k_gambeson_vest",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your Kevlar gambeson a bit tighter.",
      "target": "k_gambeson_vest",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "k_gambeson_pants",
    "type": "ARMOR",
    "name": { "str": "Kevlar arming pants", "str_pl": "pairs of Kevlar arming pants" },
    "description": "Thick pants made of quilted fabric, meant to be worn alongside a gambeson under or without armor.  This one incorporates Kevlar layers added for better protection.",
    "weight": "9300 g",
    "volume": "2000 ml",
    "price": 14000,
    "price_postapoc": 600,
    "to_hit": -5,
    "material": [ { "type": "kevlar_layered", "portion": 6 }, { "type": "kevlar", "portion": 4 } ],
    "symbol": "[",
    "looks_like": "pants_ski",
    "color": "light_gray",
    "warmth": 50,
    "material_thickness": 3.2,
    "valid_mods": [ "steel_padded" ],
    "flags": [ "VARSIZE", "STURDY", "NONCONDUCTIVE" ],
    "armor": [ { "covers": [ "leg_l", "leg_r" ], "coverage": 100, "encumbrance": 20 } ]
  },
  {
    "id": "gambeson_xs_loose",
    "repairs_like": "gambeson",
    "type": "ARMOR",
    "name": { "str": "XS gambeson (loose)", "str_pl": "XS gambesons (loose)" },
    "description": "A thick vest of quilted fabric, loosened to be worn as outer armor, coming in size XS.  Use it to wear it tighter and be able to put proper armor over it.",
    "copy-from": "gambeson_xs",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your XS gambeson a bit tighter.",
      "target": "gambeson_xs",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "gambeson_vest_xs_loose",
    "repairs_like": "gambeson_vest",
    "type": "ARMOR",
    "name": { "str": "XS gambeson vest (loose)", "str_pl": "XS gambeson vests (loose)" },
    "description": "A thick vest of quilted fabric, loosened to be worn as outer armor, coming in size XS with removed sleeves.  Use it to wear it tighter and be able to put proper armor over it.",
    "copy-from": "gambeson_vest_xs",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your XS gambeson vest a bit tighter.",
      "target": "gambeson_vest_xs",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "xl_gambeson_loose",
    "repairs_like": "xl_gambeson",
    "type": "ARMOR",
    "name": { "str": "XL gambeson (loose)", "str_pl": "XL gambesons (loose)" },
    "copy-from": "xl_gambeson",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your XL gambeson a bit tighter.",
      "target": "xl_gambeson",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "xl_gambeson_vest_loose",
    "repairs_like": "xl_gambeson",
    "type": "ARMOR",
    "name": { "str": "XL gambeson vest (loose)", "str_pl": "XL gambeson vests (loose)" },
    "copy-from": "xl_gambeson_vest",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your XL gambeson vest a bit tighter.",
      "target": "xl_gambeson_vest",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "xl_k_gambeson",
    "type": "ARMOR",
    "name": { "str": "XL Kevlar gambeson" },
    "copy-from": "k_gambeson",
    "proportional": { "weight": 1.125, "volume": 1.13, "price": 1.25 },
    "extend": { "flags": [ "OVERSIZE" ] },
    "use_action": { "type": "transform", "msg": "You loosen your %s.", "target": "xl_k_gambeson_loose", "menu_text": "Loosen" }
  },
  {
    "id": "xl_k_gambeson_vest",
    "type": "ARMOR",
    "name": { "str": "XL Kevlar gambeson vest" },
    "copy-from": "k_gambeson_vest",
    "proportional": { "weight": 1.125, "volume": 1.13, "price": 1.25 },
    "extend": { "flags": [ "OVERSIZE" ] },
    "use_action": { "type": "transform", "msg": "You loosen your %s.", "target": "xl_k_gambeson_vest_loose", "menu_text": "Loosen" }
  },
  {
    "id": "k_gambeson_xs",
    "type": "ARMOR",
    "copy-from": "k_gambeson",
    "looks_like": "k_gambeson",
    "name": { "str": "XS Kevlar gambeson" },
    "proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
    "extend": { "flags": [ "UNDERSIZE" ] }
  },
  {
    "id": "k_gambeson_vest_xs",
    "type": "ARMOR",
    "copy-from": "k_gambeson_vest",
    "looks_like": "k_gambeson",
    "name": { "str": "XS Kevlar gambeson vest" },
    "proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
    "extend": { "flags": [ "UNDERSIZE" ] },
    "use_action": { "type": "transform", "msg": "You loosen your %s.", "target": "k_gambeson_vest_xs_loose", "menu_text": "Loosen" }
  },
  {
    "id": "xl_k_gambeson_pants",
    "type": "ARMOR",
    "name": { "str": "XL Kevlar arming pants", "str_pl": "pairs of XL Kevlar arming pants" },
    "copy-from": "k_gambeson_pants",
    "proportional": { "weight": 1.125, "volume": 1.13, "price": 1.25 },
    "extend": { "flags": [ "OVERSIZE" ] }
  },
  {
    "id": "xl_k_gambeson_loose",
    "repairs_like": "xl_k_gambeson",
    "type": "ARMOR",
    "name": { "str": "XL Kevlar gambeson (loose)", "str_pl": "XL Kevlar gambesons (loose)" },
    "copy-from": "xl_k_gambeson",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your XL Kevlar gambeson a bit tighter.",
      "target": "xl_k_gambeson",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "xl_k_gambeson_vest_loose",
    "repairs_like": "xl_k_gambeson",
    "type": "ARMOR",
    "name": { "str": "XL Kevlar gambeson vest (loose)", "str_pl": "XL Kevlar gambeson vests (loose)" },
    "copy-from": "xl_k_gambeson_vest",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your XL Kevlar gambeson vest a bit tighter.",
      "target": "xl_k_gambeson_vest",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "k_gambeson_vest_xs_loose",
    "repairs_like": "k_gambeson_xs",
    "type": "ARMOR",
    "name": { "str": "XS Kevlar gambeson vest (loose)", "str_pl": "XS Kevlar gambeson vests (loose)" },
    "copy-from": "k_gambeson_vest_xs",
    "extend": { "flags": [ "OUTER" ] },
    "use_action": {
      "type": "transform",
      "msg": "You adjust your XL Kevlar gambeson vest a bit tighter.",
      "target": "k_gambeson_vest_xs",
      "menu_text": "Adjust tighter"
    }
  },
  {
    "id": "k_gambeson_hood",
    "type": "ARMOR",
    "category": "armor",
    "name": { "str": "Kevlar gambeson hood" },
    "description": "A customized gambeson hood made from Kevlar.  Can be worn under helmets.",
    "weight": "340 g",
    "volume": "300 ml",
    "price": 412,
    "price_postapoc": 500,
    "to_hit": -1,
    "material": [ { "type": "kevlar_layered", "portion": 6 }, { "type": "kevlar", "portion": 4 } ],
    "symbol": "[",
    "looks_like": "balclava",
    "color": "light_red",
    "warmth": 25,
    "material_thickness": 3.2,
    "flags": [ "VARSIZE", "STURDY" ],
    "armor": [ { "encumbrance_modifiers": [ "NONE" ], "coverage": 90, "covers": [ "head" ] } ]
  },
  {
    "id": "xl_k_gambeson_hood",
    "type": "ARMOR",
    "copy-from": "k_gambeson_hood",
    "name": { "str": "XL Kevlar gambeson hood" },
    "description": "A customized gambeson hood made from Kevlar.  Can be worn under helmets.  Comes in XL size.",
    "proportional": { "weight": 1.25, "volume": 1.3, "price": 1.25 },
    "extend": { "flags": [ "OVERSIZE" ] }
  },
  {
    "id": "xs_k_gambeson_hood",
    "type": "ARMOR",
    "copy-from": "k_gambeson_hood",
    "name": { "str": "XS Kevlar gambeson hood" },
    "description": "A customized hood made from quilted fabrics and Kevlar.  Can be worn under helmets.  Comes in XS size.",
    "proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
    "extend": { "flags": [ "UNDERSIZE" ] }
  },
  {
    "id": "l-stick_on",
    "copy-from": "l-stick",
    "type": "TOOL",
    "name": { "str": "L-stick (on)", "str_pl": "L-sticks (on)" },
    "description": "Produced by the Light corporation, this stylish staff functions not just as a light source, but also a lightweight weapon thanks to its superalloy construction.  Due to proprietary efficiency improvements over standard light sources, batteries last longer in the L-stick.  The staff is glowing brightly, which is slowly draining the batteries.",
    "material": [ "superalloy", "steel" ],
    "revert_to": "l-stick",
    "power_draw": "5 W",
    "use_action": {
      "ammo_scale": 0,
      "target": "l-stick",
      "msg": "The L-stick's™ light fades away.",
      "menu_text": "Turn off",
      "type": "transform"
    },
    "flags": [ "LIGHT_300", "DURABLE_MELEE", "TRADER_AVOID", "SHEATH_SPEAR" ]
  },
  {
    "id": "mil_mess_kit",
    "type": "TOOL",
    "name": { "str": "military mess kit" },
    "description": "A military mess kit designed for long-range reconnaissance patrols deployed behind enemy lines.  All of its parts are made from thin sheets of aluminum-superalloy composite and are insulated with ceramic coating.  Relies on a battery-operated hotplate, rather than the smoke-producing chemical-fueled hexamine stove.  Compact, durable and lightweight.",
    "weight": "900 g",
    "volume": "1 L",
    "longest_side": "10 cm",
    "price": 6000,
    "price_postapoc": 500,
    "to_hit": -1,
    "material": [ "superalloy", "ceramic" ],
    "symbol": ";",
    "color": "green",
    "ammo": [ "battery" ],
    "sub": "hotplate_induction",
    "flags": [ "ALLOWS_REMOTE_USE" ],
    "charges_per_use": 25,
    "qualities": [ [ "COOK", 2 ], [ "BOIL", 2 ], [ "CONTAIN", 1 ] ],
    "use_action": [ "HOTPLATE", "HEAT_FOOD" ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "rigid": true,
        "flag_restriction": [ "BATTERY_MEDIUM" ],
        "default_magazine": "medium_plus_battery_cell"
      }
    ],
    "melee_damage": { "bash": 4 }
  },
  {
    "id": "5x50dart",
    "type": "AMMO",
    "name": { "str": "RA110 5x50mm flechette" },
    "description": "Designed to defeat modern body armor, the Rivtech 5x50mm flechette round features a biodegradable sabot and a single, fin-stabilized penetrator.",
    "weight": "8 g",
    "volume": "144 ml",
    "price": 1125,
    "material": [ "plastic", "powder", "steel" ],
    "symbol": "=",
    "color": "green",
    "count": 100,
    "stack_size": 45,
    "ammo_type": "5x50",
    "casing": "5x50_hull",
    "range": 60,
    "damage": { "damage_type": "bullet", "amount": 20, "armor_penetration": 30 },
    "dispersion": 60,
    "recoil": 400,
    "flags": [ "IRREPLACEABLE_CONSUMABLE" ],
    "price_postapoc": 1800,
    "effects": [ "COOKOFF", "NEVER_MISFIRES" ]
  },
  {
    "id": "5x50heavy",
    "copy-from": "5x50dart",
    "type": "AMMO",
    "name": { "str": "RA119 5x50mm penetrator" },
    "description": "Designed to defeat modern body armor, the Rivtech 5x50mm RA119 penetrator round features a biodegradable sabot and a single, fin-stabilized tungsten alloy projectile.",
    "weight": "9 g",
    "price": 1688,
    "price_postapoc": 2400,
    "relative": { "range": -10, "damage": { "damage_type": "bullet", "amount": 5, "armor_penetration": 20 }, "dispersion": 20 },
    "proportional": { "recoil": 1.1 }
  },
  {
    "id": "reloaded_5x50dart",
    "copy-from": "5x50dart",
    "type": "AMMO",
    "name": { "str": "5x50mm flechette, reloaded", "str_pl": "5x50mm flechettes, reloaded" },
    "price_postapoc": 1200,
    "description": "Designed to defeat modern body armor, the Rivtech 5x50mm flechette round features a biodegradable sabot and a single, fin-stabilized penetrator.  This one has been hand-reloaded by a lucky survivor or perhaps a pre-Cataclysm corporate spy, leading to slightly inferior performance compared to factory-produced ammo.",
    "effects": [ "COOKOFF", "RECYCLED" ],
    "relative": { "range": -15, "dispersion": 40 },
    "proportional": { "price": 0.7, "damage": { "damage_type": "bullet", "amount": 0.9, "armor_penetration": 0.7 }, "recoil": 0.9 }
  },
  {
    "id": "5x50_100_mag",
    "looks_like": "mp5mag",
    "type": "MAGAZINE",
    "name": { "str": "5x50mm 100-round magazine" },
    "description": "A 100-round box magazine for use with 5x50mm flechette firearms.  Designated as RMFB100.",
    "weight": "360 g",
    "volume": "630ml",
    "price": 15000,
    "price_postapoc": 750,
    "material": [ "superalloy", "plastic" ],
    "symbol": "#",
    "color": "dark_gray",
    "ammo_type": [ "5x50" ],
    "reload_time": 60,
    "flags": [ "MAG_COMPACT" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "5x50": 100 } } ]
  },
  {
    "id": "5x50_50_mag",
    "looks_like": "mp5mag",
    "type": "MAGAZINE",
    "name": { "str": "5x50mm 50-round magazine" },
    "description": "A 50-round box magazine for use with 5x50mm flechette firearms.  Designated as RMFB50.",
    "weight": "240 g",
    "volume": "315ml",
    "price": 12500,
    "price_postapoc": 500,
    "material": [ "superalloy", "plastic" ],
    "symbol": "#",
    "color": "dark_gray",
    "ammo_type": [ "5x50" ],
    "reload_time": 50,
    "flags": [ "MAG_COMPACT" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "5x50": 50 } } ]
  },
  {
    "id": "needlegun",
    "looks_like": "hk_mp5",
    "type": "GUN",
    "reload_noise_volume": 10,
    "name": { "str": "RM216 SPIW" },
    "description": "This light carbine fires 5x50mm armor-piercing flechette cartridges.  Classified as a special purpose individual weapon, this advanced firearm was developed by Rivtech for the US military shortly before the end of the world.  Designed to be fired in bursts, it excels in close combat.",
    "weight": "1302 g",
    "volume": "1250 ml",
    "longest_side": "690 mm",
    "price": 2320000,
    "price_postapoc": 8000,
    "to_hit": -2,
    "material": [ "superalloy", "ceramic" ],
    "symbol": "(",
    "color": "dark_gray",
    "ammo": [ "5x50" ],
    "skill": "smg",
    "range": 10,
    "ranged_damage": { "damage_type": "bullet", "amount": 10 },
    "dispersion": 220,
    "durability": 9,
    "barrel_volume": "250 ml",
    "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "5 rd.", 5 ], [ "AUTO", "auto", 4 ] ],
    "valid_mod_locations": [
      [ "barrel", 1 ],
      [ "brass catcher", 1 ],
      [ "grip", 1 ],
      [ "mechanism", 4 ],
      [ "muzzle", 1 ],
      [ "rail", 1 ],
      [ "sights", 1 ],
      [ "sling", 1 ],
      [ "stock", 1 ],
      [ "stock accessory", 2 ],
      [ "underbarrel", 1 ]
    ],
    "flags": [ "WATERPROOF_GUN", "NEVER_JAMS" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "item_restriction": [ "5x50_100_mag", "5x50_50_mag" ] } ],
    "melee_damage": { "bash": 12 }
  },
  {
    "id": "needlepistol",
    "looks_like": "glock_17",
    "type": "GUN",
    "reload_noise_volume": 10,
    "name": { "str": "RM232 IDW" },
    "description": "This lightweight machine pistol fires 5x50mm armor-piercing flechette cartridges.  Classified as an individual defense weapon, this advanced firearm was developed by Rivtech for the US military shortly before the end of the world.  Designed to be fired in bursts, it excels in close combat.",
    "weight": "682 g",
    "volume": "620 ml",
    "longest_side": "255 mm",
    "price": 1200000,
    "price_postapoc": 8000,
    "to_hit": -2,
    "material": [ "superalloy", "ceramic" ],
    "symbol": "(",
    "color": "dark_gray",
    "ammo": [ "5x50" ],
    "skill": "pistol",
    "dispersion": 280,
    "durability": 9,
    "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "2 rd.", 2 ], [ "AUTO", "auto", 4 ] ],
    "valid_mod_locations": [
      [ "brass catcher", 1 ],
      [ "grip", 1 ],
      [ "mechanism", 4 ],
      [ "muzzle", 1 ],
      [ "rail", 1 ],
      [ "sights", 1 ],
      [ "stock", 1 ],
      [ "underbarrel", 1 ]
    ],
    "flags": [ "WATERPROOF_GUN", "NEVER_JAMS", "ALLOWS_BODY_BLOCK" ],
    "weapon_category": [ "AUTOMATIC_PISTOLS" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "item_restriction": [ "5x50_50_mag", "5x50_100_mag" ] } ],
    "melee_damage": { "bash": 8 }
  },
  {
    "id": "5x50_hull",
    "copy-from": "casing",
    "looks_like": "9mm_casing",
    "type": "GENERIC",
    "name": { "str": "5x50mm hull" },
    "description": "An empty plastic hull from a 5x50mm flechette round.",
    "weight": "1 g",
    "volume": "5ml",
    "material": [ "plastic" ],
    "color": "light_green"
  },
  {
    "abstract": "AID_abstract",
    "type": "GENERIC",
    "name": { "str": "abstract Autodoc installation data" },
    "material": [ "plastic" ],
    "symbol": "#",
    "weight": "35 g",
    "volume": "50 ml",
    "price": "200 USD",
    "price_postapoc": "50 USD",
    "looks_like": "data_card",
    "flags": [ "BIONIC_INSTALLATION_DATA" ]
  },
  {
    "id": "AID_bio_alarm",
    "copy-from": "AID_abstract",
    "type": "GENERIC",
    "name": { "str_sp": "Alarm System CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of an Alarm System CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_tattoo_led",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "LED Tattoo CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of an LED Tattoo CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_power_armor_interface",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Power Armor Interface CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Power Armor Interface CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_power_storage",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Power Storage CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Power Storage CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_power_storage_mkII",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Power Storage CBM Mk. II installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Power Storage CBM Mk. II, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_watch",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Internal Chronometer CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of an Internal Chronometer CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_syringe",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Intravenous Needletip CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of an Intravenous Needletip CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_blood_anal",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Blood Analysis CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Blood Analysis CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_flashlight",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Cranial Flashlight CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Cranial Flashlight CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_magnet",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Electromagnetic Unit CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of an Electromagnetic Unit CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_soporific",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Soporific Induction CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Soporific Induction CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_armor_arms",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Arms Alloy Plating CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of an Arms Alloy Plating CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_armor_legs",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Legs Alloy Plating CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Legs Alloy Plating CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_shotgun",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Shotgun Arm CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Shotgun Arm CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_blood_filter",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Blood Filter CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Blood Filter CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_climate",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Internal Climate Control CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of an Internal Climate Control CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_geiger",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Integrated Dosimeter CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of an Integrated Dosimeter CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_heatsink",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Thermal Dissipation CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Thermal Dissipation CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_meteorologist",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Weather Reader CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Weather Reader CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_ups",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Unified Power System CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Unified Power System CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_weight",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Titanium Skeletal Bracing CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Titanium Skeletal Bracing CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_trickle",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Trickle Charger CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Trickle Charger CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "AID_bio_pitch_perfect",
    "type": "GENERIC",
    "copy-from": "AID_abstract",
    "name": { "str_sp": "Throwing Assist CBM installation data" },
    "description": "Precise step-by-step instructions and other required data for installation of a Throwing Assist CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance.  An integrated security subroutine renders it unusable after a single installation."
  },
  {
    "id": "waterproof_smart_phone_case_migration",
    "type": "GENERIC",
    "category": "container",
    "looks_like": "smart_phone",
    "//": "This item only exists to keep the old bejewelled smartphone case variant from breaking the game, as its ID was changed by 66462. This serves as a fallback migration item.",
    "name": { "str": "golden smartphone case" },
    "description": "A shiny, expensive-looking golden coloured waterproof case designed for a standard smartphone.  Will protect your smartphone from water damage entirely.",
    "weight": "50 g",
    "volume": "125 ml",
    "price": 1000,
    "price_postapoc": 100,
    "material": [ "plastic" ],
    "symbol": ";",
    "color": "light_gray",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "100 ml",
        "max_contains_weight": "230 g",
        "moves": 100,
        "watertight": true,
        "rigid": true,
        "item_restriction": [ "smart_phone", "smart_phone_flashlight", "smartphone_music" ]
      }
    ]
  },
  {
    "id": "schematics_eyebot",
    "type": "BOOK",
    "name": { "str_sp": "eyebot schematics" },
    "description": "Assembly plans, design specs, and technical drawings for the eyebot.  Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
    "copy-from": "schematics_generic"
  },
  {
    "id": "schematics_copbot",
    "type": "BOOK",
    "name": { "str_sp": "police bot schematics" },
    "description": "Assembly plans, design specs, and technical drawings for the police bot.  Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
    "copy-from": "schematics_generic"
  },
  {
    "id": "schematics_riotbot",
    "type": "BOOK",
    "name": { "str_sp": "riot control bot schematics" },
    "description": "Assembly plans, design specs, and technical drawings for the riot control bot.  Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
    "copy-from": "schematics_generic"
  },
  {
    "id": "bot_copbot",
    "looks_like": "broken_copbot",
    "type": "TOOL",
    "name": { "str": "inactive police bot" },
    "description": "An inactive police robot.  Using this item involves placing it on the ground and turning it on.  If reprogrammed and rewired successfully, the police bot will then identify you as law enforcement, roam around or follow you, and attempt to detain lawbreakers.",
    "weight": "81500 g",
    "volume": "62500 ml",
    "price": 100000,
    "price_postapoc": 500,
    "to_hit": -3,
    "material": [ "steel" ],
    "symbol": ";",
    "color": "light_green",
    "flags": [ "SINGLE_USE" ],
    "melee_damage": { "bash": 8 }
  },
  {
    "id": "bot_eyebot",
    "looks_like": "broken_eyebot",
    "type": "TOOL",
    "name": { "str": "inactive eyebot" },
    "description": "An inactive eyebot.  Using this item involves turning it on and launching the UAV.  If reprogrammed and rewired successfully, the eyebot will then keep watch for intruders.",
    "weight": "40750 g",
    "volume": "30 L",
    "price": 10000,
    "price_postapoc": 500,
    "to_hit": -3,
    "material": [ "steel" ],
    "symbol": ";",
    "color": "light_green",
    "flags": [ "SINGLE_USE" ],
    "melee_damage": { "bash": 8 }
  },
  {
    "id": "bot_riotbot",
    "looks_like": "broken_riotbot",
    "type": "TOOL",
    "name": { "str": "inactive riot control bot" },
    "description": "An inactive riot control bot.  Using this item involves placing it on the ground and turning it on.  If reprogrammed and rewired successfully, the robot will bring order and peace to the horde.",
    "weight": "81500 g",
    "volume": "62500 ml",
    "price": 35000,
    "price_postapoc": 1500,
    "to_hit": -3,
    "material": [ "steel" ],
    "symbol": ";",
    "color": "light_green",
    "flags": [ "SINGLE_USE" ],
    "melee_damage": { "bash": 8 }
  },
  {
    "type": "GENERIC",
    "id": "broken_eyebot",
    "symbol": ",",
    "color": "green",
    "name": { "str": "broken eyebot" },
    "category": "other",
    "description": "A broken eyebot.  Much less threatening now that it won't be calling for backup.  Could be gutted for parts.",
    "price": 1000,
    "price_postapoc": 10,
    "material": [ "steel", "plastic" ],
    "weight": "31520 g",
    "volume": "15 L",
    "to_hit": -3,
    "flags": [ "TRADER_AVOID", "NO_REPAIR" ],
    "melee_damage": { "bash": 6, "cut": 6 }
  },
  {
    "type": "GENERIC",
    "id": "broken_copbot",
    "symbol": ",",
    "color": "green",
    "name": { "str": "broken police bot" },
    "category": "other",
    "description": "A broken police bot.  Much less threatening now that it's quiet and still.  Could be gutted for parts.",
    "price": 30000,
    "price_postapoc": 10,
    "material": [ "steel", "plastic" ],
    "weight": "140000 g",
    "volume": "62500 ml",
    "to_hit": -3,
    "flags": [ "TRADER_AVOID", "NO_REPAIR" ],
    "melee_damage": { "bash": 6, "cut": 6 }
  },
  {
    "type": "GENERIC",
    "id": "broken_riotbot",
    "symbol": ",",
    "color": "green",
    "name": { "str": "broken riot control bot" },
    "category": "other",
    "description": "A broken riot control bot.  Much less threatening now that it's out of gas.  Could be gutted for parts.",
    "price": 30000,
    "price_postapoc": 10,
    "material": [ "steel", "plastic" ],
    "weight": "140000 g",
    "volume": "62500 ml",
    "to_hit": -3,
    "flags": [ "TRADER_AVOID", "NO_REPAIR" ],
    "melee_damage": { "bash": 6, "cut": 6 }
  },
  {
    "id": "RPG",
    "looks_like": "m79",
    "type": "GUN",
    "reload_noise_volume": 10,
    "symbol": "(",
    "color": "brown",
    "name": { "str_sp": "RPG-7" },
    "description": "The emblematic RPG-7 launcher.  Its simple, inexpensive, and reliable design made it a popular choice among armies and insurgent groups worldwide.",
    "price": 150000,
    "price_postapoc": 1000,
    "//": "Like the LAW, this thing is basically a tube with a lever.  It's even cheaper in terms of construction, but there's a premium due to being imported.  Also not disposable.",
    "material": [ "steel", "wood" ],
    "flags": [ "BACKBLAST", "NEVER_JAMS" ],
    "skill": "launcher",
    "ammo": [ "RPG-7" ],
    "weight": "7000 g",
    "volume": "4500 ml",
    "longest_side": "95 cm",
    "to_hit": -3,
    "dispersion": 600,
    "durability": 10,
    "clip_size": 1,
    "reload": 150,
    "valid_mod_locations": [ [ "grip", 1 ], [ "mechanism", 4 ], [ "sights", 1 ], [ "sling", 1 ], [ "rail mount", 1 ], [ "underbarrel mount", 1 ] ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "ammo_restriction": { "RPG-7": 1 } } ],
    "melee_damage": { "bash": 10 }
  },
  {
    "type": "AMMO",
    "id": "RPG-7_ammo",
    "price": 10000,
    "name": { "str": "PG-7VL 93mm rocket" },
    "symbol": "=",
    "color": "dark_gray",
    "description": "93mm single-stage high-explosive ammunition for the RPG-7.",
    "material": [ "steel", "powder" ],
    "volume": "1750 ml",
    "longest_side": "89 cm",
    "price_postapoc": 2000,
    "flags": [ "IRREPLACEABLE_CONSUMABLE" ],
    "weight": "2600 g",
    "ammo_type": "RPG-7",
    "damage": { "damage_type": "stab", "amount": 3000, "armor_penetration": 750 },
    "range": 60,
    "dispersion": 75,
    "recoil": 450,
    "effects": [ "COOKOFF", "TRAIL", "NEVER_MISFIRES" ]
  },
  {
    "type": "AMMO",
    "id": "RPG-7_pg7vr",
    "price": 10000,
    "name": { "str": "PG-7VR 64mm/105mm rocket" },
    "symbol": "=",
    "color": "dark_gray",
    "description": "64mm/105mm high-explosive tandem ammunition for the RPG-7.",
    "material": [ "steel", "powder" ],
    "volume": "2250 ml",
    "longest_side": "89 cm",
    "price_postapoc": 3000,
    "flags": [ "IRREPLACEABLE_CONSUMABLE" ],
    "weight": "4500 g",
    "ammo_type": "RPG-7",
    "damage": { "damage_type": "stab", "amount": 3250, "armor_penetration": 1450 },
    "range": 60,
    "dispersion": 75,
    "recoil": 450,
    "effects": [ "COOKOFF", "TRAIL", "NEVER_MISFIRES" ]
  },
  {
    "type": "AMMO",
    "id": "RPG-7_tbg7v",
    "price": 10000,
    "name": { "str": "TBG-7V 105mm rocket" },
    "symbol": "=",
    "color": "dark_gray",
    "description": "105mm thermobaric ammunition for the RPG-7.",
    "material": [ "plastic", "powder" ],
    "volume": "2250 ml",
    "longest_side": "89 cm",
    "price_postapoc": 4000,
    "flags": [ "IRREPLACEABLE_CONSUMABLE" ],
    "weight": "4500 g",
    "ammo_type": "RPG-7",
    "damage": { "damage_type": "stab", "amount": 150, "armor_penetration": 10 },
    "range": 60,
    "dispersion": 50,
    "recoil": 450,
    "effects": [ "COOKOFF", "TRAIL", "NEVER_MISFIRES" ]
  },
  {
    "type": "AMMO",
    "id": "RPG-7_og7v",
    "price": 8000,
    "name": { "str": "OG-7V 40mm rocket" },
    "symbol": "=",
    "color": "dark_gray",
    "description": "40mm high-explosive fragmentation antipersonnel ammunition for the RPG-7.",
    "material": [ "steel", "powder" ],
    "volume": "750 ml",
    "longest_side": "595 mm",
    "price_postapoc": 1500,
    "flags": [ "IRREPLACEABLE_CONSUMABLE" ],
    "weight": "1750 g",
    "ammo_type": "RPG-7",
    "damage": { "damage_type": "stab", "amount": 80, "armor_penetration": 10 },
    "range": 60,
    "dispersion": 50,
    "recoil": 350,
    "effects": [ "COOKOFF", "NEVER_MISFIRES" ]
  },
  {
    "type": "GENERIC",
    "id": "broken_mininuke_hack",
    "symbol": ",",
    "color": "magenta",
    "name": { "str": "broken mininuke hack" },
    "category": "other",
    "description": "A broken mininuke hack.  Just looking at the wreck makes you shiver.  Could be gutted for parts.",
    "price": 18000,
    "price_postapoc": 10,
    "material": [ "aluminum", "plastic" ],
    "weight": "25000 g",
    "volume": "18750 ml",
    "to_hit": -3,
    "flags": [ "TRADER_AVOID", "NO_REPAIR" ],
    "melee_damage": { "bash": 6, "cut": 6 }
  },
  {
    "id": "mininuke_payload",
    "type": "TOOL",
    "category": "weapons",
    "name": { "str": "mininuke payload" },
    "description": "This is a dummy item used by mininuke hacks.  You should never see it outside of debug.",
    "symbol": "*",
    "color": "dark_gray",
    "use_action": { "target": "mininuke_act", "target_timer": "20 seconds", "type": "transform" },
    "flags": [ "TRADER_AVOID", "BOMB", "GRENADE", "ZERO_WEIGHT" ]
  },
  {
    "id": "rm802",
    "copy-from": "launcher_base",
    "looks_like": "m79",
    "type": "GUN",
    "name": { "str": "RM802 grenade launcher" },
    "//": "Either Rivtech or milspec would make it Expensive.  Combined, you could buy a half-decent car for the price.",
    "description": "The Rivtech RM802 pump-action 40mm grenade launcher was designed to be a step ahead of single-shot grenade launchers by allowing sustained heavy firepower.  However, its capacity is fairly limited so it must be used with careful planning.",
    "weight": "3120 g",
    "volume": "2500 ml",
    "longest_side": "820 mm",
    "price": 2920000,
    "price_postapoc": 8000,
    "to_hit": -1,
    "material": [ "superalloy", "ceramic" ],
    "ammo": [ "40x46mm" ],
    "dispersion": 140,
    "durability": 9,
    "blackpowder_tolerance": 60,
    "clip_size": 4,
    "valid_mod_locations": [
      [ "brass catcher", 1 ],
      [ "grip", 1 ],
      [ "mechanism", 4 ],
      [ "rail", 1 ],
      [ "sights", 1 ],
      [ "sling", 1 ],
      [ "stock", 1 ],
      [ "stock accessory", 2 ],
      [ "underbarrel", 1 ]
    ],
    "flags": [ "RELOAD_ONE", "WATERPROOF_GUN", "NEVER_JAMS" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "40x46mm": 4 } } ],
    "melee_damage": { "bash": 8 }
  },
  {
    "id": "aux_pressurized_tank",
    "looks_like": "pressurized_tank",
    "type": "MAGAZINE",
    "name": { "str": "0.5L pressurized fuel tank" },
    "description": "A pressurized 0.5L canister built for use with a small auxiliary flamethrower.",
    "weight": "100 g",
    "volume": "500 ml",
    "price": 3000,
    "price_postapoc": 250,
    "material": [ "steel" ],
    "symbol": "#",
    "color": "light_gray",
    "ammo_type": [ "flammable" ],
    "reload_time": 3,
    "flags": [ "MAG_BULKY" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "flammable": 500 }, "watertight": true } ]
  },
  {
    "id": "skorpion_61",
    "looks_like": "hk_mp5",
    "type": "GUN",
    "reload_noise_volume": 10,
    "name": { "str": "Škorpion vz. 61" },
    "//": "Total unloaded weight of gun 1301.81 grams, rounded to 1302.  Current weight of folding stock 200 grams.",
    "description": "The Škorpion vz. 61 was a Czechoslovak submachine gun from the 1950s, chambered in .32 ACP.  This is a semi-automatic clone,",
    "weight": "1300 g",
    "volume": "788 ml",
    "longest_side": "298 mm",
    "barrel_length": "115 mm",
    "price": 150000,
    "price_postapoc": 2500,
    "to_hit": -2,
    "material": [ "steel" ],
    "symbol": "(",
    "color": "dark_gray",
    "ammo": [ "32" ],
    "skill": "smg",
    "dispersion": 360,
    "durability": 6,
    "min_cycle_recoil": 135,
    "modes": [ [ "DEFAULT", "semi-auto", 1 ] ],
    "built_in_mods": [ "folding_stock" ],
    "valid_mod_locations": [
      [ "barrel", 1 ],
      [ "bore", 1 ],
      [ "brass catcher", 1 ],
      [ "grip", 1 ],
      [ "mechanism", 4 ],
      [ "muzzle", 1 ],
      [ "rail", 1 ],
      [ "sights", 1 ],
      [ "sling", 1 ],
      [ "stock", 1 ],
      [ "underbarrel", 1 ]
    ],
    "faults": [ "fault_gun_blackpowder", "fault_gun_dirt", "fault_gun_chamber_spent" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "item_restriction": [ "skorpion61mag" ] } ],
    "melee_damage": { "bash": 9 }
  },
  {
    "id": "skorpion61mag",
    "looks_like": "mp5mag",
    "type": "MAGAZINE",
    "name": { "str": "Škorpion vz. 61 20-round magazine" },
    "description": "A standard 20-round magazine for the Škorpion vz. 61, in .32 ACP.",
    "weight": "120 g",
    "volume": "250 ml",
    "price": 2300,
    "price_postapoc": 100,
    "material": [ "steel" ],
    "symbol": "#",
    "color": "light_gray",
    "ammo_type": [ "32" ],
    "flags": [ "MAG_COMPACT" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "32": 20 } } ]
  },
  {
    "id": "skorpion_82",
    "copy-from": "skorpion_61",
    "looks_like": "hk_mp5",
    "type": "GUN",
    "name": { "str": "vz. 82 submachine gun" },
    "description": "A compact submachine gun hailing from Czechoslovakia during the Cold War, featuring a suppressively high rate of automatic fire and shooting the Soviet 9x18mm round.",
    "variant_type": "gun",
    "variants": [
      {
        "id": "skorpion_82",
        "name": { "str": "Škorpion vz. 82" },
        "//": "Total unloaded weight of gun 1451.496 grams, rounded to 1451.  Current weight of folding stock 200 grams.",
        "description": "A version of the Škorpion submachine gun chambered in 9x18mm Makarov, with a slightly longer barrel than the original design."
      }
    ],
    "weight": "1440 g",
    "barrel_length": "113 mm",
    "price": 20000,
    "price_postapoc": 2000,
    "ammo": [ "9x18" ],
    "min_cycle_recoil": 270,
    "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ],
    "pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "item_restriction": [ "skorpion82mag" ] } ]
  },
  {
    "id": "skorpion82mag",
    "looks_like": "mp5mag",
    "type": "MAGAZINE",
    "name": { "str": "vz. 82 20-round magazine" },
    "description": "A standard 20-round magazine for the vz. 82 submachine gun.",
    "variant_type": "gun",
    "variants": [
      {
        "id": "skorpion82mag",
        "name": { "str": "Škorpion vz. 82 20-round magazine" },
        "description": "A standard 20-round magazine for the Škorpion vz. 82, in 9x18mm Makarov."
      }
    ],
    "weight": "170 g",
    "volume": "500 ml",
    "price": 2300,
    "price_postapoc": 100,
    "material": [ "steel" ],
    "symbol": "#",
    "color": "light_gray",
    "ammo_type": [ "9x18" ],
    "flags": [ "MAG_COMPACT" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "9x18": 20 } } ]
  },
  {
    "id": "8mm_civilian",
    "copy-from": "8mm_caseless",
    "type": "AMMO",
    "name": { "str_sp": "8x40mm sporting" },
    "description": "An 8x40mm caseless round, light sporting load sold for civilian use.  Proprietary ammunition for Rivtech firearms.",
    "delete": { "effects": [ "NEVER_MISFIRES" ], "flags": [ "IRREPLACEABLE_CONSUMABLE" ] },
    "proportional": { "price": 0.8, "damage": { "damage_type": "bullet", "amount": 0.5 }, "dispersion": 1.2, "recoil": 0.5 }
  },
  {
    "id": "8mm_fmj",
    "copy-from": "8mm_caseless",
    "type": "AMMO",
    "name": { "str_sp": "8x40mm FMJ" },
    "description": "An 8x40mm caseless round, full metal jacket.  Military grade ammunition for Rivtech firearms.",
    "relative": { "damage": { "damage_type": "bullet", "amount": -5, "armor_penetration": 10 } }
  },
  {
    "id": "8mm_hvp",
    "copy-from": "8mm_caseless",
    "type": "AMMO",
    "name": { "str_sp": "8x40mm HVP" },
    "description": "An 8x40mm caseless round, saboted high-velocity penetrator type.  Advanced military grade, armor-piercing ammunition that fires a single depleted uranium flechette.",
    "price": 2500,
    "price_postapoc": 50000,
    "count": 20,
    "relative": { "damage": { "damage_type": "bullet", "amount": 5, "armor_penetration": 20 } }
  },
  {
    "id": "8mm_inc",
    "copy-from": "8mm_caseless",
    "type": "AMMO",
    "name": { "str_sp": "8x40mm tracer" },
    "description": "An 8x40mm caseless ammunition mixed with tracers to help keep the weapon they are fired from on target at the risk of igniting flammable substances.  Military grade ammunition for Rivtech firearms.",
    "count": 20,
    "proportional": { "dispersion": 0.8 },
    "extend": { "effects": [ "INCENDIARY" ] }
  },
  {
    "id": "rm298",
    "type": "GUN",
    "reload_noise_volume": 10,
    "name": { "str": "RM298 HMG" },
    "description": "Utilizing a powerful and unusual caliber, the Rivtech RM298 heavy machine gun was designed for durability and extreme volume of sustained fire under the worst possible circumstances.  Accepts RMXB500 box and RMGD250 drum magazines.",
    "weight": "24500 g",
    "volume": "10500 ml",
    "longest_side": "1260 mm",
    "barrel_length": "610 mm",
    "price": 7500000,
    "price_postapoc": 15000,
    "to_hit": -4,
    "material": [ "steel", "carbonfiber" ],
    "symbol": "(",
    "color": "dark_gray",
    "ammo": [ "8x40mm" ],
    "skill": "rifle",
    "range": -6,
    "dispersion": 90,
    "durability": 9,
    "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 6 ] ],
    "reload": 400,
    "barrel_volume": "1500 ml",
    "valid_mod_locations": [
      [ "barrel", 1 ],
      [ "grip", 1 ],
      [ "mechanism", 4 ],
      [ "rail", 1 ],
      [ "sights", 1 ],
      [ "sling", 1 ],
      [ "stock", 1 ],
      [ "stock accessory", 1 ]
    ],
    "flags": [ "WATERPROOF_GUN" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "item_restriction": [ "8x40_500_mag", "8x40_250_mag" ] } ],
    "melee_damage": { "bash": 18 }
  }
]
