[
  {
    "id": "test_bomba",
    "type": "TOOL",
    "category": "weapons",
    "name": { "str": "bomba" },
    "description": "boom",
    "material": [ "test_material" ],
    "weight": "397 g",
    "volume": "270 ml",
    "price": 1000000,
    "price_postapoc": 1000000,
    "symbol": "*",
    "color": "green",
    "flags": [ "BOMB", "DANGEROUS" ]
  },
  {
    "type": "GENERIC",
    "id": "fridge_test",
    "looks_like": "minifridge",
    "symbol": "F",
    "color": "light_blue",
    "name": { "str": "fridge" },
    "material": [ "steel" ],
    "volume": "800 L",
    "weight": "70 kg",
    "description": "A fridge for keeping food cool.  Provides some insulation from outside weather.",
    "longest_side": "1700 mm",
    "insulation": 10,
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "max_contains_volume": "500 L",
        "max_contains_weight": "400 kg"
      }
    ]
  },
  {
    "id": "metal_tank_test",
    "type": "GENERIC",
    "category": "container",
    "looks_like": "keg",
    "name": { "str": "metal tank (60L)", "str_pl": "metal tanks (60L)" },
    "description": "A large metal tank for holding liquids.  Useful for crafting.",
    "weight": "5668 g",
    "volume": "60050 ml",
    "price": 10000,
    "price_postapoc": 250,
    "to_hit": -4,
    "material": [ "steel" ],
    "symbol": "}",
    "color": "light_cyan",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "max_contains_volume": "60 L",
        "max_contains_weight": "120 kg"
      }
    ],
    "qualities": [ [ "BOIL", 2 ], [ "CONTAIN", 1 ] ],
    "melee_damage": { "bash": 6 }
  },
  {
    "type": "AMMO",
    "id": "test_rock",
    "symbol": "*",
    "color": "light_gray",
    "name": "TEST rock",
    "description": "A rock the size of a baseball.  Makes a decent melee weapon, and is also good for throwing at enemies.",
    "category": "spare_parts",
    "material": [ "stone" ],
    "ammo_type": "rock",
    "flags": [ "TRADER_AVOID" ],
    "weight": "657 g",
    "volume": "250 ml",
    "damage": { "damage_type": "stab", "amount": 7 },
    "range": 10,
    "dispersion": 14,
    "loudness": 0,
    "to_hit": -2,
    "effects": [ "NEVER_MISFIRES", "NON_FOULING", "RECOVER_80" ],
    "qualities": [ [ "HAMMER", 1 ] ],
    "melee_damage": { "bash": 7 }
  },
  {
    "type": "TOOL_ARMOR",
    "id": "test_ring_strength_1",
    "weight": "4 g",
    "volume": "1 ml",
    "price": 5000,
    "material": [ "copper" ],
    "symbol": "[",
    "color": "light_red",
    "sided": true,
    "warmth": 0,
    "flags": [ "WATER_FRIENDLY", "ALLOWS_NATURAL_ATTACKS", "FANCY", "ONLY_ONE", "SKINTIGHT" ],
    "name": { "str": "ring of strength +1", "str_pl": "rings of strength +1" },
    "description": "A copper ring that makes you a little stronger when you wear it.",
    "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "STRENGTH", "add": 1 } ] } ] },
    "armor": [ { "coverage": 0, "covers": [ "hand_l", "hand_r" ] } ]
  },
  {
    "id": "test_rollerskates",
    "type": "ARMOR",
    "name": { "str": "pair of rollerskates", "str_pl": "pairs of rollerskates" },
    "description": "An old-fashioned pair of leather rollerskates with steel frames.  While quite fast on flat floors, they make it difficult to take hits or to move on rough terrain.",
    "weight": "2720 g",
    "volume": "3 L",
    "price": 8500,
    "price_postapoc": 1500,
    "to_hit": -2,
    "material": [ "leather", "steel" ],
    "symbol": "[",
    "looks_like": "roller_blades",
    "color": "brown",
    "warmth": 30,
    "material_thickness": 3,
    "environmental_protection": 2,
    "flags": [ "VARSIZE", "WATERPROOF", "ROLLER_QUAD", "REQUIRES_BALANCE" ],
    "armor": [ { "covers": [ "foot_l", "foot_r" ], "encumbrance": 0 } ],
    "melee_damage": { "bash": 6 }
  },
  {
    "id": "test_roller_blades",
    "type": "ARMOR",
    "name": { "str": "pair of rollerblades", "str_pl": "pairs of rollerblades" },
    "description": "A pair of inline skates.  Very fast on flat floors, but they make it hard to move on rough terrain, take hits, or dodge effectively.",
    "weight": "1640 g",
    "volume": "3750 ml",
    "price": 8500,
    "price_postapoc": 2500,
    "to_hit": -2,
    "material": [ "plastic", "cotton" ],
    "symbol": "[",
    "looks_like": "rollerskates",
    "color": "light_gray",
    "warmth": 20,
    "material_thickness": 3,
    "environmental_protection": 2,
    "flags": [ "VARSIZE", "WATERPROOF", "ROLLER_INLINE", "REQUIRES_BALANCE" ],
    "armor": [ { "covers": [ "foot_l", "foot_r" ], "encumbrance": 0 } ]
  },
  {
    "id": "test_rag",
    "type": "TOOL",
    "category": "spare_parts",
    "name": "TEST cotton patchwork",
    "description": "This is a largish piece of cloth, useful in crafting and possibly for staunching bleeding.",
    "weight": "80 g",
    "volume": "250 ml",
    "price": 0,
    "material": [ "cotton" ],
    "symbol": ",",
    "color": "white",
    "use_action": [
      {
        "type": "heal",
        "move_cost": 200,
        "bleed": 1,
        "used_up_item": { "id": "cotton_patchwork", "quantity": 1, "flags": [ "FILTHY" ] }
      },
      "WASH_HARD_ITEMS"
    ],
    "flags": [ "NO_SALVAGE" ]
  },
  {
    "id": "test_rag_bundle",
    "type": "GENERIC",
    "category": "spare_parts",
    "name": "TEST rag bundle",
    "description": "This is a bundle of 100 cotton patchwork pieces tied together with a piece of string.",
    "weight": "800 g",
    "volume": "2000 ml",
    "price": 0,
    "material": [ "cotton" ],
    "symbol": "#",
    "color": "white"
  },
  {
    "id": "test_knotted_string_ball",
    "type": "GENERIC",
    "category": "spare_parts",
    "name": "TEST knotted ball of string",
    "description": "This is a ball of 100 short pieces of string, all tangled and knotted together.",
    "weight": "600 g",
    "volume": "1000 ml",
    "price": 0,
    "material": [ "cotton" ],
    "symbol": "#",
    "color": "white"
  },
  {
    "type": "GENERIC",
    "id": "test_2x4",
    "name": "TEST plank",
    "description": "A narrow, thick plank of wood, like a 2 by 4 or similar piece of dimensional lumber.  Makes a decent melee weapon, and can be used for all kinds of construction.",
    "category": "spare_parts",
    "volume": "4400 ml",
    "weight": "2200 g",
    "longest_side": "130 cm",
    "to_hit": 1,
    "color": "brown",
    "symbol": "/",
    "material": [ "wood" ],
    "techniques": [ "WBLOCK_1" ],
    "price": 1000,
    "price_postapoc": 0,
    "flags": [ "FIREWOOD" ],
    "melee_damage": { "bash": 10 }
  },
  {
    "type": "GENERIC",
    "id": "test_pipe",
    "name": "TEST pipe",
    "description": "A steel pipe, makes a good melee weapon.  Useful in a few crafting recipes.",
    "category": "spare_parts",
    "weight": "1250 g",
    "volume": "1 L",
    "longest_side": "50 cm",
    "to_hit": 1,
    "color": "dark_gray",
    "symbol": "/",
    "material": [ "steel" ],
    "qualities": [ [ "HAMMER", 1 ] ],
    "techniques": [ "WBLOCK_1" ],
    "price": 7500,
    "price_postapoc": 300,
    "melee_damage": { "bash": 12 }
  },
  {
    "type": "GENERIC",
    "id": "test_glass_pipe_mostly_steel",
    "name": "TEST pipe",
    "description": "A steel pipe, makes a good melee weapon.  Useful in a few crafting recipes.",
    "category": "spare_parts",
    "weight": "1250 g",
    "volume": "1 L",
    "longest_side": "50 cm",
    "to_hit": 1,
    "color": "dark_gray",
    "symbol": "/",
    "material": [ { "type": "steel", "portion": 9 }, { "type": "glass", "portion": 1 } ],
    "qualities": [ [ "HAMMER", 1 ] ],
    "techniques": [ "WBLOCK_1" ],
    "price": 7500,
    "price_postapoc": 300,
    "melee_damage": { "bash": 12 }
  },
  {
    "type": "GENERIC",
    "id": "test_glass_pipe_mostly_glass",
    "name": "TEST pipe",
    "description": "A steel pipe, makes a good melee weapon.  Useful in a few crafting recipes.",
    "category": "spare_parts",
    "weight": "1250 g",
    "volume": "1 L",
    "longest_side": "50 cm",
    "to_hit": 1,
    "color": "dark_gray",
    "symbol": "/",
    "material": [ { "type": "steel", "portion": 1 }, { "type": "glass", "portion": 9 } ],
    "qualities": [ [ "HAMMER", 1 ] ],
    "techniques": [ "WBLOCK_1" ],
    "price": 7500,
    "price_postapoc": 300,
    "melee_damage": { "bash": 12 }
  },
  {
    "type": "TOOL",
    "id": "test_shears",
    "name": { "str_sp": "shears" },
    "description": "This is a set of shears designed to obtain wool from sheep.",
    "weight": "820 g",
    "volume": "750 ml",
    "price": 500,
    "price_postapoc": 250,
    "to_hit": -1,
    "material": [ "steel", "plastic" ],
    "symbol": ";",
    "color": "light_gray",
    "qualities": [ [ "SHEAR", 1 ] ],
    "flags": [  ],
    "melee_damage": { "stab": 3 }
  },
  {
    "type": "TOOL",
    "id": "test_shears_mostly_steel",
    "name": { "str_sp": "shears" },
    "description": "This is a set of shears designed to obtain wool from sheep.",
    "weight": "820 g",
    "volume": "750 ml",
    "price": 500,
    "price_postapoc": 250,
    "to_hit": -1,
    "material": [ { "type": "steel", "portion": 9 }, { "type": "plastic", "portion": 1 } ],
    "symbol": ";",
    "color": "light_gray",
    "qualities": [ [ "SHEAR", 1 ] ],
    "flags": [  ],
    "melee_damage": { "stab": 3 }
  },
  {
    "type": "TOOL",
    "id": "test_shears_mostly_plastic",
    "name": { "str_sp": "shears" },
    "description": "This is a set of shears designed to obtain wool from sheep.",
    "weight": "820 g",
    "volume": "750 ml",
    "price": 500,
    "price_postapoc": 250,
    "to_hit": -1,
    "material": [ { "type": "steel", "portion": 1 }, { "type": "plastic", "portion": 9 } ],
    "symbol": ";",
    "color": "light_gray",
    "qualities": [ [ "SHEAR", 1 ] ],
    "flags": [  ],
    "melee_damage": { "stab": 3 }
  },
  {
    "type": "TOOL",
    "id": "test_shears_off",
    "copy-from": "test_shears",
    "name": { "str": "electric shears (off)" },
    "description": "This is a set of electric shears designed to obtain wool from sheep.",
    "qualities": [  ],
    "ammo": [ "battery" ],
    "use_action": {
      "type": "transform",
      "msg": "Your %s activates.",
      "target": "test_shears_on",
      "active": true,
      "need_charges": 1,
      "need_charges_msg": "The shears batteries are dead."
    },
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "holster": true,
        "rigid": true,
        "max_contains_volume": "20 L",
        "max_contains_weight": "20 kg",
        "item_restriction": [ "test_battery_disposable" ]
      }
    ]
  },
  {
    "type": "TOOL",
    "id": "test_shears_on",
    "copy-from": "test_shears_off",
    "name": { "str": "electric shears (on)" },
    "description": "This is a set of electric shears designed to obtain wool from sheep.  These shears have been turned on.",
    "power_draw": "10 W",
    "revert_to": "test_shears_off",
    "use_action": { "type": "transform", "msg": "Your %s deactivates.", "target": "test_shears_off" },
    "qualities": [ [ "SHEAR", 3 ] ]
  },
  {
    "id": "test_cordless_drill",
    "type": "TOOL",
    "name": { "str": "test cordless drill" },
    "description": "This is a cordless battery-powered drill with a selection of drill bits.",
    "weight": "2721 g",
    "volume": "750 ml",
    "longest_side": "22 cm",
    "material": [ "plastic", "steel" ],
    "symbol": ";",
    "color": "yellow",
    "ammo": [ "battery" ],
    "flags": [ "WATER_BREAK" ],
    "charges_per_use": 5,
    "qualities": [ [ "SCREW", 1 ] ],
    "charged_qualities": [ [ "DRILL", 3 ] ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "magazine_well": "200 ml",
        "flag_restriction": [ "BATTERY_MEDIUM" ],
        "default_magazine": "medium_battery_cell"
      }
    ]
  },
  {
    "id": "test_tool_belt",
    "type": "ARMOR",
    "name": { "str": "tool belt" },
    "description": "A common belt with pockets, loops and sheaths to store up to six tools or blades.  Widely used by handymen and electricians.",
    "weight": "2000 g",
    "volume": "2250 ml",
    "price": 4500,
    "price_postapoc": 1500,
    "material": [ "leather" ],
    "symbol": "[",
    "looks_like": "holster",
    "color": "brown",
    "material_thickness": 2,
    "pocket_data": [
      {
        "holster": true,
        "min_item_volume": "50 ml",
        "max_item_length": "70 cm",
        "max_contains_volume": "1500 ml",
        "max_contains_weight": "1200 g",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "transparent": true
      },
      {
        "holster": true,
        "min_item_volume": "50 ml",
        "max_item_length": "70 cm",
        "max_contains_volume": "1500 ml",
        "max_contains_weight": "1200 g",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "transparent": true
      },
      {
        "holster": true,
        "min_item_volume": "50 ml",
        "max_item_length": "70 cm",
        "max_contains_volume": "1500 ml",
        "max_contains_weight": "1200 g",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "transparent": true
      },
      {
        "holster": true,
        "min_item_volume": "50 ml",
        "max_item_length": "70 cm",
        "max_contains_volume": "1500 ml",
        "max_contains_weight": "1200 g",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "transparent": true
      }
    ],
    "use_action": { "type": "holster", "holster_prompt": "Store tool or blade", "holster_msg": "You put your %1$s in your %2$s" },
    "flags": [ "BELTED", "WATER_FRIENDLY" ],
    "armor": [ { "encumbrance": 2, "coverage": 100, "covers": [ "torso" ], "specifically_covers": [ "torso_waist" ] } ],
    "melee_damage": { "bash": 5 }
  },
  {
    "id": "test_tool_belt_pocket_mix",
    "type": "ARMOR",
    "name": { "str": "tool belt" },
    "description": "A common belt with pockets, loops and sheaths to store up to six tools or blades.  Widely used by handymen and electricians.",
    "weight": "2000 g",
    "volume": "2250 ml",
    "price": 4500,
    "price_postapoc": 1500,
    "material": [ "leather" ],
    "symbol": "[",
    "looks_like": "holster",
    "color": "brown",
    "material_thickness": 2,
    "pocket_data": [
      {
        "max_contains_volume": "1 L",
        "max_contains_weight": "1500 g",
        "max_item_length": "40 cm",
        "moves": 100,
        "name": "P1"
      },
      {
        "holster": true,
        "min_item_volume": "50 ml",
        "max_contains_volume": "1500 ml",
        "max_contains_weight": "1500 g",
        "max_item_length": "70 cm",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "name": "P2",
        "transparent": true
      },
      {
        "holster": true,
        "min_item_volume": "50 ml",
        "max_contains_volume": "1500 ml",
        "max_contains_weight": "1500 g",
        "max_item_length": "70 cm",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "name": "P3",
        "transparent": true
      },
      {
        "holster": true,
        "min_item_volume": "50 ml",
        "max_contains_volume": "1 L",
        "max_contains_weight": "1500 g",
        "max_item_length": "70 cm",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "name": "P4",
        "transparent": true
      },
      {
        "holster": true,
        "min_item_volume": "50 ml",
        "max_contains_volume": "1 L",
        "max_contains_weight": "1500 g",
        "max_item_length": "70 cm",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "name": "P5",
        "transparent": true
      },
      {
        "holster": true,
        "min_item_volume": "50 ml",
        "max_contains_volume": "1 L",
        "max_contains_weight": "1500 g",
        "max_item_length": "70 cm",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "name": "P6",
        "transparent": true
      }
    ],
    "use_action": { "type": "holster", "holster_prompt": "Store tool or blade", "holster_msg": "You put your %1$s in your %2$s" },
    "flags": [ "BELTED", "WATER_FRIENDLY" ],
    "armor": [ { "encumbrance": [ 2, 12 ], "coverage": 100, "covers": [ "torso" ], "specifically_covers": [ "torso_waist" ] } ],
    "melee_damage": { "bash": 5 }
  },
  {
    "id": "crowbar_pocket_test",
    "type": "TOOL",
    "name": { "str": "crowbar" },
    "description": "This is a test crowbar from early pocket implementation tests.  Some or all of these values will possibly not match the current in-game stats, so beware.",
    "weight": "1200 g",
    "volume": "170 ml",
    "longest_side": "50 cm",
    "price": 1300,
    "price_postapoc": 500,
    "to_hit": { "grip": "solid", "length": "short", "surface": "any", "balance": "neutral" },
    "material": [ "steel" ],
    "symbol": ";",
    "color": "dark_gray",
    "qualities": [ [ "PRY", 3 ], [ "HAMMER", 1 ], [ "PRYING_NAIL", 1 ] ],
    "use_action": [ "CROWBAR" ],
    "techniques": [ "WBLOCK_1" ],
    "flags": [ "BELT_CLIP", "DURABLE_MELEE" ],
    "melee_damage": { "bash": 20, "cut": 1 }
  },
  {
    "id": "hammer_pocket_test",
    "type": "TOOL",
    "name": { "str": "hammer" },
    "description": "This is a test hammer from early pocket implementation tests.  Some or all of these values will possibly not match the current in-game stats, so beware.",
    "ascii_picture": "hammer",
    "longest_side": "25 cm",
    "weight": "566 g",
    "volume": "320 ml",
    "price": 700,
    "price_postapoc": 100,
    "to_hit": -1,
    "material": [ "steel", "wood" ],
    "symbol": ";",
    "color": "brown",
    "qualities": [ [ "HAMMER", 3 ], [ "PRY", 1 ], [ "HAMMER_FINE", 1 ], [ "PRYING_NAIL", 1 ] ],
    "use_action": [ "CROWBAR" ],
    "flags": [ "BELT_CLIP", "NONCONDUCTIVE" ],
    "weapon_category": [ "BATONS" ],
    "melee_damage": { "bash": 9 }
  },
  {
    "id": "wrench_pocket_test",
    "type": "TOOL",
    "name": { "str": "adjustable wrench", "str_pl": "adjustable wrenches" },
    "description": "This is a test wrench from early pocket implementation tests.  Some or all of these values will possibly not match the current in-game stats, so beware.",
    "weight": "907 g",
    "volume": "120 ml",
    "longest_side": "20 cm",
    "price": 1200,
    "price_postapoc": 100,
    "material": [ "steel" ],
    "symbol": ";",
    "color": "light_gray",
    "qualities": [ [ "WRENCH", 2 ], [ "WRENCH_FINE", 1 ] ],
    "flags": [ "BELT_CLIP" ],
    "weapon_category": [ "BATONS" ],
    "melee_damage": { "bash": 9 }
  },
  {
    "id": "tongs_pocket_test",
    "type": "TOOL",
    "name": { "str": "pair of metal tongs", "str_pl": "pairs of metal tongs" },
    "description": "This is a test tongs from early pocket implementation tests.  Some or all of these values will possibly not match the current in-game stats, so beware.",
    "weight": "540 g",
    "volume": "500 ml",
    "price": 1600,
    "price_postapoc": 10,
    "material": [ "steel" ],
    "symbol": ";",
    "color": "light_gray",
    "qualities": [ [ "COOK", 1 ] ],
    "use_action": [ "HEAT_FOOD" ],
    "flags": [ "BELT_CLIP", "ALLOWS_REMOTE_USE" ],
    "melee_damage": { "bash": 3 }
  },
  {
    "id": "test_utility_belt",
    "type": "ARMOR",
    "name": { "str": "utility belt" },
    "description": "Holy pockets, Batman!  This belt has all kinds of pockets for testing.",
    "weight": "3 kg",
    "volume": "4 L",
    "price": 25000,
    "price_postapoc": 9900,
    "material": [ "kevlar" ],
    "symbol": "[",
    "looks_like": "holster",
    "color": "yellow",
    "material_thickness": 4,
    "pocket_data": [
      {
        "//": "Small pouch for a pocket knife, screwdriver, or multi-tool.  Just long enough for a test screwdriver, but not long enough for a sonic screwdriver.",
        "holster": true,
        "rigid": true,
        "min_item_volume": "10 ml",
        "max_contains_volume": "100 ml",
        "max_contains_weight": "1000 g",
        "max_item_length": "15 cm",
        "moves": 50,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "transparent": true
      },
      {
        "//": "Large holster for an axe or Halligan bar",
        "holster": true,
        "rigid": false,
        "min_item_volume": "100 ml",
        "max_contains_volume": "2000 ml",
        "max_contains_weight": "4000 g",
        "max_item_length": "80 cm",
        "moves": 200,
        "flag_restriction": [ "BELT_CLIP", "SHEATH_KNIFE" ],
        "transparent": true
      },
      {
        "//": "Flexible water pouch for drinks or other liquid.  Integrated straw for fast access.",
        "watertight": true,
        "rigid": false,
        "max_item_volume": "1 ml",
        "max_contains_volume": "1 L",
        "max_contains_weight": "2 kg",
        "moves": 10
      },
      {
        "//": "Pressure-tight canister for emergency oxygen supply or other gas.",
        "airtight": true,
        "rigid": true,
        "max_item_volume": "1 ml",
        "max_contains_volume": "1 L",
        "max_contains_weight": "1 kg",
        "moves": 100
      },
      {
        "//": "Fire-proof pouch for thermite or other combustible materials.",
        "rigid": false,
        "fire_protection": true,
        "max_contains_volume": "500 ml",
        "max_contains_weight": "1 kg",
        "moves": 150
      },
      {
        "//": "Micro cooler to preserve snacks for long stakeouts.",
        "rigid": true,
        "spoil_multiplier": 0.5,
        "max_contains_volume": "500 ml",
        "max_contains_weight": "1 kg",
        "moves": 150
      },
      {
        "//": "Cryo-chamber to deep-freeze organic samples.  Small, but prevents spoiling indefinitely.",
        "rigid": true,
        "spoil_multiplier": 0.0,
        "max_contains_volume": "100 ml",
        "max_contains_weight": "100 g",
        "moves": 1000
      }
    ],
    "use_action": { "type": "holster", "holster_prompt": "Store tool or blade", "holster_msg": "You put your %1$s in your %2$s" },
    "flags": [ "BELTED", "WATER_FRIENDLY" ],
    "armor": [ { "encumbrance": 5, "coverage": 100, "covers": [ "torso" ], "specifically_covers": [ "torso_waist" ] } ],
    "melee_damage": { "bash": 5 }
  },
  {
    "id": "test_flashlight",
    "type": "TOOL",
    "name": { "str": "flashlight (off)", "str_pl": "flashlights (off)" },
    "description": "This is a typical household flashlight with a plastic handle.  Using this flashlight will turn it on and provide light, assuming it is charged with batteries.",
    "material": [ "plastic", "aluminum" ],
    "symbol": ";",
    "color": "blue",
    "weight": "280 g",
    "volume": "270 ml",
    "longest_side": "14 cm",
    "price": 500,
    "price_postapoc": 100,
    "charges_per_use": 1,
    "ammo": [ "battery" ],
    "flags": [ "BELT_CLIP", "WATER_BREAK_ACTIVE" ],
    "use_action": {
      "type": "transform",
      "msg": "You turn the flashlight on.",
      "target": "flashlight_on",
      "active": true,
      "need_charges": 1,
      "need_charges_msg": "The flashlight's batteries are dead."
    },
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "rigid": true,
        "flag_restriction": [ "BATTERY_LIGHT", "BATTERY_ULTRA_LIGHT" ],
        "default_magazine": "light_disposable_cell"
      }
    ]
  },
  {
    "type": "GENERIC",
    "id": "test_sheet_metal",
    "name": "TEST sheet metal",
    "description": "A thin sheet of metal.",
    "//": "Roughly in the 70cm×70cm×1.5mm to 1m×1m×0.75mm range. Has to be folded / rolled up when in inventory, so 75% density compared to solid block.",
    "weight": "6000 g",
    "to_hit": -2,
    "color": "light_cyan",
    "symbol": "]",
    "material": [ "steel" ],
    "volume": "1 L",
    "category": "spare_parts",
    "price": 6000,
    "qualities": [ [ "COOK", 1 ] ],
    "melee_damage": { "bash": 5 }
  },
  {
    "id": "test_sheet_metal_small",
    "type": "AMMO",
    "category": "spare_parts",
    "name": "TEST small metal sheet",
    "description": "A small sheet of metal.",
    "looks_like": "test_sheet_metal",
    "weight": "250 g",
    "volume": "250 ml",
    "price": 2000,
    "to_hit": -3,
    "stack_size": 8,
    "//": "Roughly in the 15cm×15cm to 20cm×20cm range. Compact and stacks well, so equally dense as a solid block.",
    "material": [ "steel" ],
    "symbol": "]",
    "color": "light_cyan",
    "ammo_type": "components",
    "melee_damage": { "bash": 5 }
  },
  {
    "id": "test_halligan",
    "type": "TOOL",
    "name": "TEST Halligan bar",
    "description": "This is a heavy multiple-use tool commonly carried by firefighters, law enforcement, and military rescue units.  Use it to open locked doors without destroying them or to lift manhole covers.  You could also wield it to bash some heads in.",
    "weight": "3600 g",
    "volume": "1250 ml",
    "longest_side": "76 cm",
    "price": 7500,
    "to_hit": 2,
    "material": [ "steel" ],
    "symbol": ";",
    "color": "dark_gray",
    "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ],
    "qualities": [ [ "PRY", 4 ], [ "HAMMER", 2 ], [ "DIG", 1 ], [ "PRYING_NAIL", 1 ] ],
    "use_action": [ "CROWBAR" ],
    "flags": [ "DURABLE_MELEE", "BELT_CLIP" ],
    "melee_damage": { "bash": 20, "cut": 5 }
  },
  {
    "type": "TOOL",
    "id": "test_halligan_no_nails",
    "copy-from": "test_halligan",
    "name": "TEST Halligan bar no nail prying",
    "qualities": [ [ "PRY", 999999 ], [ "HAMMER", 2 ], [ "DIG", 1 ] ]
  },
  {
    "id": "test_fire_ax",
    "type": "TOOL",
    "name": "TEST fire axe",
    "description": "This is a large, two-handed pickhead axe normally used by firefighters.  It makes a powerful melee weapon, but is a bit slow to recover between swings.",
    "weight": "2520 g",
    "volume": "2 L",
    "price": 20000,
    "to_hit": 1,
    "material": [ "steel", "wood" ],
    "symbol": "/",
    "color": "light_gray",
    "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ],
    "qualities": [ [ "AXE", 3 ], [ "PRY", 3 ], [ "BUTCHER", -30 ] ],
    "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "BELT_CLIP", "SHEATH_AXE" ],
    "use_action": [ "CROWBAR" ],
    "melee_damage": { "bash": 20, "cut": 20 }
  },
  {
    "id": "test_fire_ax_mostly_steel",
    "type": "TOOL",
    "name": "TEST fire axe",
    "description": "This is a large, two-handed pickhead axe normally used by firefighters.  It makes a powerful melee weapon, but is a bit slow to recover between swings.",
    "weight": "2520 g",
    "volume": "2 L",
    "price": 20000,
    "to_hit": 1,
    "material": [ { "type": "steel", "portion": 9 }, { "type": "wood", "portion": 1 } ],
    "symbol": "/",
    "color": "light_gray",
    "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ],
    "qualities": [ [ "AXE", 3 ], [ "PRY", 3 ], [ "BUTCHER", -30 ] ],
    "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "BELT_CLIP", "SHEATH_AXE" ],
    "use_action": [ "CROWBAR" ],
    "melee_damage": { "bash": 20, "cut": 20 }
  },
  {
    "id": "test_fire_ax_mostly_wood",
    "type": "TOOL",
    "name": "TEST fire axe",
    "description": "This is a large, two-handed pickhead axe normally used by firefighters.  It makes a powerful melee weapon, but is a bit slow to recover between swings.",
    "weight": "2520 g",
    "volume": "2 L",
    "price": 20000,
    "to_hit": 1,
    "material": [ { "type": "steel", "portion": 1 }, { "type": "wood", "portion": 9 } ],
    "symbol": "/",
    "color": "light_gray",
    "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ],
    "qualities": [ [ "AXE", 3 ], [ "PRY", 3 ], [ "BUTCHER", -30 ] ],
    "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "BELT_CLIP", "SHEATH_AXE" ],
    "use_action": [ "CROWBAR" ],
    "melee_damage": { "bash": 20, "cut": 20 }
  },
  {
    "id": "test_screwdriver",
    "type": "TOOL",
    "name": "TEST screwdriver",
    "description": "This is a Philips-head screwdriver.  It is important for almost all electronics crafting, most mechanics crafting, and has many more uses.",
    "weight": "170 g",
    "volume": "40 ml",
    "longest_side": "15 cm",
    "price": 450,
    "to_hit": -1,
    "material": [ "steel", "plastic" ],
    "symbol": ";",
    "color": "yellow",
    "qualities": [ [ "SCREW", 1 ] ],
    "flags": [ "SPEAR", "BELT_CLIP" ],
    "melee_damage": { "bash": 2, "stab": 6 }
  },
  {
    "id": "test_sonic_screwdriver",
    "type": "TOOL",
    "name": "TEST sonic screwdriver",
    "description": "This is a sonic screwdriver.  Like a normal screwdriver, but sonic.",
    "weight": "170 g",
    "volume": "250 ml",
    "longest_side": "25 cm",
    "price": 450,
    "to_hit": -1,
    "material": [ "steel", "plastic" ],
    "symbol": ";",
    "color": "yellow",
    "qualities": [ [ "SCREW", 2 ], [ "SCREW_FINE", 1 ], [ "WRENCH", 1 ], [ "PRY", 2 ], [ "LOCKPICK", 30 ] ],
    "use_action": [ "PICK_LOCK" ],
    "flags": [ "SPEAR", "BELT_CLIP" ],
    "min_skills": [ [ "electronics", 3 ], [ "traps", 2 ] ],
    "min_intelligence": 9,
    "min_perception": 5,
    "melee_damage": { "bash": 2, "stab": 6 }
  },
  {
    "id": "test_multitool",
    "type": "TOOL",
    "name": { "str": "TEST multi-tool" },
    "description": "Some kind of super-multi-tool, like a swiss army knife with a pocket dimension.",
    "weight": "500 g",
    "volume": "100 ml",
    "longest_side": "10 cm",
    "material": [ "steel" ],
    "symbol": ";",
    "color": "light_gray",
    "qualities": [
      [ "BUTCHER", 7 ],
      [ "CUT", 1 ],
      [ "DRILL", 1 ],
      [ "HAMMER", 1 ],
      [ "HAMMER_FINE", 1 ],
      [ "HAMMER_SOFT", 1 ],
      [ "PRY", 1 ],
      [ "PRYING_NAIL", 1 ],
      [ "SAW_W", 1 ],
      [ "SAW_M", 1 ],
      [ "SAW_M_FINE", 1 ],
      [ "SCREW", 1 ],
      [ "SCREW_FINE", 1 ],
      [ "WRENCH", 1 ],
      [ "WRENCH_FINE", 1 ]
    ],
    "flags": [ "SHEATH_KNIFE" ]
  },
  {
    "id": "test_soldering_iron",
    "type": "TOOL",
    "name": "TEST soldering iron",
    "description": "This is a device with a metal tip that can get very hot.  It is necessary for advanced electronics crafting.",
    "weight": "181 g",
    "volume": "500 ml",
    "price": 1000,
    "material": [ "iron" ],
    "symbol": ",",
    "color": "light_gray",
    "ammo": [ "battery" ],
    "charges_per_use": 1,
    "use_action": [
      {
        "type": "repair_item",
        "item_action_type": "repair_metal",
        "materials": [ "plastic", "lead", "tin", "zinc" ],
        "skill": "fabrication",
        "cost_scaling": 0.1,
        "move_cost": 1500
      }
    ],
    "flags": [ "SPEAR", "BELT_CLIP", "ALLOWS_REMOTE_USE" ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "holster": true,
        "max_contains_volume": "20 L",
        "max_contains_weight": "20 kg",
        "item_restriction": [ "test_battery_disposable", "test_battery_rechargable" ]
      }
    ],
    "melee_damage": { "bash": 2, "stab": 6 }
  },
  {
    "type": "TOOL",
    "id": "test_ebook_reader",
    "name": { "str": "eBook reader" },
    "description": "Test book reader.",
    "weight": "250 g",
    "volume": "250 ml",
    "longest_side": "25 cm",
    "price": 20000,
    "price_postapoc": 100,
    "to_hit": -1,
    "material": [ "plastic" ],
    "symbol": ";",
    "color": "green",
    "ammo": [ "battery" ],
    "charges_per_use": 1,
    "use_action": [ "EBOOKSAVE", "EBOOKREAD" ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "rigid": true,
        "holster": true,
        "max_contains_volume": "20 L",
        "max_contains_weight": "20 kg",
        "item_restriction": [ "test_battery_disposable" ]
      },
      {
        "pocket_type": "EBOOK",
        "rigid": true,
        "max_contains_volume": "1 ml",
        "max_contains_weight": "1 g",
        "weight_multiplier": 0.0
      }
    ]
  },
  {
    "id": "test_battery_disposable",
    "type": "MAGAZINE",
    "category": "spare_parts",
    "name": { "str": "test disposable battery", "str_pl": "test disposable batteries" },
    "description": "This is a test disposable battery.",
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 300 } } ],
    "flags": [ "NO_SALVAGE", "NO_UNLOAD" ],
    "weight": "45 g",
    "volume": "35 ml",
    "price": 10000,
    "price_postapoc": 200,
    "material": [ "iron", "plastic" ],
    "symbol": "=",
    "color": "yellow",
    "ammo_type": [ "battery" ],
    "count": 300,
    "capacity": 300,
    "looks_like": "battery"
  },
  {
    "id": "test_battery_rechargable",
    "type": "MAGAZINE",
    "category": "spare_parts",
    "name": { "str": "test rechargeable battery", "str_pl": "test rechargeable batteries" },
    "description": "This is a test battery that may be recharged.",
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 150 } } ],
    "flags": [ "NO_SALVAGE", "NO_UNLOAD", "RECHARGE" ],
    "weight": "45 g",
    "volume": "35ml",
    "price": 5000,
    "price_postapoc": 150,
    "material": [ "iron", "plastic" ],
    "symbol": "=",
    "color": "yellow",
    "ammo_type": [ "battery" ],
    "capacity": 150,
    "looks_like": "battery"
  },
  {
    "id": "test_jack_small",
    "type": "TOOL",
    "name": "TEST scissor jack",
    "description": "A compact scissor jack used for lifting vehicles.",
    "material": [ "steel" ],
    "symbol": ";",
    "color": "light_gray",
    "weight": "3000 g",
    "volume": "750 ml",
    "price": 5000,
    "to_hit": -2,
    "qualities": [ [ "JACK", 4 ] ],
    "melee_damage": { "bash": 4 }
  },
  {
    "id": "test_smart_phone",
    "type": "TOOL",
    "name": { "str": "test smartphone" },
    "description": "A popular, fancy smartphone.  Capable of making photos due to integrated camera and illuminating an area as per flashlight app, assuming it has enough charge.  The smartphone also has a clock app that includes an alarm.  Runs on a small, rechargeable power cell compatible with Unified Power Supply.",
    "weight": "200 g",
    "volume": "100 ml",
    "price": 20000,
    "price_postapoc": 200,
    "material": [ { "type": "aluminum", "portion": 75 }, { "type": "plastic", "portion": 25 } ],
    "looks_like": "cell_phone",
    "symbol": ";",
    "color": "light_gray",
    "ammo": [ "battery" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 120 } } ],
    "charges_per_use": 1,
    "use_action": [
      {
        "target": "smart_phone_flashlight",
        "msg": "You activate the flashlight app.",
        "menu_text": "Turn on flashlight",
        "active": true,
        "need_charges": 5,
        "need_charges_msg": "The smartphone's charge is too low.",
        "type": "transform"
      },
      "CAMERA",
      "MP3"
    ],
    "flags": [ "WATCH", "ALARMCLOCK", "USE_UPS", "NO_UNLOAD", "NO_RELOAD", "WATER_BREAK" ]
  },
  {
    "type": "TOOL",
    "id": "test_mp3",
    "name": { "str": "test mp3 player" },
    "description": "Test mp3 player",
    "weight": "140 g",
    "volume": "75 ml",
    "material": [ { "type": "aluminum", "portion": 75 }, { "type": "plastic", "portion": 25 } ],
    "symbol": ";",
    "ammo": [ "battery" ],
    "use_action": [ "MP3" ],
    "charges_per_use": 1,
    "flags": [ "WATER_BREAK_ACTIVE" ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "rigid": true,
        "holster": true,
        "max_contains_volume": "20 L",
        "max_contains_weight": "20 kg",
        "item_restriction": [ "test_battery_disposable" ]
      }
    ]
  },
  {
    "id": "test_socks",
    "type": "ARMOR",
    "name": { "str": "TEST pair of socks", "str_pl": "TEST pairs of socks" },
    "description": "Socks.  Put 'em on your feet.",
    "weight": "32 g",
    "volume": "250 ml",
    "price": 200,
    "material": [ "cotton", "wool" ],
    "symbol": "[",
    "looks_like": "socks_wool",
    "color": "white",
    "warmth": 5,
    "material_thickness": 1,
    "flags": [ "VARSIZE", "SKINTIGHT" ],
    "armor": [ { "coverage": 100, "covers": [ "foot_l", "foot_r" ] } ]
  },
  {
    "id": "test_croc_socks",
    "type": "ARMOR",
    "name": { "str": "TEST pair of croc socks", "str_pl": "TEST pairs of croc socks" },
    "description": "Goofy-looking socks with zero ankle coverage and lots of holes on top.  For testing only, nobody would actually wear these, right?",
    "weight": "20 g",
    "volume": "150 ml",
    "price": 200,
    "material": [ "cotton" ],
    "symbol": "[",
    "looks_like": "socks_wool",
    "color": "green",
    "warmth": 2,
    "material_thickness": 1,
    "flags": [ "VARSIZE", "SKINTIGHT" ],
    "armor": [ { "coverage": 50, "covers": [ "foot_l", "foot_r" ] } ]
  },
  {
    "id": "test_ear_plugs",
    "type": "ARMOR",
    "name": { "str": "TEST pair of ear plugs", "str_pl": "TEST pairs of ear plugs" },
    "description": "Industrial grade ear plugs.  They fit inside the ear.",
    "weight": "10 g",
    "volume": "10 ml",
    "price": 10,
    "material": [ "plastic" ],
    "symbol": ";",
    "color": "light_gray",
    "material_thickness": 1,
    "flags": [ "DEAF", "OVERSIZE", "POWERARMOR_COMPATIBLE" ]
  },
  {
    "id": "test_tail_encumber",
    "type": "ARMOR",
    "name": "TEST tail encumbrance",
    "description": "Tests the effects of encumbrance on the test body part.",
    "weight": "500 g",
    "volume": "3 L",
    "price": 117500,
    "material": [ "plastic" ],
    "symbol": "[",
    "color": "yellow",
    "warmth": 40,
    "material_thickness": 2,
    "environmental_protection": 20,
    "flags": [ "VARSIZE", "WATERPROOF", "RAINPROOF", "GAS_PROOF", "RAD_PROOF", "ELECTRIC_IMMUNE", "OUTER" ],
    "armor": [ { "encumbrance": 40, "coverage": 100, "covers": [ "test_tail" ] } ]
  },
  {
    "id": "test_eoc_armor_suit",
    "type": "ARMOR",
    "name": "TEST hazmat suit",
    "description": "An impermeable whole-body garment worn as protection against hazardous materials.  Though very restrictive and fragile, wearing it will provide complete protection against ambient radiation.  It requires a separate gas mask for full protection.",
    "weight": "5000 g",
    "volume": "17 L",
    "price": 117500,
    "material": [ "plastic" ],
    "symbol": "[",
    "looks_like": "beekeeping_suit",
    "color": "yellow",
    "warmth": 40,
    "material_thickness": 2,
    "environmental_protection": 20,
    "flags": [ "VARSIZE", "WATERPROOF", "RAINPROOF", "GAS_PROOF", "RAD_PROOF", "ELECTRIC_IMMUNE", "OUTER" ],
    "armor": [
      {
        "encumbrance": 37,
        "coverage": 100,
        "covers": [ "eyes", "mouth", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_hazmat_hat",
    "type": "ARMOR",
    "name": "TEST hazmat hat",
    "description": ".",
    "weight": "5000 g",
    "volume": "17 L",
    "price": 117500,
    "material": [ "plastic" ],
    "symbol": "[",
    "looks_like": "beekeeping_suit",
    "color": "yellow",
    "warmth": 40,
    "material_thickness": 2,
    "environmental_protection": 20,
    "flags": [ "VARSIZE", "WATERPROOF", "RAINPROOF", "OUTER" ],
    "armor": [ { "encumbrance": 37, "coverage": 100, "covers": [ "head" ] } ]
  },
  {
    "id": "test_hazmat_shirt",
    "type": "ARMOR",
    "name": "TEST hazmat shirt",
    "description": ".",
    "weight": "5000 g",
    "volume": "17 L",
    "price": 117500,
    "material": [ "plastic" ],
    "symbol": "[",
    "looks_like": "beekeeping_suit",
    "color": "yellow",
    "warmth": 40,
    "material_thickness": 2,
    "environmental_protection": 20,
    "flags": [ "VARSIZE", "WATERPROOF", "RAINPROOF", "OUTER" ],
    "armor": [ { "encumbrance": 37, "coverage": 100, "covers": [ "torso" ] } ]
  },
  {
    "id": "test_hazmat_suit",
    "type": "ARMOR",
    "name": "TEST hazmat suit",
    "description": "An impermeable whole-body garment worn as protection against hazardous materials.  Though very restrictive and fragile, wearing it will provide complete protection against ambient radiation.  It requires a separate gas mask for full protection.",
    "weight": "5000 g",
    "volume": "17 L",
    "price": 117500,
    "material": [ "plastic" ],
    "symbol": "[",
    "looks_like": "beekeeping_suit",
    "color": "yellow",
    "warmth": 40,
    "material_thickness": 2,
    "environmental_protection": 20,
    "flags": [ "VARSIZE", "WATERPROOF", "RAINPROOF", "GAS_PROOF", "RAD_PROOF", "ELECTRIC_IMMUNE", "OUTER" ],
    "armor": [
      {
        "encumbrance": 37,
        "coverage": 100,
        "covers": [ "head", "eyes", "mouth", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_hazmat_suit_noranged",
    "type": "ARMOR",
    "name": "TEST hazmat suit",
    "description": "An impermeable whole-body garment worn as protection against hazardous materials.  Though very restrictive and fragile, wearing it will provide complete protection against ambient radiation.  It requires a separate gas mask for full protection.",
    "weight": "5000 g",
    "volume": "17 L",
    "price": 117500,
    "material": [ "plastic" ],
    "symbol": "[",
    "looks_like": "beekeeping_suit",
    "color": "yellow",
    "warmth": 40,
    "material_thickness": 2,
    "environmental_protection": 20,
    "flags": [ "VARSIZE", "WATERPROOF", "RAINPROOF", "GAS_PROOF", "RAD_PROOF", "ELECTRIC_IMMUNE", "OUTER" ],
    "armor": [
      {
        "encumbrance": 37,
        "coverage": 100,
        "cover_melee": 100,
        "cover_ranged": 0,
        "cover_vitals": 100,
        "covers": [ "head", "eyes", "mouth", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_hazmat_suit_nomelee",
    "type": "ARMOR",
    "name": "TEST hazmat suit",
    "description": "An impermeable whole-body garment worn as protection against hazardous materials.  Though very restrictive and fragile, wearing it will provide complete protection against ambient radiation.  It requires a separate gas mask for full protection.",
    "weight": "5000 g",
    "volume": "17 L",
    "price": 117500,
    "material": [ "plastic" ],
    "symbol": "[",
    "looks_like": "beekeeping_suit",
    "color": "yellow",
    "warmth": 40,
    "material_thickness": 2,
    "environmental_protection": 20,
    "flags": [ "VARSIZE", "WATERPROOF", "RAINPROOF", "GAS_PROOF", "RAD_PROOF", "ELECTRIC_IMMUNE", "OUTER" ],
    "armor": [
      {
        "encumbrance": 37,
        "coverage": 100,
        "cover_melee": 0,
        "cover_ranged": 100,
        "cover_vitals": 100,
        "covers": [ "head", "eyes", "mouth", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_zentai",
    "type": "ARMOR",
    "name": { "str": "test zentai" },
    "description": "Full-body suit completely covering all body parts, including the head, mouth, and eyes.",
    "weight": "300 g",
    "volume": "500 ml",
    "price": 2500,
    "price_postapoc": 50,
    "material": [ "lycra" ],
    "symbol": "[",
    "color": "dark_gray",
    "warmth": 20,
    "material_thickness": 1,
    "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY" ],
    "armor": [
      {
        "coverage": 100,
        "covers": [ "head", "mouth", "eyes", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_zentai_noranged",
    "type": "ARMOR",
    "name": { "str": "test zentai" },
    "description": "Full-body suit completely covering all body parts, including the head, mouth, and eyes.",
    "weight": "300 g",
    "volume": "500 ml",
    "price": 2500,
    "price_postapoc": 50,
    "material": [ "lycra" ],
    "symbol": "[",
    "color": "dark_gray",
    "warmth": 20,
    "material_thickness": 1,
    "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY" ],
    "armor": [
      {
        "coverage": 100,
        "cover_melee": 100,
        "cover_ranged": 0,
        "cover_vitals": 0,
        "covers": [ "head", "mouth", "eyes", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_zentai_nomelee",
    "type": "ARMOR",
    "name": { "str": "test zentai" },
    "description": "Full-body suit completely covering all body parts, including the head, mouth, and eyes.",
    "weight": "300 g",
    "volume": "500 ml",
    "price": 2500,
    "price_postapoc": 50,
    "material": [ "lycra" ],
    "symbol": "[",
    "color": "dark_gray",
    "warmth": 20,
    "material_thickness": 1,
    "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY" ],
    "armor": [
      {
        "coverage": 100,
        "cover_melee": 0,
        "cover_ranged": 100,
        "cover_vitals": 0,
        "covers": [ "head", "mouth", "eyes", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_zentai_resist_stab_cut",
    "type": "ARMOR",
    "name": { "str": "test zentai" },
    "description": "Full-body suit completely covering all body parts, including the head, mouth, and eyes.",
    "weight": "300 g",
    "volume": "500 ml",
    "price": 2500,
    "price_postapoc": 50,
    "material": [ "lycra_resist_override_stab" ],
    "symbol": "[",
    "color": "dark_gray",
    "warmth": 20,
    "material_thickness": 1,
    "environmental_protection": 10,
    "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY" ],
    "armor": [
      {
        "coverage": 100,
        "covers": [ "head", "mouth", "eyes", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_zentai_resist_test_fire",
    "type": "ARMOR",
    "name": { "str": "test zentai" },
    "description": "Full-body suit completely covering all body parts, including the head, mouth, and eyes.",
    "weight": "300 g",
    "volume": "500 ml",
    "price": 2500,
    "price_postapoc": 50,
    "material": [ "lycra_resist_test_fire" ],
    "symbol": "[",
    "color": "dark_gray",
    "warmth": 20,
    "material_thickness": 1,
    "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY" ],
    "armor": [
      {
        "coverage": 100,
        "covers": [ "head", "mouth", "eyes", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_zentai_immune_test_fire",
    "type": "ARMOR",
    "name": { "str": "test zentai" },
    "description": "Full-body suit completely covering all body parts, including the head, mouth, and eyes.",
    "weight": "300 g",
    "volume": "500 ml",
    "price": 2500,
    "price_postapoc": 50,
    "material": [ "lycra" ],
    "symbol": "[",
    "color": "dark_gray",
    "warmth": 20,
    "material_thickness": 1,
    "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY", "HEAT_IMMUNE" ],
    "armor": [
      {
        "coverage": 100,
        "covers": [ "head", "mouth", "eyes", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ]
  },
  {
    "id": "test_sunglasses",
    "type": "ARMOR",
    "name": { "str": "test pair of sunglasses", "str_pl": "test pairs of sunglasses" },
    "description": "When your tests are so bright, you have to wear shades.",
    "weight": "35 g",
    "volume": "250 ml",
    "price": 5000,
    "price_postapoc": 10,
    "to_hit": -2,
    "material": [ "glass", "plastic" ],
    "symbol": "[",
    "looks_like": "glasses_eye",
    "color": "dark_gray",
    "material_thickness": 1,
    "environmental_protection": 1,
    "flags": [ "WATER_FRIENDLY", "SUN_GLASSES", "FRAGILE" ],
    "armor": [ { "encumbrance": 1, "coverage": 85, "covers": [ "eyes" ], "rigid_layer_only": true } ]
  },
  {
    "id": "test_complex_tanktop",
    "type": "ARMOR",
    "name": { "str": "test composite tanktop" },
    "description": "The tanktop of the future.  Super armor with almost infinite defensive power.",
    "weight": "300 g",
    "volume": "500 ml",
    "price": 2500,
    "price_postapoc": 50,
    "symbol": "[",
    "color": "dark_gray",
    "warmth": 20,
    "material_thickness": 3,
    "flags": [ "SKINTIGHT", "WATER_FRIENDLY" ],
    "armor": [
      {
        "coverage": 100,
        "covers": [ "torso" ],
        "material": [
          { "type": "qt_steel", "covered_by_mat": 95, "thickness": 1 },
          { "type": "cotton", "covered_by_mat": 100, "thickness": 1 },
          { "type": "qt_steel", "covered_by_mat": 5, "thickness": 1 }
        ],
        "encumbrance": 7
      }
    ]
  },
  {
    "id": "test_waist_apron_long",
    "type": "ARMOR",
    "name": { "str": "long waist apron" },
    "description": "A long waist apron made of cotton.",
    "price_postapoc": 50,
    "to_hit": 1,
    "symbol": "[",
    "looks_like": "vest_leather",
    "volume": "1750 ml",
    "weight": "226 g",
    "price": 1000,
    "material": [ "cotton" ],
    "color": "white",
    "warmth": 2,
    "material_thickness": 2,
    "environmental_protection": 1,
    "flags": [ "POCKETS", "BELTED" ],
    "armor": [
      { "covers": [ "torso" ], "specifically_covers": [ "torso_waist" ], "coverage": 100, "encumbrance": [ 1, 1 ] },
      {
        "covers": [ "leg_l", "leg_r" ],
        "specifically_covers": [ "leg_draped_l", "leg_draped_r" ],
        "coverage": 70,
        "encumbrance": 2,
        "volume_encumber_modifier": 0.3
      }
    ],
    "variant_type": "generic",
    "variants": [
      {
        "id": "generic_apron_cotton",
        "name": { "str": "long waist apron" },
        "description": "It's colored white, like the ones commonly used by chefs, professional or otherwise.",
        "weight": 50,
        "append": true
      },
      {
        "id": "black_apron_cotton",
        "name": { "str": "black long waist apron" },
        "description": "It's colored black, commonly used by chefs working in the night or who just want to look cool.",
        "color": "dark_gray",
        "weight": 25,
        "append": true
      },
      {
        "id": "blue_apron_cotton",
        "name": { "str": "blue long waist apron" },
        "description": "It's a royal blue color, commonly used by supermarket workers around the world.",
        "color": "blue",
        "weight": 15,
        "append": true
      },
      {
        "id": "red_apron_cotton",
        "name": { "str": "red long waist apron" },
        "description": "It's colored red.",
        "color": "red",
        "weight": 10,
        "append": true
      },
      {
        "id": "pink_apron_cotton",
        "name": { "str": "pink long waist apron" },
        "description": "It's colored neon pink, commonly used by women or men who like pink.",
        "color": "pink",
        "weight": 3,
        "append": true
      },
      {
        "id": "floral_apron_cotton",
        "name": { "str": "floral long waist apron" },
        "description": "It has a floral design and colored yellow, perfect for cooking outdoors.",
        "color": "yellow",
        "weight": 2,
        "append": true
      },
      {
        "id": "camo_apron_cotton",
        "name": { "str": "camo long waist apron" },
        "description": "It has a camouflage pattern, perfect for chefs who want to hide in the wild.",
        "color": "green",
        "weight": 2,
        "append": true
      },
      {
        "id": "skull_apron",
        "name": { "str": "skull long waist apron" },
        "description": "It's colored black with a skull and roses pattern.  Makes you feel more fashionable just by wearing it.",
        "color": "dark_gray",
        "weight": 1,
        "append": true
      },
      {
        "id": "maid_apron",
        "name": { "str": "maid long waist apron" },
        "description": "It's colored white with black frilly decorations, commonly used with a maid dress or alone for nighttime activities.",
        "weight": 1,
        "append": true
      },
      {
        "id": "gothic_apron",
        "name": { "str": "gothic long waist apron" },
        "description": "It has a jet-black color with dark red decorations, perfect for cosplay or an adventurous gourmet.",
        "color": "light_red",
        "weight": 1,
        "append": true
      }
    ]
  },
  {
    "id": "test_umbrella",
    "type": "GENERIC",
    "category": "tools",
    "name": { "str": "test umbrella" },
    "description": "A portable plastic dome to keep the rain and sun off.",
    "weight": "141 g",
    "volume": "1500 ml",
    "price": 2400,
    "price_postapoc": 50,
    "to_hit": 1,
    "material": [ "plastic", "aluminum" ],
    "ascii_picture": "umbrella",
    "symbol": "/",
    "color": "magenta",
    "techniques": [ "WBLOCK_1" ],
    "flags": [ "RAIN_PROTECT", "SHEATH_SWORD" ],
    "melee_damage": { "bash": 6, "stab": 4 }
  },
  {
    "id": "test_compbow",
    "looks_like": "longbow",
    "type": "GUN",
    "symbol": "(",
    "color": "yellow",
    "name": "TEST compound bow",
    "description": "A high-power bow with shaped cams and extra cables for high velocity shots that can be used effectively by fairly strong archers.  Currently set to a medium weight.",
    "price": 55000,
    "material": [ "steel", "plastic" ],
    "flags": [ "FIRE_TWOHAND", "RELOAD_AND_SHOOT", "PRIMITIVE_RANGED_WEAPON", "WATERPROOF_GUN", "NEVER_JAMS" ],
    "ammo_effects": [ "NEVER_MISFIRES" ],
    "skill": "archery",
    "min_strength": 6,
    "ammo": [ "arrow" ],
    "weight": "907 g",
    "volume": "1500 ml",
    "to_hit": 1,
    "reload_noise_volume": 3,
    "loudness": 10,
    "ranged_damage": { "damage_type": "stab", "amount": 18 },
    "range": 18,
    "dispersion": 850,
    "durability": 6,
    "clip_size": 1,
    "reload": 110,
    "valid_mod_locations": [ [ "underbarrel", 1 ], [ "sights", 1 ], [ "stabilizer", 1 ], [ "dampening", 1 ] ],
    "use_action": {
      "menu_text": "Tighten Limbs",
      "type": "transform",
      "target": "compbow_high",
      "qualities_needed": { "SCREW_FINE": 1 },
      "msg": "You tighten the limbs, increasing the strength of the bow."
    },
    "pocket_data": [ { "pocket_type": "MAGAZINE", "ammo_restriction": { "arrow": 1 } } ],
    "melee_damage": { "bash": 8 }
  },
  {
    "type": "COMESTIBLE",
    "id": "test_pine_nuts",
    "name": { "str_sp": "TEST pine nuts" },
    "weight": "30 g",
    "color": "brown",
    "spoils_in": 1080,
    "container": "bag_plastic",
    "comestible_type": "FOOD",
    "symbol": "%",
    "quench": -2,
    "calories": 202,
    "description": "A handful of tasty crunchy nuts from a pinecone.",
    "price": 136,
    "price_postapoc": 136,
    "material": [ "nut" ],
    "volume": "250 ml",
    "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE" ],
    "charges": 4,
    "//": "stackable to keep the test using this item working",
    "stackable": true,
    "vitamins": [ [ "iron", 9 ] ],
    "fun": 2
  },
  {
    "id": "test_bitter_almond",
    "type": "COMESTIBLE",
    "comestible_type": "FOOD",
    "category": "food",
    "name": { "str_sp": "test bitter almonds" },
    "description": "A variety of almonds with traces of hydrocyanic acid, potentially toxic when eaten raw.",
    "flags": [ "HIDDEN_POISON", "RAW" ],
    "material": [ "test_material" ],
    "weight": "200 g",
    "volume": "250 ml",
    "symbol": "%",
    "color": "brown",
    "calories": 200,
    "quench": -10,
    "fun": -5
  },
  {
    "id": "test_hallu_nutmeg",
    "type": "COMESTIBLE",
    "comestible_type": "FOOD",
    "category": "food",
    "name": { "str_sp": "test hallucinogenic nutmeg" },
    "description": "With high levels of the psychoactive myristicin, high doses of nutmeg can cause hallucinations and euphoria, along with a lot of nasty side effects.",
    "flags": [ "HIDDEN_HALLU" ],
    "material": [ "test_material" ],
    "weight": "212 g",
    "volume": "250 ml",
    "symbol": "%",
    "color": "brown",
    "quench": -50,
    "fun": -20
  },
  {
    "id": "test_apple",
    "type": "COMESTIBLE",
    "comestible_type": "FOOD",
    "category": "food",
    "name": { "str": "test apple" },
    "description": "Test apple.  May contain worms, but tastes delicious!",
    "volume": "250 ml",
    "weight": "200 g",
    "color": "red",
    "spoils_in": "5 days",
    "symbol": "%",
    "quench": 3,
    "healthy": -1,
    "calories": 95,
    "price": 900,
    "price_postapoc": 100,
    "material": [ "fruit" ],
    "fun": 10,
    "flags": [ "FREEZERBURN", "SMOKABLE" ],
    "smoking_result": "dry_fruit",
    "vitamins": [ [ "vitC", 14 ], [ "iron", 1 ] ]
  },
  {
    "id": "test_egg",
    "type": "COMESTIBLE",
    "comestible_type": "FOOD",
    "category": "food",
    "name": { "str": "test egg" },
    "description": "Test egg, very much like a bird egg, but a little too perfect.  Does not need to be cooked.",
    "volume": "50 ml",
    "weight": "40 g",
    "color": "brown",
    "spoils_in": "7 days",
    "symbol": "o",
    "quench": 4,
    "calories": 80,
    "price": 44,
    "price_postapoc": 50,
    "material": [ "egg" ],
    "fun": -8,
    "//": "Omitting the RAW flag so calories will be taken at face value.",
    "flags": [ "FREEZERBURN" ],
    "rot_spawn": "GROUP_EGG_BIRD_WILD",
    "vitamins": [ [ "calcium", 3 ], [ "iron", 4 ] ],
    "rot_spawn_chance": 50
  },
  {
    "type": "COMESTIBLE",
    "id": "test_whiskey_caffenated",
    "name": { "str_sp": "caffenated whiskey" },
    "weight": "36 g",
    "color": "brown",
    "use_action": [ "ALCOHOL" ],
    "stim": -12,
    "container": "bottle_glass",
    "comestible_type": "DRINK",
    "symbol": "~",
    "quench": -12,
    "healthy": -1,
    "//": "Very high addiction potential to guarantee addiction for unit tests",
    "addiction_potential": 101,
    "addiction_type": [ "alcohol", { "addiction": "caffeine", "potential": 102 } ],
    "description": "A distilled grain alcohol, made from, by, and for real Southern colonels!",
    "calories": 79,
    "price": 2100,
    "price_postapoc": 250,
    "material": [ "alcohol" ],
    "volume": "250 ml",
    "flags": [ "EATEN_COLD", "NO_AUTO_CONSUME" ],
    "freezing_point": -30,
    "phase": "liquid",
    "charges": 7,
    "fun": 15
  },
  {
    "id": "test_jug_plastic",
    "type": "GENERIC",
    "category": "container",
    "name": "TEST gallon jug",
    "description": "A standard plastic jug used for milk and household cleaning chemicals.",
    "weight": "190 g",
    "volume": "3938 ml",
    "price": 0,
    "to_hit": 1,
    "material": [ "plastic" ],
    "symbol": ")",
    "color": "light_cyan",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "watertight": true,
        "rigid": true,
        "max_contains_volume": "3750 ml",
        "max_item_volume": "15 ml",
        "max_contains_weight": "5 kg",
        "moves": 100
      }
    ]
  },
  {
    "id": "test_jug_large_open",
    "type": "GENERIC",
    "name": "TEST gallon jug with large opening",
    "copy-from": "test_jug_plastic",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "watertight": true,
        "rigid": true,
        "max_contains_volume": "3750 ml",
        "max_item_volume": "300 ml",
        "max_contains_weight": "5 kg",
        "moves": 100
      }
    ]
  },
  {
    "id": "test_waterskin",
    "type": "GENERIC",
    "category": "container",
    "name": "TEST small waterskin",
    "description": "A small watertight leather bag with a carrying strap, can hold 1.5 liters of water.",
    "weight": "453 g",
    "volume": "500 ml",
    "price": 2000,
    "to_hit": -1,
    "material": [ "leather" ],
    "symbol": ")",
    "color": "brown",
    "armor_data": {
      "sided": true,
      "armor": [
        {
          "material": [ { "type": "leather", "covered_by_mat": 100, "thickness": 2.0 } ],
          "coverage": 5,
          "covers": [ "leg_l", "leg_r" ]
        }
      ]
    },
    "pocket_data": [
      {
        "max_item_volume": "15 ml",
        "max_item_length": "12 cm",
        "max_contains_volume": "1500 ml",
        "max_contains_weight": "3 kg",
        "watertight": true,
        "rigid": false,
        "moves": 220
      }
    ],
    "flags": [ "BELTED", "WATER_FRIENDLY" ],
    "melee_damage": { "bash": 1 }
  },
  {
    "id": "test_balloon",
    "type": "GENERIC",
    "category": "container",
    "name": { "str": "test balloon" },
    "description": "Stretchy, watertight, and airtight - the perfect trial balloon.",
    "weight": "5 g",
    "volume": "15 ml",
    "price": 0,
    "price_postapoc": 25,
    "to_hit": -5,
    "material": [ "rubber" ],
    "symbol": ")",
    "color": "white",
    "flags": [ "CONDUCTIVE", "WATER_FRIENDLY" ],
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": false,
        "airtight": true,
        "watertight": true,
        "max_contains_volume": "10 L",
        "max_contains_weight": "10 kg",
        "moves": 1000
      }
    ],
    "properties": { "burst_when_filled": "75" }
  },
  {
    "id": "test_condom",
    "type": "GENERIC",
    "category": "container",
    "name": { "str": "test condom" },
    "description": "This condom is only for testing, and should not be used as a birth control device.",
    "weight": "5 g",
    "volume": "15 ml",
    "price": 0,
    "price_postapoc": 25,
    "to_hit": -5,
    "material": [ "plastic" ],
    "symbol": ")",
    "color": "white",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "watertight": true,
        "max_contains_volume": "3750 ml",
        "max_contains_weight": "7 kg",
        "max_item_length": "26 cm"
      }
    ],
    "properties": { "burst_when_filled": "75" }
  },
  {
    "id": "test_can_drink",
    "type": "GENERIC",
    "category": "container",
    "name": { "str": "test aluminum can" },
    "description": "A factory-sealed aluminum can for testing.",
    "weight": "13 g",
    "volume": "253 ml",
    "material": [ "aluminum" ],
    "symbol": ")",
    "color": "light_blue",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "open_container": true,
        "max_contains_volume": "250 ml",
        "max_item_volume": "10 ml",
        "max_contains_weight": "1 kg",
        "sealed_data": { "spoil_multiplier": 0.0 }
      }
    ]
  },
  {
    "id": "test_can_food",
    "type": "GENERIC",
    "category": "container",
    "name": { "str": "test small tin can" },
    "description": "A steel can that thinks its made of tin, maybe useful for testing, but you wouldn't want to eat out of it.",
    "weight": "40 g",
    "volume": "262 ml",
    "price": 0,
    "price_postapoc": 0,
    "material": [ "steel" ],
    "symbol": ")",
    "color": "blue",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "open_container": true,
        "max_contains_volume": "250 ml",
        "max_contains_weight": "1 kg",
        "sealed_data": { "spoil_multiplier": 0.0 }
      }
    ],
    "qualities": [ [ "BOIL", 1 ] ]
  },
  {
    "type": "GENERIC",
    "id": "test_waterproof_bag",
    "category": "container",
    "name": { "str": "body bag" },
    "looks_like": "bag_canvas",
    "description": "A large, human size, rectangular bag made of strong plastic, with a zipper in the middle.  Used to hold a dead body.",
    "weight": "1500 g",
    "volume": "1 L",
    "material": [ "test_material" ],
    "longest_side": "40 cm",
    "price": 0,
    "price_postapoc": 10,
    "to_hit": -5,
    "symbol": ")",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "watertight": true,
        "max_contains_volume": "100 L",
        "max_contains_weight": "100 kg",
        "max_item_length": "200 cm",
        "moves": 400
      }
    ],
    "color": "dark_gray",
    "flags": [ "TRADER_AVOID" ]
  },
  {
    "id": "test_duffelbag",
    "type": "ARMOR",
    "name": { "str": "test duffel bag" },
    "description": "A huge test duffel bag.  Provides plenty of storage, but is severely encumbering.",
    "weight": "933 g",
    "volume": "6 L",
    "price": 12000,
    "price_postapoc": 500,
    "material": [ "cotton" ],
    "symbol": "[",
    "looks_like": "rucksack",
    "color": "green",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "35 L",
        "max_contains_weight": "50 kg",
        "max_item_length": "55 cm",
        "magazine_well": "5 L",
        "moves": 300
      }
    ],
    "warmth": 10,
    "material_thickness": 2,
    "flags": [ "BELTED", "WATER_FRIENDLY" ],
    "armor": [ { "encumbrance": [ 5, 35 ], "coverage": 50, "covers": [ "torso" ] } ]
  },
  {
    "id": "test_backpack",
    "type": "ARMOR",
    "name": "TEST backpack",
    "description": "A small backpack.  Good storage for a little encumbrance.",
    "weight": "633 g",
    "volume": "2 L",
    "price": 3900,
    "price_postapoc": 16000,
    "material": [ "cotton" ],
    "symbol": "[",
    "looks_like": "ragpouch",
    "color": "green",
    "pocket_data": [ { "pocket_type": "CONTAINER", "max_contains_volume": "15 L", "max_contains_weight": "30 kg", "moves": 300 } ],
    "warmth": 6,
    "material_thickness": 2,
    "flags": [ "BELTED" ],
    "armor": [ { "encumbrance": [ 2, 15 ], "coverage": 30, "covers": [ "torso" ] } ]
  },
  {
    "id": "test_mini_backpack",
    "type": "ARMOR",
    "name": "TEST backpack",
    "description": "A small backpack designed for testing nesting issues.  Good storage for a little encumbrance.",
    "weight": "633 g",
    "volume": "2 L",
    "price": 3900,
    "price_postapoc": 16000,
    "material": [ "cotton" ],
    "symbol": "[",
    "looks_like": "ragpouch",
    "color": "green",
    "pocket_data": [ { "pocket_type": "CONTAINER", "max_contains_volume": "3 L", "max_contains_weight": "30 kg", "moves": 300 } ],
    "warmth": 6,
    "material_thickness": 2,
    "flags": [ "BELTED" ],
    "armor": [ { "encumbrance": [ 2, 15 ], "coverage": 30, "covers": [ "torso" ] } ]
  },
  {
    "id": "test_briefcase",
    "type": "ARMOR",
    "name": "TEST briefcase",
    "description": "Useful for carrying money, documents, or smuggled goods.",
    "weight": "1700 g",
    "volume": "15750 ml",
    "price": 24000,
    "to_hit": -2,
    "material": [ "plastic" ],
    "symbol": "[",
    "looks_like": "plastic_shopping_bag",
    "color": "light_gray",
    "sided": true,
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "15 L",
        "max_contains_weight": "30 kg",
        "moves": 300,
        "rigid": true
      }
    ],
    "material_thickness": 2,
    "flags": [ "FANCY", "OVERSIZE", "BELTED", "RESTRICT_HANDS", "WATER_FRIENDLY" ],
    "armor": [ { "encumbrance": 30, "coverage": 10, "covers": [ "arm_l", "arm_r", "hand_l", "hand_r" ] } ],
    "melee_damage": { "bash": 5 }
  },
  {
    "id": "test_quiver",
    "type": "ARMOR",
    "name": { "str": "test quiver" },
    "description": "Quiver of Testing, with room for 20 arrows or bolts.",
    "weight": "260 g",
    "volume": "500 ml",
    "price": 6500,
    "price_postapoc": 1000,
    "material": [ "leather" ],
    "symbol": "[",
    "looks_like": "bscabbard",
    "color": "brown",
    "sided": true,
    "material_thickness": 1,
    "pocket_data": [ { "ammo_restriction": { "arrow": 20, "bolt": 20 }, "moves": 20 } ],
    "flags": [ "BELTED", "OVERSIZE", "WATER_FRIENDLY" ],
    "armor": [ { "encumbrance": 3, "coverage": 10, "covers": [ "leg_l", "leg_r" ] } ],
    "melee_damage": { "bash": 2 }
  },
  {
    "id": "test_arrow_wood",
    "type": "AMMO",
    "price": 1000,
    "name": { "str": "test wooden broadhead arrow" },
    "symbol": "=",
    "color": "green",
    "looks_like": "arrow_fire_hardened_fletched",
    "description": "Test arrow",
    "material": [ "wood", "steel" ],
    "volume": "250 ml",
    "price_postapoc": 250,
    "weight": "30 g",
    "ammo_type": "arrow",
    "damage": { "damage_type": "stab", "armor_penetration": 1, "constant_damage_multiplier": 1.5 },
    "dispersion": 110,
    "loudness": 0,
    "count": 10,
    "critical_multiplier": 10,
    "effects": [ "RECOVER_25" ],
    "melee_damage": { "bash": 2, "cut": 1 }
  },
  {
    "id": "test_pointy_stick",
    "type": "GENERIC",
    "name": { "str": "test pointy stick" },
    "description": "A simple wood pole with one end sharpened.",
    "material": [ "wood" ],
    "volume": "1250 ml",
    "weight": "900 g",
    "symbol": "/",
    "color": "brown",
    "to_hit": -1,
    "price_postapoc": 10,
    "flags": [ "SPEAR" ],
    "techniques": [ "WBLOCK_1" ],
    "qualities": [ [ "COOK", 1 ] ],
    "melee_damage": { "bash": 5, "stab": 9 }
  },
  {
    "type": "GENERIC",
    "id": "test_clumsy_sword",
    "name": "TEST clumsy sword",
    "description": "A poorly balanced sword for test purposes",
    "category": "spare_parts",
    "weight": "1250 g",
    "volume": "1 L",
    "longest_side": "1 meter",
    "to_hit": -1,
    "color": "dark_gray",
    "symbol": "/",
    "material": [ "steel" ],
    "price": 7500,
    "price_postapoc": 300,
    "melee_damage": { "bash": 32, "cut": 32 }
  },
  {
    "type": "GENERIC",
    "id": "test_normal_sword",
    "name": "TEST normal sword",
    "description": "A sword for test purposes",
    "category": "spare_parts",
    "weight": "1250 g",
    "volume": "1 L",
    "longest_side": "1 meter",
    "to_hit": 1,
    "color": "dark_gray",
    "symbol": "/",
    "material": [ "steel" ],
    "price": 7500,
    "price_postapoc": 300,
    "melee_damage": { "bash": 32, "cut": 32 }
  },
  {
    "type": "GENERIC",
    "id": "test_balanced_sword",
    "name": "TEST balanced sword",
    "description": "A well-balanced sword for test purposes",
    "category": "spare_parts",
    "weight": "1250 g",
    "volume": "1 L",
    "longest_side": "1 meter",
    "to_hit": 3,
    "color": "dark_gray",
    "symbol": "/",
    "material": [ "steel" ],
    "price": 7500,
    "price_postapoc": 300,
    "melee_damage": { "bash": 32, "cut": 32 }
  },
  {
    "type": "GENERIC",
    "id": "test_fire_sword",
    "name": "TEST fire sword",
    "description": "A sword that inflicts fire damage for test purposes",
    "category": "spare_parts",
    "weight": "1250 g",
    "volume": "1 L",
    "longest_side": "1 meter",
    "to_hit": 3,
    "color": "dark_gray",
    "symbol": "/",
    "material": [ "steel" ],
    "price": 7500,
    "price_postapoc": 300,
    "melee_damage": { "test_fire": 8 }
  },
  {
    "id": "test_bullwhip",
    "type": "GENERIC",
    "symbol": "/",
    "color": "brown",
    "name": { "str": "TEST bullwhip" },
    "description": "A long strip of braided leather with a handle on one end.  Originally developed to settle disagreements with cattle, it's better used now for flaying the rotten flesh off of walking corpses.  Great for when a problem comes along.",
    "weight": "3460 g",
    "volume": "2 L",
    "price": 3500,
    "price_postapoc": 500,
    "material": [ "test_material" ],
    "flags": [ "REACH_ATTACK", "REACH3", "WHIP" ],
    "category": "weapons",
    "melee_damage": { "cut": 3 }
  },
  {
    "id": "test_glaive",
    "type": "GENERIC",
    "symbol": "/",
    "color": "light_gray",
    "name": { "str": "TEST glaive" },
    "description": "A sturdy polearm with a sizable, single-edged blade on the end.",
    "price": 50000,
    "material": [ "steel", "wood" ],
    "qualities": [ [ "CUT", 1 ], [ "BUTCHER", -28 ] ],
    "flags": [ "DURABLE_MELEE", "REACH_ATTACK", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ],
    "techniques": [ "WIDE", "WBLOCK_1" ],
    "weight": "2100 g",
    "volume": "2500 ml",
    "longest_side": "180 cm",
    "price_postapoc": 8000,
    "melee_damage": { "bash": 17, "cut": 40 }
  },
  {
    "id": "test_glock",
    "type": "GUN",
    "name": { "str": "Test Glock" },
    "description": "A handgun for testing, based on the Glock 9mm.",
    "weight": "600 g",
    "volume": "500 ml",
    "price": 69000,
    "price_postapoc": 2500,
    "to_hit": -2,
    "material": [ "plastic", "steel" ],
    "symbol": "(",
    "color": "dark_gray",
    "ammo": [ "test_9mm" ],
    "ranged_damage": { "damage_type": "bullet", "amount": -1 },
    "dispersion": 480,
    "durability": 6,
    "blackpowder_tolerance": 48,
    "min_cycle_recoil": 380,
    "skill": "pistol",
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "holster": true,
        "max_contains_volume": "20 L",
        "max_contains_weight": "20 kg",
        "item_restriction": [ "test_glockmag", "test_glockbigmag" ]
      }
    ],
    "melee_damage": { "bash": 8 }
  },
  {
    "id": "test_glock_super_long",
    "type": "GUN",
    "copy-from": "pistol_base",
    "name": { "str": "Test Glock" },
    "description": "A handgun for testing barrel lengths, based on nothing.",
    "weight": "600 g",
    "volume": "500 ml",
    "barrel_length": "150 mm",
    "price": 69000,
    "price_postapoc": 2500,
    "to_hit": -2,
    "material": [ "plastic", "steel" ],
    "symbol": "(",
    "color": "dark_gray",
    "ammo": [ "test_100mm" ],
    "dispersion": 480,
    "durability": 6,
    "blackpowder_tolerance": 48,
    "min_cycle_recoil": 380,
    "skill": "pistol",
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "test_100mm": 1 } } ],
    "melee_damage": { "bash": 8 }
  },
  {
    "id": "barrel_glock_short",
    "type": "GUNMOD",
    "name": { "str": "shortened barrel" },
    "description": "A shortened barrel results in markedly reduced accuracy and a minor increase in noise, but also greatly improves the ease with which the weapon can be carried and wielded.",
    "volume": "0 ml",
    "price": 12000,
    "price_postapoc": 250,
    "integral_longest_side": "100 mm",
    "barrel_length": "100 mm",
    "install_time": "0 s",
    "material": [ "steel" ],
    "symbol": ":",
    "color": "light_gray",
    "location": "barrel",
    "mod_targets": [ "pistol" ],
    "dispersion_modifier": 75,
    "loudness_modifier": 2,
    "flags": [ "IRREMOVABLE", "ZERO_WEIGHT" ]
  },
  {
    "id": "test_glockmag",
    "looks_like": "glock17_17",
    "type": "MAGAZINE",
    "name": { "str": "Test Glock magazine" },
    "description": "Magazine exclusively designed for Test Glocks.",
    "weight": "105 g",
    "volume": "250 ml",
    "price": 2900,
    "price_postapoc": 100,
    "material": [ "plastic" ],
    "symbol": "#",
    "color": "light_gray",
    "ammo_type": [ "test_9mm" ],
    "capacity": 15,
    "flags": [ "MAG_COMPACT" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "test_9mm": 15 } } ]
  },
  {
    "id": "test_glockbigmag",
    "looks_like": "glock17_17",
    "type": "MAGAZINE",
    "name": { "str": "Test Glock extended magazine" },
    "description": "30-round magazine exclusively for use with the Test Glock.",
    "weight": "210 g",
    "volume": "500 ml",
    "price": 4700,
    "price_postapoc": 500,
    "material": [ "plastic" ],
    "symbol": "#",
    "color": "light_gray",
    "ammo_type": [ "test_9mm" ],
    "capacity": 30,
    "reload_time": 140,
    "flags": [ "MAG_COMPACT" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "test_9mm": 30 } } ]
  },
  {
    "id": "test_9mm_ammo",
    "type": "AMMO",
    "name": { "str": "Test 9mm ammo" },
    "description": "Generic 9mm ammo based on JHP.",
    "weight": "7 g",
    "volume": "250 ml",
    "price": 150,
    "price_postapoc": 1000,
    "flags": [ "IRREPLACEABLE_CONSUMABLE" ],
    "material": [ "brass", "powder" ],
    "symbol": "=",
    "color": "yellow",
    "count": 50,
    "stack_size": 50,
    "ammo_type": "test_9mm",
    "casing": "9mm_casing",
    "range": 14,
    "damage": { "damage_type": "bullet", "amount": 26 },
    "dispersion": 60,
    "recoil": 500,
    "effects": [ "COOKOFF" ]
  },
  {
    "id": "test_100mm_ammo",
    "type": "AMMO",
    "name": { "str": "Test 100mm ammo" },
    "description": "Generic 100mm ammo.",
    "weight": "7 g",
    "volume": "250 ml",
    "price": 150,
    "price_postapoc": 1000,
    "flags": [ "IRREPLACEABLE_CONSUMABLE" ],
    "material": [ "brass", "powder" ],
    "symbol": "=",
    "color": "yellow",
    "count": 50,
    "stack_size": 50,
    "ammo_type": "test_100mm",
    "casing": "9mm_casing",
    "range": 14,
    "damage": {
      "damage_type": "bullet",
      "amount": 26,
      "barrels": [ { "barrel_length": "100 mm", "amount": 60 }, { "barrel_length": "200 mm", "amount": 70 } ]
    },
    "dispersion": 60,
    "recoil": 500,
    "effects": [ "COOKOFF" ]
  },
  {
    "id": "test_100mm_ammo_relative",
    "type": "AMMO",
    "name": { "str": "Test 100mm ammo prop" },
    "copy-from": "test_100mm_ammo",
    "relative": { "damage": { "damage_type": "bullet", "amount": 1 } }
  },
  {
    "id": "test_45_ammo",
    "type": "AMMO",
    "name": { "str": "Test .45 ammo" },
    "description": "Test ammo based on the .45 JHP.",
    "weight": "10 g",
    "volume": "250 ml",
    "price": 180,
    "price_postapoc": 600,
    "flags": [ "IRREPLACEABLE_CONSUMABLE" ],
    "material": [ "brass", "powder" ],
    "symbol": "=",
    "color": "yellow",
    "count": 30,
    "stack_size": 30,
    "ammo_type": "45",
    "casing": "45_casing",
    "range": 16,
    "damage": { "damage_type": "bullet", "amount": 30, "armor_penetration": 2 },
    "dispersion": 50,
    "recoil": 600,
    "effects": [ "COOKOFF" ]
  },
  {
    "id": "test_shot_00_fire_damage",
    "copy-from": "shotshell_abstract",
    "type": "AMMO",
    "name": { "str_sp": "00 shot" },
    "description": "A shell filled with metal pellets.  Extremely damaging, plus the spread makes it very accurate at short range.  Favored by SWAT forces.",
    "price": 500,
    "price_postapoc": 800,
    "range": 18,
    "weight": "10 g",
    "volume": "250 ml",
    "damage": { "damage_type": "test_fire", "amount": 60 },
    "shot_damage": { "damage_type": "test_fire", "amount": 15 },
    "projectile_count": 9,
    "shot_spread": 300,
    "recoil": 2500,
    "loudness": 160,
    "effects": [ "COOKOFF", "SHOT" ]
  },
  {
    "id": "test_liquid",
    "type": "COMESTIBLE",
    "comestible_type": "DRINK",
    "category": "food",
    "name": { "str_sp": "test liquid" },
    "description": "No clue what it's made of, but it's definitely liquid.  Only for testing, do not drink!",
    "material": [ "test_material" ],
    "phase": "liquid",
    "weight": "250 g",
    "volume": "250 ml",
    "charges": 1,
    "price": 50,
    "symbol": "~",
    "color": "light_blue"
  },
  {
    "id": "test_gas",
    "type": "ammunition_type",
    "name": "heady vapours",
    "default": "test_gas"
  },
  {
    "id": "test_gas",
    "type": "AMMO",
    "ammo_type": "test_gas",
    "category": "chems",
    "name": { "str_sp": "test gas" },
    "description": "Some mysterious substance in the form of a gas.  Only for testing, do not inhale!",
    "material": [ "test_material" ],
    "phase": "gas",
    "weight": "250 g",
    "volume": "250 ml",
    "price": 50,
    "symbol": "~",
    "color": "light_gray"
  },
  {
    "id": "test_box",
    "type": "GENERIC",
    "category": "container",
    "name": { "str": "test box" },
    "description": "A simple 1-liter cardboard box of deliberately undefined proportions.",
    "weight": "100 g",
    "volume": "1050 ml",
    "price": 0,
    "price_postapoc": 25,
    "material": [ "cardboard" ],
    "symbol": "[",
    "color": "brown",
    "pocket_data": [
      {
        "//": "max_item_length is left undefined on purpose, to test default length from volume",
        "pocket_type": "CONTAINER",
        "rigid": true,
        "max_item_volume": "1 L",
        "max_contains_volume": "1 L",
        "max_contains_weight": "10 kg",
        "moves": 200
      }
    ]
  },
  {
    "type": "MAGAZINE",
    "id": "test_weldtank",
    "name": { "str": "welding tank" },
    "description": "A test welding tank full of oxyacetylene.",
    "weight": "11360 g",
    "volume": "18 L",
    "material": [ "steel" ],
    "symbol": "#",
    "ammo_type": [ "weldgas" ],
    "capacity": 240,
    "count": 240,
    "flags": [ "NO_UNLOAD", "NO_RELOAD" ],
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "weldgas": 240 }, "watertight": true } ]
  },
  {
    "type": "TOOL",
    "id": "test_oxytorch",
    "name": { "str": "test acetylene torch", "str_pl": "test acetylene torches" },
    "description": "An acetylene torch.",
    "weight": "1600 g",
    "volume": "1 L",
    "material": [ "steel", "plastic" ],
    "symbol": ";",
    "ammo": [ "weldgas" ],
    "qualities": [ [ "WELD", 10 ] ],
    "charges_per_use": 4,
    "use_action": [ "OXYTORCH" ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "holster": true,
        "max_contains_volume": "20 L",
        "max_contains_weight": "20 kg",
        "item_restriction": [ "test_weldtank" ]
      }
    ]
  },
  {
    "id": "test_rod_14cm",
    "type": "GENERIC",
    "name": "test 14 cm rod",
    "description": "A thin rod exactly 14 cm in length",
    "category": "spare_parts",
    "weight": "1 g",
    "volume": "1 ml",
    "longest_side": "14 cm",
    "color": "dark_gray",
    "symbol": "/",
    "material": [ "steel" ]
  },
  {
    "id": "test_rod_15cm",
    "type": "GENERIC",
    "name": "test 15 cm rod",
    "description": "A thin rod exactly 15 cm in length",
    "category": "spare_parts",
    "weight": "1 g",
    "volume": "1 ml",
    "longest_side": "15 cm",
    "color": "dark_gray",
    "symbol": "/",
    "material": [ "steel" ]
  },
  {
    "type": "TOOL",
    "id": "test_boltcutter",
    "name": { "str": "test pair of bolt cutters" },
    "description": "Test bolt cutters.",
    "material": [ "test_material" ],
    "weight": "1 kg",
    "volume": "1 L",
    "symbol": ";"
  },
  {
    "type": "TOOL",
    "id": "test_boltcutter_elec",
    "copy-from": "test_boltcutter",
    "name": { "str": "test electric pair of bolt cutters" },
    "description": "Test bolt cutters which uses batteries.",
    "charges_per_use": 1,
    "ammo": [ "battery" ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "holster": true,
        "rigid": true,
        "max_contains_volume": "20 L",
        "max_contains_weight": "20 kg",
        "item_restriction": [ "test_battery_disposable" ]
      }
    ]
  },
  {
    "id": "test_crafted_suppressor",
    "type": "GUNMOD",
    "name": { "str": "test suppressor" },
    "description": "Gun suppressor mod for testing.",
    "weight": "880 g",
    "volume": "750 ml",
    "price": 480,
    "price_postapoc": 250,
    "install_time": "30 s",
    "to_hit": 1,
    "material": [ "steel" ],
    "symbol": ":",
    "color": "dark_gray",
    "location": "muzzle",
    "mod_targets": [ "pistol", "rifle" ],
    "consume_chance": 20,
    "consume_divisor": 110,
    "damage_modifier": { "damage_type": "bullet", "amount": -5 },
    "dispersion_modifier": 40,
    "sight_dispersion": 11,
    "field_of_view": 300,
    "handling_modifier": 1,
    "loudness_modifier": -30,
    "flags": [ "DISABLE_SIGHTS", "CONSUMABLE", "REACH_ATTACK" ],
    "melee_damage": { "bash": 3 }
  },
  {
    "type": "TOOL",
    "id": "test_hacksaw",
    "name": { "str": "test hacksaw" },
    "description": "Test hacksaw.",
    "weight": "1 kg",
    "volume": "1 L",
    "material": [ "test_material" ],
    "symbol": ";",
    "qualities": [ [ "SAW_M", 2 ] ]
  },
  {
    "type": "TOOL",
    "id": "test_hacksaw_elec",
    "copy-from": "test_hacksaw",
    "name": { "str": "test electric hacksaw" },
    "description": "Test hacksaw which uses batteries.",
    "charges_per_use": 1,
    "ammo": [ "battery" ],
    "use_action": [ [ "HACKSAW", 1 ] ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "holster": true,
        "rigid": true,
        "max_contains_volume": "20 L",
        "max_contains_weight": "20 kg",
        "item_restriction": [ "test_battery_disposable" ]
      }
    ]
  },
  {
    "type": "COMESTIBLE",
    "id": "test_milk",
    "name": { "str_sp": "intolerant milk" },
    "weight": "258 g",
    "color": "white",
    "spoils_in": "1 d",
    "container": "jug_plastic",
    "comestible_type": "DRINK",
    "symbol": "~",
    "quench": 25,
    "calories": 132,
    "description": "You can only push a drink so far before it spoils.",
    "price": 38,
    "price_postapoc": 50,
    "material": [ "milk" ],
    "volume": "250 ml",
    "charges": 1,
    "phase": "liquid",
    "flags": [ "EATEN_COLD" ],
    "vitamins": [ [ "vitC", 4 ], [ "calcium", 25 ] ],
    "fun": 1
  },
  {
    "type": "COMESTIBLE",
    "id": "test_brew_wine",
    "name": "tennis ball wine must",
    "description": "Unfermented tennis ball wine.  A rubbery, boiled juice made from mashed tennis balls.",
    "weight": "46 g",
    "color": "light_red",
    "container": "bottle_glass",
    "flags": [ "TRADER_AVOID", "NUTRIENT_OVERRIDE" ],
    "symbol": "~",
    "calories": 17,
    "quench": 6,
    "fun": -5,
    "price": 0,
    "material": [ "rubber", "water" ],
    "volume": "250 ml",
    "price_postapoc": 10,
    "charges": 7,
    "phase": "liquid",
    "comestible_type": "DRINK",
    "brewable": { "time": "12 hours", "results": [ "test_wine", "yeast" ] }
  },
  {
    "type": "COMESTIBLE",
    "id": "test_wine",
    "name": { "str_sp": "test tennis ball wine" },
    "weight": "36 g",
    "color": "light_red",
    "addiction_type": "alcohol",
    "use_action": [ "ALCOHOL_WEAK" ],
    "stim": -4,
    "container": "bottle_glass",
    "comestible_type": "DRINK",
    "symbol": "~",
    "quench": 10,
    "addiction_potential": 3,
    "calories": 49,
    "description": "Cheap booze made from fermented tennis ball juice.  Tastes just like it sounds.",
    "price": 550,
    "price_postapoc": 100,
    "material": [ "alcohol", "water" ],
    "primary_material": "alcohol",
    "volume": "250 ml",
    "phase": "liquid",
    "charges": 7,
    "flags": [ "EATEN_COLD" ],
    "fun": -5,
    "freezing_point": -7
  },
  {
    "id": "test_nuclear_carafe",
    "type": "GENERIC",
    "category": "tools",
    "name": { "str": "test nuclear carafe" },
    "description": "This is a test coffee carafe designed to keep atomic beverages extra radioactive.  It leaks radiation all the time.",
    "weight": "5 kg",
    "volume": "4 L",
    "price": 100000,
    "price_postapoc": 3000,
    "material": [ "plastic", "aluminum" ],
    "qualities": [ [ "BOIL", 1 ] ],
    "symbol": "&",
    "color": "light_green",
    "flags": [ "LEAK_ALWAYS", "RADIOACTIVE" ]
  },
  {
    "id": "test_gum",
    "type": "COMESTIBLE",
    "comestible_type": "MED",
    "name": { "str_sp": "test chewing gum" },
    "description": "Curiously stimulating and thirst-quenching blueberry-flavored chewing gum.",
    "material": [ "test_material" ],
    "category": "food",
    "weight": "3 g",
    "volume": "250 ml",
    "price": 100,
    "price_postapoc": 100,
    "stackable": true,
    "charges": 10,
    "stack_size": 100,
    "symbol": "*",
    "color": "pink",
    "fun": 5,
    "stim": 10,
    "quench": 50,
    "addiction_potential": 10,
    "addiction_type": "caffeine",
    "flags": [ "NO_INGEST" ],
    "use_action": [ "CHEW" ]
  },
  {
    "type": "COMESTIBLE",
    "id": "test_tallow",
    "name": { "str": "tallow" },
    "weight": "55 g",
    "color": "white",
    "spoils_in": "60 days",
    "comestible_type": "FOOD",
    "symbol": "%",
    "quench": -10,
    "healthy": -1,
    "calories": 496,
    "description": "A smooth white block of cleaned and rendered animal fat.  It will remain edible for a very long time, and can be used as an ingredient in many foods and projects.",
    "price": 500,
    "price_postapoc": 800,
    "//": "*May* have been commercially traded.",
    "material": [ "flesh" ],
    "volume": "250 ml",
    "stackable": true,
    "charges": 2,
    "stack_size": 4,
    "vitamins": [  ],
    "fun": -18
  },
  {
    "type": "COMESTIBLE",
    "id": "test_tallow2",
    "copy-from": "test_tallow",
    "name": { "str": "tallow" },
    "description": "A smooth white block of cleaned and rendered animal fat.  It will remain edible for a very long time, and can be used as an ingredient in many foods and projects."
  },
  {
    "type": "COMESTIBLE",
    "id": "test_cracklins",
    "name": { "str_sp": "cracklins" },
    "weight": "42 g",
    "color": "brown",
    "spoils_in": "7 days",
    "comestible_type": "FOOD",
    "symbol": "%",
    "quench": -2,
    "healthy": -1,
    "calories": 270,
    "description": "Also known as pork rinds or chicharrones, these are bits of edible fat and skin that have been fried until they are crispy and delicious.",
    "price": 170,
    "volume": "200 ml",
    "price_postapoc": 500,
    "material": [ "flesh" ],
    "stackable": true,
    "charges": 4,
    "flags": [ "EATEN_HOT" ],
    "vitamins": [ [ "vitC", 0 ], [ "calcium", 0 ], [ "iron", 3 ] ],
    "fun": 4
  },
  {
    "id": "test_cmdline_book",
    "type": "BOOK",
    "name": { "str": "In the Beginning… Was the Command Line", "str_pl": "copies of In the Beginning… Was the Command Line" },
    "description": "Humorous 1999 essay by Neal Stephenson comparing computer operating system vendors to car dealerships.",
    "weight": "300 g",
    "volume": "300 ml",
    "price": 500,
    "price_postapoc": 500,
    "material": [ "paper" ],
    "symbol": "?",
    "color": "blue",
    "time": "5 m",
    "fun": 2
  },
  {
    "id": "test_dragon_book",
    "type": "BOOK",
    "name": { "str": "Principles of Compiler Design", "str_pl": "copies of Principles of Compiler Design" },
    "description": "Alfred Aho and Jeffrey Ullman's classic 1977 computer science textbook.  Features a cover drawing of a knight wielding an LALR parser generation and syntax directed translation against the metaphorical green dragon, The Complexity of Compiler Design.",
    "weight": "1587 g",
    "volume": "1500 ml",
    "price": 7800,
    "price_postapoc": 500,
    "material": [ "paper" ],
    "symbol": "?",
    "color": "green",
    "skill": "computer",
    "required_level": 4,
    "max_level": 7,
    "intelligence": 12,
    "time": "50 m",
    "fun": -1,
    "melee_damage": { "bash": 6 }
  },
  {
    "id": "test_power_armor",
    "type": "ARMOR",
    "category": "armor",
    "name": { "str": "test power armor" },
    "description": "This is a prototype power armor just for testing.",
    "weight": "55 kg",
    "volume": "100 L",
    "price": 7000000,
    "price_postapoc": 30000,
    "to_hit": 1,
    "material": [ "qt_steel", "ceramic", "kevlar_rigid" ],
    "symbol": "[",
    "looks_like": "depowered_armor",
    "color": "light_gray",
    "relic_data": {
      "passive_effects": [
        {
          "has": "WORN",
          "condition": "ACTIVE",
          "values": [ { "value": "CLIMATE_CONTROL_HEAT", "add": 50 }, { "value": "CLIMATE_CONTROL_CHILL", "add": 50 } ]
        }
      ]
    },
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "max_contains_volume": "2500 ml",
        "max_contains_weight": "15 kg",
        "moves": 200
      }
    ],
    "warmth": 90,
    "power_armor": true,
    "material_thickness": 14,
    "environmental_protection": 16,
    "use_action": { "type": "transform", "msg": "The %s engages.", "target": "test_power_armor_on", "active": true },
    "flags": [ "WATERPROOF", "STURDY", "ELECTRIC_IMMUNE" ],
    "armor": [
      {
        "encumbrance": 50,
        "coverage": 100,
        "covers": [ "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ]
      }
    ],
    "melee_damage": { "bash": 1 }
  },
  {
    "id": "test_power_armor_on",
    "copy-from": "test_power_armor",
    "looks_like": "test_power_armor",
    "type": "TOOL_ARMOR",
    "name": { "str": "test power armor (on)" },
    "description": "This is a prototype power armor just for testing.",
    "flags": [ "USE_UPS", "WATERPROOF", "STURDY", "ELECTRIC_IMMUNE", "TRADER_AVOID" ],
    "power_draw": "4 kW",
    "revert_to": "test_power_armor",
    "use_action": { "type": "transform", "menu_text": "Turn off", "msg": "The %s armor disengages.", "target": "test_power_armor" }
  },
  {
    "id": "test_meower_armor",
    "type": "PET_ARMOR",
    "name": { "str": "meower armor" },
    "description": "Sleek and lightweight Kevlar cat harness with a protective hood and chestplate.  Includes a very small, inconvenient velcro pocket on the back.",
    "weight": "300 g",
    "volume": "1 L",
    "price": 30000,
    "price_postapoc": 1000,
    "material": [ "kevlar_layered" ],
    "material_thickness": 2,
    "environmental_protection": 10,
    "symbol": "[",
    "looks_like": "tacvest",
    "color": "blue",
    "flags": [ "IS_PET_ARMOR", "NO_SALVAGE" ],
    "max_pet_vol": "3 L",
    "min_pet_vol": "6 L",
    "pet_bodytype": "dog",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "100 ml",
        "max_contains_weight": "100 g",
        "//": "It takes you an extremely long time to make your cat hold still.",
        "moves": 2500
      }
    ]
  },
  {
    "id": "test_matches",
    "type": "TOOL",
    "name": { "str": "test matchbook" },
    "description": "Test matches - when you must burn things, for science!",
    "weight": "10 g",
    "volume": "10 ml",
    "price": 10,
    "price_postapoc": 50,
    "material": [ "cardboard" ],
    "symbol": ",",
    "color": "blue",
    "charges_per_use": 1,
    "pocket_data": [ { "pocket_type": "MAGAZINE", "holster": true, "ammo_restriction": { "match": 20 } } ],
    "use_action": { "type": "firestarter", "moves": 40, "moves_slow": 1000 },
    "flags": [ "FIRESTARTER", "NO_RELOAD", "NO_UNLOAD" ]
  },
  {
    "id": "test_thumb",
    "type": "COMESTIBLE",
    "category": "other",
    "material": [ "hflesh" ],
    "name": { "str": "test mutated thumb" },
    "description": "A misshapen human thumb.  Eating this would be incredibly disgusting and probably cause you to mutate.",
    "volume": "100 ml",
    "weight": "100 g",
    "color": "brown",
    "spoils_in": "2 days",
    "vitamins": [ [ "mutagen", 60 ] ],
    "flags": [ "TRADER_AVOID", "NUTRIENT_OVERRIDE" ],
    "comestible_type": "FOOD",
    "symbol": "%",
    "healthy": -8,
    "calories": 50,
    "price": 0,
    "price_postapoc": 0,
    "fun": -20
  },
  {
    "id": "test_swat_armor",
    "type": "ARMOR",
    "category": "armor",
    "name": { "str": "SWAT armor" },
    "//": "This is well within the pricing structure I found for ballistic vest, shins, and LBE.  LEO gear ain't cheap.",
    "description": "A suit of black bulletproof armor with lots of pockets.  The word SWAT is emblazoned across the back.",
    "weight": "7800 g",
    "volume": "13 L",
    "price": 285000,
    "price_postapoc": 2000,
    "to_hit": -3,
    "material": [ "kevlar_layered", "cotton" ],
    "symbol": "[",
    "looks_like": "touring_suit",
    "color": "dark_gray",
    "armor": [ { "covers": [ "torso", "leg_l", "leg_r", "arm_l", "arm_r" ], "coverage": 95, "encumbrance": [ 12, 25 ] } ],
    "pocket_data": [
      { "pocket_type": "CONTAINER", "max_contains_volume": "1 L", "max_contains_weight": "3 kg", "moves": 80 },
      { "pocket_type": "CONTAINER", "max_contains_volume": "1 L", "max_contains_weight": "3 kg", "moves": 80 },
      { "pocket_type": "CONTAINER", "max_contains_volume": "1500 ml", "max_contains_weight": "3 kg", "moves": 120 },
      { "pocket_type": "CONTAINER", "max_contains_volume": "1500 ml", "max_contains_weight": "3 kg", "moves": 120 }
    ],
    "warmth": 35,
    "material_thickness": 11,
    "valid_mods": [ "steel_padded" ],
    "environmental_protection": 4,
    "flags": [ "POCKETS", "STURDY" ],
    "melee_damage": { "bash": 6 }
  },
  {
    "id": "test_swat_mostly_cotton",
    "type": "ARMOR",
    "name": "SWAT armor",
    "copy-from": "test_swat_armor",
    "armor": [
      {
        "covers": [ "torso", "head", "mouth", "eyes" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "steel", "covered_by_mat": 5, "thickness": 1.2 },
          { "type": "cotton", "covered_by_mat": 100, "thickness": 0.2 }
        ]
      },
      {
        "covers": [ "leg_l", "leg_r", "foot_l", "foot_r" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "steel", "covered_by_mat": 5, "thickness": 1.2 },
          { "type": "cotton", "covered_by_mat": 100, "thickness": 0.2 }
        ]
      },
      {
        "covers": [ "arm_l", "arm_r", "hand_l", "hand_r" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "steel", "covered_by_mat": 5, "thickness": 1.2 },
          { "type": "cotton", "covered_by_mat": 100, "thickness": 0.2 }
        ]
      }
    ]
  },
  {
    "id": "test_swat_mostly_steel",
    "type": "ARMOR",
    "name": "SWAT armor",
    "copy-from": "test_swat_armor",
    "armor": [
      {
        "covers": [ "torso", "head", "mouth", "eyes" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "steel", "covered_by_mat": 100, "thickness": 1.2 },
          { "type": "cotton", "covered_by_mat": 5, "thickness": 0.2 }
        ]
      },
      {
        "covers": [ "leg_l", "leg_r", "foot_l", "foot_r" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "steel", "covered_by_mat": 100, "thickness": 1.2 },
          { "type": "cotton", "covered_by_mat": 5, "thickness": 0.2 }
        ]
      },
      {
        "covers": [ "arm_l", "arm_r", "hand_l", "hand_r" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "steel", "covered_by_mat": 100, "thickness": 1.2 },
          { "type": "cotton", "covered_by_mat": 5, "thickness": 0.2 }
        ]
      }
    ]
  },
  {
    "id": "test_multi_portion_segmented_armor",
    "type": "ARMOR",
    "name": "Segmented armor",
    "copy-from": "test_swat_armor",
    "armor": [
      {
        "covers": [ "torso", "head", "mouth", "eyes" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "cotton", "covered_by_mat": 100, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 }
        ]
      },
      {
        "covers": [ "leg_l", "leg_r", "foot_l", "foot_r" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "cotton", "covered_by_mat": 100, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 }
        ]
      },
      {
        "covers": [ "arm_l", "arm_r", "hand_l", "hand_r" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "cotton", "covered_by_mat": 100, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 1 }
        ]
      }
    ]
  },
  {
    "id": "test_portion_segmented_armor",
    "type": "ARMOR",
    "name": "Segmented armor",
    "copy-from": "test_swat_armor",
    "armor": [
      {
        "covers": [ "torso", "head", "mouth", "eyes" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "cotton", "covered_by_mat": 100, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 10 }
        ]
      },
      {
        "covers": [ "leg_l", "leg_r", "foot_l", "foot_r" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "cotton", "covered_by_mat": 100, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 10 }
        ]
      },
      {
        "covers": [ "arm_l", "arm_r", "hand_l", "hand_r" ],
        "coverage": 100,
        "encumbrance": [ 12, 25 ],
        "material": [
          { "type": "cotton", "covered_by_mat": 100, "thickness": 1 },
          { "type": "steel", "covered_by_mat": 50, "thickness": 10 }
        ]
      }
    ]
  },
  {
    "id": "test_pants_fur",
    "type": "ARMOR",
    "name": { "str_sp": "fur pants" },
    "description": "A hefty pair of fur-lined pants.",
    "weight": "920 g",
    "volume": "4 L",
    "price": 20000,
    "price_postapoc": 100,
    "to_hit": 1,
    "material": [ "cotton", "fur" ],
    "symbol": "[",
    "looks_like": "pants",
    "color": "brown",
    "pocket_data": [
      { "pocket_type": "CONTAINER", "max_contains_volume": "350 ml", "max_contains_weight": "1 kg", "moves": 80 },
      { "pocket_type": "CONTAINER", "max_contains_volume": "350 ml", "max_contains_weight": "1 kg", "moves": 80 },
      { "pocket_type": "CONTAINER", "max_contains_volume": "250 ml", "max_contains_weight": "1 kg", "moves": 100 },
      { "pocket_type": "CONTAINER", "max_contains_volume": "250 ml", "max_contains_weight": "1 kg", "moves": 100 }
    ],
    "warmth": 80,
    "material_thickness": 3,
    "valid_mods": [ "steel_padded" ],
    "environmental_protection": 3,
    "flags": [ "VARSIZE", "POCKETS" ],
    "armor": [ { "encumbrance": [ 16, 20 ], "coverage": 95, "covers": [ "leg_l", "leg_r" ] } ]
  },
  {
    "id": "test_pants_faux_fur",
    "type": "ARMOR",
    "copy-from": "test_pants_fur",
    "name": { "str_sp": "faux fur pants" },
    "description": "A pair of long cotton pants lined with warm imitation fur.",
    "material": [ "faux_fur", "cotton" ],
    "warmth": 70
  },
  {
    "id": "test_portion_faux_fur_pants_suit",
    "type": "ARMOR",
    "copy-from": "test_pants_fur",
    "name": { "str_sp": "faux fur pants suit test thing" },
    "description": "A TEST OBJECT SHOULD NOT BE IN GAME",
    "material": [ "faux_fur", "cotton" ],
    "armor": [
      { "covers": [ "torso", "leg_r", "arm_r" ], "coverage": 100, "encumbrance": [ 10, 25 ] },
      { "covers": [ "arm_l", "leg_l", "head" ], "coverage": 50, "encumbrance": 5 }
    ],
    "warmth": 5
  },
  {
    "id": "test_liquid_1ml",
    "type": "AMMO",
    "category": "fuel",
    "ammo_type": "gasoline",
    "phase": "liquid",
    "name": { "str_sp": "test liquid" },
    "description": "One milliliter liquid.",
    "material": [ "test_material" ],
    "weight": "1 g",
    "volume": "1 ml",
    "symbol": "?",
    "color": "light_gray"
  },
  {
    "id": "test_solid_1ml",
    "type": "AMMO",
    "category": "spare_parts",
    "ammo_type": "components",
    "name": { "str": "test solid" },
    "description": "One milliliter solid.",
    "material": [ "test_material" ],
    "volume": "1 ml",
    "weight": "1 g",
    "symbol": "?",
    "color": "light_gray"
  },
  {
    "id": "test_watertight_open_sealed_container_250ml",
    "type": "GENERIC",
    "category": "container",
    "name": { "str": "test can" },
    "description": "Some strange can from another dimension.  It can be worn on the waist.",
    "weight": "13 g",
    "volume": "253 ml",
    "material": [ "aluminum" ],
    "symbol": "?",
    "color": "light_gray",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "open_container": true,
        "max_contains_volume": "250 ml",
        "max_item_volume": "250 ml",
        "max_contains_weight": "1 kg",
        "sealed_data": { "spoil_multiplier": 0.0 }
      }
    ],
    "armor_data": {
      "armor": [
        {
          "material": [ { "type": "aluminum", "covered_by_mat": 100, "thickness": 2.0 } ],
          "encumbrance": 4,
          "coverage": 10,
          "covers": [ "torso" ]
        }
      ]
    },
    "flags": [ "BELTED", "OVERSIZE", "WATER_FRIENDLY" ]
  },
  {
    "type": "COMESTIBLE",
    "id": "debug_orange",
    "name": { "str": "orange" },
    "weight": "140 g",
    "color": "light_red",
    "spoils_in": "21 days",
    "comestible_type": "FOOD",
    "symbol": "%",
    "quench": 8,
    "calories": 69,
    "description": "Sweet citrus fruit.  Also comes in juice form.",
    "price": 180,
    "price_postapoc": 100,
    "material": [ "fruit" ],
    "volume": "375 ml",
    "fun": 3,
    "flags": [ "FREEZERBURN", "SMOKABLE" ],
    "smoking_result": "dry_fruit",
    "vitamins": [ [ "vitC", 100 ], [ "calcium", 100 ], [ "iron", 100 ] ]
  },
  {
    "id": "debug_vitamins",
    "type": "COMESTIBLE",
    "comestible_type": "MED",
    "name": { "str": "multivitamin" },
    "description": "Essential dietary nutrients conveniently packaged in pill form.  An option of last resort when a balanced diet is not possible.  Excess use can cause hypervitaminosis.",
    "weight": "1 g",
    "volume": "100 ml",
    "price": 500,
    "price_postapoc": 2000,
    "stackable": true,
    "charges": 20,
    "stack_size": 20,
    "symbol": "!",
    "color": "magenta",
    "container": "bottle_plastic_pill_supplement",
    "flags": [ "IRREPLACEABLE_CONSUMABLE", "WATER_DISSOLVE", "EDIBLE_FROZEN" ],
    "use_action": {
      "type": "consume_drug",
      "activation_message": "You take the %s.",
      "vitamins": [ [ "calcium", 100, 100 ], [ "iron", 100, 100 ], [ "vitC", 100, 100 ] ]
    }
  },
  {
    "id": "test_watertight_open_sealed_multipocket_container_2x250ml",
    "type": "GENERIC",
    "category": "container",
    "name": { "str": "test can" },
    "description": "Some strange can from another dimension.",
    "weight": "26 g",
    "volume": "506 ml",
    "material": [ "test_material" ],
    "symbol": "?",
    "color": "light_gray",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "open_container": true,
        "max_contains_volume": "250 ml",
        "max_item_volume": "250 ml",
        "max_contains_weight": "1 kg",
        "sealed_data": { "spoil_multiplier": 0.0 }
      },
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "open_container": true,
        "max_contains_volume": "250 ml",
        "max_item_volume": "250 ml",
        "max_contains_weight": "1 kg",
        "sealed_data": { "spoil_multiplier": 0.0 }
      }
    ]
  },
  {
    "id": "test_watertight_open_sealed_container_1L",
    "type": "GENERIC",
    "category": "container",
    "name": { "str": "test jug" },
    "description": "Some strange jug from another dimension.",
    "weight": "52 g",
    "volume": "1012 ml",
    "material": [ "plastic" ],
    "symbol": "?",
    "color": "light_gray",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "open_container": true,
        "max_contains_volume": "1 L",
        "max_item_volume": "1 L",
        "max_contains_weight": "4 kg",
        "sealed_data": { "spoil_multiplier": 0.0 }
      }
    ],
    "armor_data": {
      "armor": [
        {
          "material": [ { "type": "plastic", "covered_by_mat": 100, "thickness": 2.0 } ],
          "encumbrance": 4,
          "coverage": 10,
          "covers": [ "torso" ]
        }
      ]
    },
    "flags": [ "BELTED", "OVERSIZE", "WATER_FRIENDLY" ]
  },
  {
    "id": "test_watertight_open_sealed_multipocket_container_2x1L",
    "type": "GENERIC",
    "category": "container",
    "name": { "str": "test jug with strap", "str_pl": "test jugs with strap" },
    "description": "Some strange jug from another dimension.  It can be worn on the waist.",
    "weight": "104 g",
    "volume": "2024 ml",
    "material": [ "plastic" ],
    "symbol": "?",
    "color": "light_gray",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "open_container": true,
        "max_contains_volume": "1 L",
        "max_item_volume": "1 L",
        "max_contains_weight": "4 kg",
        "sealed_data": { "spoil_multiplier": 0.0 },
        "item_restriction": [ "test_watertight_open_sealed_multipocket_container_2x250ml", "test_solid_1ml" ]
      },
      {
        "pocket_type": "CONTAINER",
        "rigid": true,
        "watertight": true,
        "open_container": true,
        "max_contains_volume": "1 L",
        "max_item_volume": "1 L",
        "max_contains_weight": "4 kg",
        "sealed_data": { "spoil_multiplier": 0.0 },
        "item_restriction": [ "test_watertight_open_sealed_multipocket_container_2x250ml", "test_solid_1ml" ]
      }
    ],
    "armor_data": {
      "armor": [
        {
          "material": [ { "type": "plastic", "covered_by_mat": 100, "thickness": 2.0 } ],
          "encumbrance": 4,
          "coverage": 10,
          "covers": [ "torso" ]
        }
      ]
    },
    "flags": [ "BELTED", "OVERSIZE", "WATER_FRIENDLY" ]
  },
  {
    "id": "test_restricted_container_holder",
    "type": "ARMOR",
    "name": { "str": "test restricted container holder" },
    "description": "A backpack that somehow only holds specific containers.",
    "weight": "208 g",
    "volume": "4048 ml",
    "symbol": "?",
    "material": [ "cotton" ],
    "color": "light_gray",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "4 L",
        "max_contains_weight": "16 kg",
        "item_restriction": [
          "test_watertight_open_sealed_multipocket_container_2x1L",
          "test_watertight_open_sealed_container_1L",
          "test_watertight_open_sealed_container_250ml"
        ]
      }
    ],
    "armor_data": {
      "armor": [
        {
          "material": [ { "type": "cotton", "covered_by_mat": 100, "thickness": 2.0 } ],
          "encumbrance": 4,
          "coverage": 10,
          "covers": [ "torso" ]
        }
      ]
    },
    "flags": [ "BELTED" ]
  },
  {
    "type": "COMESTIBLE",
    "id": "test_vitfood",
    "name": { "str": "Vitamin Food" },
    "weight": "250 g",
    "color": "red",
    "spoils_in": "1 day",
    "comestible_type": "FOOD",
    "symbol": "O",
    "calories": 250,
    "description": "Delicious vitamin food.",
    "price": 1600,
    "price_postapoc": 200,
    "material": [ "flesh" ],
    "volume": "250 ml",
    "vitamins": [ [ "test_vitx", 200 ] ],
    "fun": -10
  },
  {
    "type": "GENERIC",
    "id": "test_baseball",
    "symbol": "*",
    "color": "white",
    "name": { "str": "baseball" },
    "category": "veh_parts",
    "description": "A baseball, good for throwing at enemies.  Getting hit with one of these hurts a lot more than you might think.",
    "price": 1000,
    "price_postapoc": 0,
    "material": [ "leather" ],
    "flags": [ "NPC_THROWN" ],
    "weight": "150 g",
    "volume": "250 ml"
  },
  {
    "type": "GENERIC",
    "id": "test_steelball",
    "symbol": "*",
    "color": "white",
    "name": { "str": "baseball" },
    "category": "veh_parts",
    "description": "A baseball, good for throwing at enemies.  Getting hit with one of these hurts a lot more than you might think.",
    "price": 1000,
    "price_postapoc": 0,
    "material": [ "leather", "lc_steel" ],
    "repairs_with": [ "lc_steel" ],
    "flags": [ "NPC_THROWN" ],
    "weight": "150 g",
    "volume": "250 ml"
  },
  {
    "type": "GENERIC",
    "id": "test_baseball_half_degradation",
    "symbol": "*",
    "color": "white",
    "name": { "str": "baseball" },
    "category": "veh_parts",
    "description": "A baseball, good for throwing at enemies.  Getting hit with one of these hurts a lot more than you might think.",
    "price": 1000,
    "price_postapoc": 0,
    "material": [ "leather" ],
    "flags": [ "NPC_THROWN" ],
    "weight": "150 g",
    "volume": "250 ml",
    "degradation_multiplier": 0.5
  },
  {
    "type": "GENERIC",
    "id": "test_baseball_x2_degradation",
    "symbol": "*",
    "color": "white",
    "name": { "str": "baseball" },
    "category": "veh_parts",
    "description": "A baseball, good for throwing at enemies.  Getting hit with one of these hurts a lot more than you might think.",
    "price": 1000,
    "price_postapoc": 0,
    "material": [ "leather" ],
    "flags": [ "NPC_THROWN" ],
    "weight": "150 g",
    "volume": "250 ml",
    "degradation_multiplier": 2
  },
  {
    "id": "test_glock_degrade",
    "type": "GUN",
    "name": { "str": "Test Glock" },
    "description": "A handgun for testing, based on the Glock 9mm.",
    "weight": "600 g",
    "volume": "500 ml",
    "price": 69000,
    "price_postapoc": 2500,
    "to_hit": -2,
    "material": [ "plastic", "steel" ],
    "symbol": "(",
    "color": "dark_gray",
    "ammo": [ "test_9mm" ],
    "ranged_damage": { "damage_type": "bullet", "amount": -1 },
    "dispersion": 480,
    "durability": 6,
    "blackpowder_tolerance": 48,
    "min_cycle_recoil": 380,
    "skill": "pistol",
    "category": "veh_parts",
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "holster": true,
        "max_contains_volume": "20 L",
        "max_contains_weight": "20 kg",
        "item_restriction": [ "test_glockmag", "test_glockbigmag" ]
      }
    ],
    "melee_damage": { "bash": 8 }
  },
  {
    "id": "test_exo_lense_module",
    "type": "TOOL",
    "name": { "str": "exosuit multi lense zoom module" },
    "description": "A series of strangely shaped hexagonal lenses that flutter about inside your helmet.  As the lenses shift things around you stay perfectly in focus no matter your eyesight or distance.  It can be mounted to an exosuit helmet.",
    "weight": "500 g",
    "volume": "250 ml",
    "price": "10 kUSD",
    "to_hit": -2,
    "material": [ "lvl4ballisticglass", "qt_steel" ],
    "symbol": "(",
    "color": "yellow",
    "flags": [ "CANT_WEAR", "FIX_NEARSIGHT", "FIX_FARSIGHT", "ZOOM", "EXO_HELMET_GADGET" ],
    "melee_damage": { "bash": 6 }
  },
  {
    "id": "test_modular_exosuit",
    "type": "TOOL_ARMOR",
    "name": { "str": "exosuit frame" },
    "description": "This is a standard exosuit frame.  Designed to be modular, it can accept a variety of power supplies, defensive and offensive systems, and utility tools.  Slots exist for the torso, back, arms, and legs.",
    "weight": "45 kg",
    "volume": "140 L",
    "power_armor": true,
    "symbol": "T",
    "looks_like": "power_armor_basic",
    "color": "light_gray",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "name": "Exosuit Underlayer",
        "description": "A series of connections for an underlayer.",
        "flag_restriction": [ "EXO_UNDERLAYER" ],
        "inherits_flags": true,
        "moves": 200
      },
      {
        "pocket_type": "CONTAINER",
        "name": "Helmet compartment (Plate)",
        "description": "This is a mounting point for helmet plating.",
        "ablative": true,
        "flag_restriction": [ "EXO_HELMET_PLATE" ],
        "moves": 120
      },
      {
        "pocket_type": "CONTAINER",
        "name": "Helmet Hardpoint",
        "description": "This is a series of mounts for helmet equipment.",
        "rigid": true,
        "max_contains_volume": "2 L",
        "max_contains_weight": "5 kg",
        "flag_restriction": [ "EXO_HELMET_GADGET" ],
        "inherits_flags": true,
        "moves": 60
      },
      {
        "pocket_type": "CONTAINER",
        "name": "Torso compartment (Plate)",
        "description": "This is a mounting point for torso armor.",
        "ablative": true,
        "rigid": true,
        "max_contains_volume": "10 L",
        "max_contains_weight": "80 kg",
        "flag_restriction": [ "EXO_TORSO_PLATE" ],
        "moves": 120
      },
      {
        "pocket_type": "CONTAINER",
        "name": "Torso hardpoints",
        "description": "This is a mount for storing items in the torso.",
        "rigid": true,
        "max_contains_volume": "4 L",
        "max_contains_weight": "15 kg",
        "max_item_length": "60 cm",
        "flag_restriction": [ "EXO_LARGE_GADGET", "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ],
        "inherits_flags": true,
        "moves": 60
      },
      {
        "pocket_type": "CONTAINER",
        "name": "PSU compartment",
        "description": "This is a mounting point for power supply units and large modules.",
        "rigid": true,
        "max_contains_volume": "25 L",
        "max_contains_weight": "140 kg",
        "max_item_length": "120 cm",
        "flag_restriction": [ "EXO_PSU", "EXO_LARGE_GADGET", "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ],
        "inherits_flags": true,
        "moves": 500
      },
      {
        "pocket_type": "CONTAINER",
        "name": "Arm compartment (Plate)",
        "description": "This is a mounting point for arm armor.",
        "ablative": true,
        "rigid": true,
        "max_contains_volume": "12 L",
        "max_contains_weight": "80 kg",
        "flag_restriction": [ "EXO_ARM_PLATE" ],
        "moves": 120
      },
      {
        "pocket_type": "CONTAINER",
        "name": "Arm hardpoints",
        "description": "This is a mount for storing items on the arms.",
        "rigid": true,
        "max_contains_volume": "10 L",
        "max_contains_weight": "10 kg",
        "flag_restriction": [ "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ],
        "inherits_flags": true,
        "moves": 60
      },
      {
        "pocket_type": "CONTAINER",
        "name": "Leg compartment (Plate)",
        "description": "This is a mounting point for leg armor.",
        "ablative": true,
        "rigid": true,
        "max_contains_volume": "12 L",
        "max_contains_weight": "80 kg",
        "flag_restriction": [ "EXO_LEG_PLATE" ],
        "moves": 120
      },
      {
        "pocket_type": "CONTAINER",
        "name": "Leg hardpoints",
        "description": "This is a mount for storing items on the legs.",
        "rigid": true,
        "max_contains_volume": "10 L",
        "max_contains_weight": "10 kg",
        "flag_restriction": [ "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ],
        "inherits_flags": true,
        "moves": 60
      }
    ],
    "armor": [
      {
        "material": [
          { "type": "plastic", "covered_by_mat": 80, "thickness": 2 },
          { "type": "rubber", "covered_by_mat": 20, "thickness": 2 },
          { "type": "lvl4ballisticglass", "covered_by_mat": 100, "thickness": 2 }
        ],
        "covers": [ "eyes" ],
        "coverage": 100,
        "encumbrance": 100,
        "layers": [ "OUTER" ]
      },
      {
        "material": [ { "type": "plastic", "covered_by_mat": 100, "thickness": 2 } ],
        "covers": [ "head", "mouth", "torso", "arm_l", "arm_r", "leg_l", "leg_r", "foot_l", "foot_r" ],
        "coverage": 40,
        "encumbrance": 20,
        "layers": [ "OUTER" ]
      },
      {
        "material": [ { "type": "plastic", "covered_by_mat": 100, "thickness": 2 } ],
        "covers": [ "hand_l", "hand_r" ],
        "coverage": 40,
        "encumbrance": 20
      }
    ],
    "ammo": "battery",
    "flags": [ "USE_UPS", "STURDY", "WATERPROOF", "ELECTRIC_IMMUNE", "COMBAT_TOGGLEABLE", "OUTER", "DEAF" ],
    "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ACTIVE", "values": [ { "value": "STRENGTH", "add": 10 } ] } ] }
  },
  {
    "id": "test_knife_combat",
    "type": "TOOL",
    "category": "weapons",
    "name": { "str": "combat knife", "str_pl": "combat knives" },
    "description": "A military combat knife.  It is light and extremely sharp, and could be deadly in either the right hands or when attached as a bayonet.",
    "weight": "558 g",
    "volume": "500 ml",
    "longest_side": "30 cm",
    "price": 10000,
    "price_postapoc": 1250,
    "to_hit": { "grip": "weapon", "length": "hand", "surface": "point", "balance": "good" },
    "material": [ "steel", "plastic" ],
    "symbol": ";",
    "color": "dark_gray",
    "gunmod_data": {
      "location": "underbarrel",
      "mod_targets": [ "shotgun", "rifle", "smg", "crossbow" ],
      "mode_modifier": [ [ "REACH", "bayonet", 2, [ "MELEE", "REACH_ATTACK" ] ] ],
      "install_time": "5 s"
    },
    "use_action": { "type": "deploy_furn", "furn_type": "f_cardboard_box" },
    "min_skills": [ [ "weapon", 2 ], [ "melee", 1 ] ],
    "techniques": [ "RAPID_TEST" ],
    "qualities": [ [ "CUT", 2 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 19 ] ],
    "thrown_damage": [ { "damage_type": "stab", "amount": 14 } ],
    "flags": [ "DURABLE_MELEE", "SHEATH_KNIFE", "NPC_THROWN", "ALLOWS_BODY_BLOCK", "NO_SALVAGE" ],
    "weapon_category": [ "KNIVES" ],
    "melee_damage": { "bash": 4, "stab": 26 }
  },
  {
    "id": "test_armor_chitin",
    "type": "ARMOR",
    "category": "armor",
    "name": { "str": "chitinous armor" },
    "description": "Leg and body armor made from the exoskeletons of insects.",
    "weight": "2632 g",
    "volume": "17500 ml",
    "price": 120000,
    "price_postapoc": 3000,
    "to_hit": -5,
    "material": [ "chitin" ],
    "symbol": "[",
    "looks_like": "armor_larmor",
    "color": "green",
    "warmth": 10,
    "longest_side": "60 cm",
    "material_thickness": 4,
    "environmental_protection": 6,
    "environmental_protection_with_filter": 10,
    "flags": [ "STURDY", "OUTER" ],
    "armor": [ { "encumbrance": 10, "coverage": 90, "covers": [ "torso", "leg_l", "leg_r" ] } ],
    "melee_damage": { "bash": 2 }
  },
  {
    "id": "test_armor_chitin_copy",
    "type": "ARMOR",
    "name": { "str": "XL chitinous armor" },
    "copy-from": "test_armor_chitin",
    "proportional": { "weight": 1.125, "volume": 1.13, "price": 1.25 },
    "extend": { "flags": [ "OVERSIZE" ] }
  },
  {
    "id": "test_armor_chitin_copy_w_armor",
    "type": "ARMOR",
    "name": { "str": "XL chitinous armor" },
    "copy-from": "test_armor_chitin",
    "proportional": { "weight": 1.125, "volume": 1.13, "price": 1.25 },
    "extend": { "flags": [ "OVERSIZE" ] },
    "armor": [ { "encumbrance": 10, "coverage": 90, "covers": [ "torso", "leg_l", "leg_r" ] } ]
  },
  {
    "id": "test_armor_chitin_copy_prop",
    "type": "ARMOR",
    "name": { "str": "XL chitinous armor" },
    "copy-from": "test_armor_chitin",
    "proportional": {
      "weight": 1.125,
      "volume": 1.13,
      "price": 1.25,
      "material_thickness": 1.2,
      "environmental_protection": 1.2,
      "environmental_protection_with_filter": 1.2
    },
    "extend": { "flags": [ "OVERSIZE" ] }
  },
  {
    "id": "test_armor_chitin_copy_w_armor_prop",
    "type": "ARMOR",
    "name": { "str": "XL chitinous armor" },
    "copy-from": "test_armor_chitin",
    "proportional": {
      "weight": 1.125,
      "volume": 1.13,
      "price": 1.25,
      "material_thickness": 1.2,
      "environmental_protection": 1.2,
      "environmental_protection_with_filter": 1.2
    },
    "extend": { "flags": [ "OVERSIZE" ] },
    "armor": [ { "encumbrance": 10, "coverage": 90, "covers": [ "torso", "leg_l", "leg_r" ] } ]
  },
  {
    "id": "test_armor_chitin_copy_rel",
    "type": "ARMOR",
    "name": { "str": "XL chitinous armor" },
    "copy-from": "test_armor_chitin",
    "relative": {
      "weight": 200,
      "volume": 1000,
      "price": 100,
      "material_thickness": 2,
      "environmental_protection": 2,
      "environmental_protection_with_filter": 2
    },
    "extend": { "flags": [ "OVERSIZE" ] }
  },
  {
    "id": "test_armor_chitin_copy_w_armor_rel",
    "type": "ARMOR",
    "name": { "str": "XL chitinous armor" },
    "copy-from": "test_armor_chitin",
    "relative": {
      "weight": 200,
      "volume": 1000,
      "price": 100,
      "material_thickness": 2,
      "environmental_protection": 2,
      "environmental_protection_with_filter": 2
    },
    "extend": { "flags": [ "OVERSIZE" ] },
    "armor": [ { "encumbrance": 10, "coverage": 90, "covers": [ "torso", "leg_l", "leg_r" ] } ]
  },
  {
    "id": "test_goggles_welding",
    "type": "ARMOR",
    "name": { "str": "pair of welding goggles", "str_pl": "pairs of welding goggles" },
    "description": "A dark pair of goggles.  They make seeing very difficult, but protect you from bright flashes.",
    "weight": "153 g",
    "volume": "250 ml",
    "price": 1400,
    "price_postapoc": 500,
    "to_hit": -3,
    "material": [ "plastic" ],
    "symbol": "[",
    "looks_like": "glasses_safety",
    "color": "dark_gray",
    "warmth": 10,
    "material_thickness": 4,
    "environmental_protection": 6,
    "qualities": [ [ "GLARE", 1 ] ],
    "flags": [ "SUN_GLASSES", "FLASH_PROTECTION" ],
    "armor": [ { "encumbrance": 60, "coverage": 100, "covers": [ "eyes" ], "rigid_layer_only": true } ]
  },
  {
    "id": "test_longshirt",
    "type": "ARMOR",
    "name": { "str": "debug long-sleeved shirt" },
    "description": "A long-sleeved cotton shirt.",
    "weight": "146 g",
    "volume": "750 ml",
    "price": 2000,
    "price_postapoc": 50,
    "material": [ "cotton" ],
    "symbol": "[",
    "looks_like": "dress_shirt",
    "color": "blue",
    "warmth": 5,
    "material_thickness": 0.2,
    "flags": [ "VARSIZE" ],
    "armor": [ { "encumbrance": 3, "coverage": 90, "covers": [ "torso", "arm_l", "arm_r" ] } ]
  },
  {
    "id": "test_jacket_jean",
    "type": "ARMOR",
    "name": { "str": "jean jacket" },
    "description": "A jacket made from denim.",
    "weight": "800 g",
    "volume": "3250 ml",
    "price": 4000,
    "price_postapoc": 250,
    "material": [ "cotton" ],
    "symbol": "[",
    "looks_like": "jacket_windbreaker",
    "color": "light_blue",
    "armor": [
      { "covers": [ "torso" ], "coverage": 90, "encumbrance": [ 9, 11 ] },
      { "covers": [ "arm_l", "arm_r" ], "coverage": 90, "encumbrance": [ 9, 9 ] }
    ],
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "800 ml",
        "max_contains_weight": "1 kg",
        "max_item_length": "13 cm",
        "moves": 80
      },
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "800 ml",
        "max_contains_weight": "1 kg",
        "max_item_length": "13 cm",
        "moves": 80
      }
    ],
    "warmth": 30,
    "material_thickness": 0.2,
    "flags": [ "VARSIZE", "POCKETS", "OUTER" ]
  },
  {
    "id": "test_postman_shirt",
    "type": "ARMOR",
    "name": { "str": "mail carrier shirt" },
    "description": "A light blue button down shirt with a couple of pockets in front and the US postal service logo embroidered on it.",
    "weight": "110 g",
    "volume": "500 ml",
    "price": 1500,
    "price_postapoc": 50,
    "material": [ "cotton" ],
    "symbol": "[",
    "looks_like": "polo_shirt",
    "color": "light_blue",
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "800 ml",
        "max_contains_weight": "3 kg",
        "max_item_length": "15 cm",
        "moves": 80
      },
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "800 ml",
        "max_contains_weight": "3 kg",
        "max_item_length": "15 cm",
        "moves": 80
      }
    ],
    "warmth": 5,
    "material_thickness": 0.1,
    "flags": [ "VARSIZE" ],
    "armor": [ { "coverage": 90, "covers": [ "torso" ] } ]
  },
  {
    "id": "test_boxing_gloves",
    "type": "ARMOR",
    "name": { "str": "pair of boxing gloves", "str_pl": "pairs of boxing gloves" },
    "description": "A pair of big, red, 8 oz. boxing gloves.  These are made from thick leather.",
    "weight": "453 g",
    "volume": "1 L",
    "price": 4000,
    "price_postapoc": 10,
    "to_hit": 1,
    "material": [ "leather" ],
    "symbol": "[",
    "looks_like": "gloves_leather",
    "color": "red",
    "warmth": 20,
    "material_thickness": 3,
    "environmental_protection": 3,
    "flags": [ "VARSIZE", "OVERSIZE", "STURDY" ],
    "armor": [ { "encumbrance": 70, "coverage": 100, "covers": [ "hand_l", "hand_r" ] } ]
  },
  {
    "id": "test_jumpsuit_lycra",
    "type": "ARMOR",
    "name": { "str": "test_jumpsuit_lycra" },
    "description": "Lycra test jumpsuit",
    "weight": "610 g",
    "volume": "3500 ml",
    "price": 8900,
    "price_postapoc": 50,
    "to_hit": -3,
    "material": [ "lycra" ],
    "symbol": "[",
    "looks_like": "touring_suit",
    "color": "yellow",
    "armor": [
      { "covers": [ "torso" ], "coverage": 95, "encumbrance": [ 1, 2 ] },
      { "covers": [ "arm_l", "arm_r" ], "coverage": 95, "encumbrance": [ 1, 1 ] },
      { "covers": [ "leg_l", "leg_r" ], "coverage": 95, "encumbrance": [ 1, 2 ] },
      { "covers": [ "foot_l", "foot_r" ], "coverage": 95, "encumbrance": [ 1, 2 ] }
    ],
    "warmth": 60,
    "material_thickness": 0.2
  },
  {
    "id": "test_jumpsuit_fur",
    "type": "ARMOR",
    "name": { "str": "test_jumpsuit_fur" },
    "description": "Fur test jumpsuit",
    "weight": "610 g",
    "volume": "3500 ml",
    "price": 8900,
    "price_postapoc": 50,
    "to_hit": -3,
    "material": [ "fur" ],
    "symbol": "[",
    "looks_like": "touring_suit",
    "color": "yellow",
    "armor": [
      { "covers": [ "torso" ], "coverage": 95, "encumbrance": [ 1, 2 ] },
      { "covers": [ "arm_l", "arm_r" ], "coverage": 95, "encumbrance": [ 1, 1 ] },
      { "covers": [ "leg_l", "leg_r" ], "coverage": 95, "encumbrance": [ 1, 2 ] },
      { "covers": [ "foot_l", "foot_r" ], "coverage": 95, "encumbrance": [ 1, 2 ] }
    ],
    "warmth": 60,
    "material_thickness": 0.2
  },
  {
    "id": "test_jumpsuit_cotton",
    "type": "ARMOR",
    "name": { "str": "test_jumpsuit_cotton" },
    "description": "Cotton test jumpsuit",
    "weight": "610 g",
    "volume": "3500 ml",
    "price": 8900,
    "price_postapoc": 50,
    "to_hit": -3,
    "material": [ "cotton" ],
    "symbol": "[",
    "looks_like": "touring_suit",
    "color": "yellow",
    "armor": [
      { "covers": [ "torso" ], "coverage": 95, "encumbrance": [ 1, 2 ] },
      { "covers": [ "arm_l", "arm_r" ], "coverage": 95, "encumbrance": [ 1, 1 ] },
      { "covers": [ "leg_l", "leg_r" ], "coverage": 95, "encumbrance": [ 1, 2 ] },
      { "covers": [ "foot_l", "foot_r" ], "coverage": 95, "encumbrance": [ 1, 2 ] }
    ],
    "warmth": 60,
    "material_thickness": 0.2
  },
  {
    "id": "test_winglets",
    "//": "Only for the test wing body parts",
    "type": "ARMOR",
    "name": { "str": "pair of gauntlets", "str_pl": "pairs of gauntlets" },
    "description": "A pair of big, red, 8 oz. gauntlets.  These are made from thick leather.",
    "weight": "453 g",
    "volume": "1 L",
    "price": 4000,
    "price_postapoc": 10,
    "to_hit": 1,
    "material": [ "leather" ],
    "symbol": "[",
    "looks_like": "gloves_leather",
    "color": "red",
    "warmth": 20,
    "material_thickness": 3,
    "environmental_protection": 3,
    "flags": [ "VARSIZE", "OVERSIZE", "STURDY" ],
    "armor": [ { "encumbrance": 70, "coverage": 100, "covers": [ "test_bird_wing_l", "test_bird_wing_r" ] } ]
  },
  {
    "id": "test_robofac_armor_rig",
    "type": "ARMOR",
    "category": "ARMOR",
    "looks_like": "poncho",
    "name": { "str": "Hub 01 modular defense system" },
    "description": "A custom-designed extremely thick ripstop and aramid poncho for the true frontier explorer.  Striped in brown and blue, the white seal of Hub 01 is emblazoned proudly on the front.  Integrating quick access pouches attached to a waist drawstring and two waterproof internal dry bags it touts plenty of storage.  This poncho also has notable clips and velcro just below the waist and around the shoulders, perhaps something attaches there.",
    "//": "at least 3x thicker than a normal poncho",
    "weight": "960 g",
    "volume": "2500 ml",
    "price": 4000,
    "price_postapoc": 750,
    "symbol": "[",
    "material": [ "nylon", "kevlar" ],
    "color": "light_gray",
    "warmth": 5,
    "flags": [ "STURDY", "OUTER", "WATERPROOF", "VARSIZE", "RAINPROOF", "HOOD" ],
    "material_thickness": 3,
    "pocket_data": [
      {
        "description": "Watertight internal reservoir",
        "pocket_type": "CONTAINER",
        "max_contains_volume": "1500 ml",
        "watertight": true,
        "spoil_multiplier": 0.8,
        "max_contains_weight": "4 kg",
        "moves": 120
      },
      {
        "description": "Watertight internal reservoir",
        "pocket_type": "CONTAINER",
        "max_contains_volume": "1500 ml",
        "watertight": true,
        "spoil_multiplier": 0.8,
        "max_contains_weight": "4 kg",
        "moves": 120
      },
      {
        "description": "Quick access pouches",
        "pocket_type": "CONTAINER",
        "max_contains_volume": "1000 ml",
        "max_contains_weight": "4 kg",
        "max_item_length": "270 mm",
        "moves": 80
      },
      {
        "description": "Quick access pouches",
        "pocket_type": "CONTAINER",
        "max_contains_volume": "1000 ml",
        "max_contains_weight": "4 kg",
        "max_item_length": "270 mm",
        "moves": 80
      },
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "5000 ml",
        "max_contains_weight": "5 kg",
        "moves": 200,
        "description": "Hooks for an armored mantle",
        "flag_restriction": [ "ABLATIVE_MANTLE" ]
      },
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "4000 ml",
        "max_contains_weight": "5 kg",
        "moves": 200,
        "description": "Hooks for an armored skirt",
        "flag_restriction": [ "ABLATIVE_SKIRT" ]
      },
      {
        "pocket_type": "CONTAINER",
        "max_contains_volume": "500 ml",
        "max_contains_weight": "1100 g",
        "max_item_length": "70 cm",
        "moves": 200,
        "holster": true,
        "description": "Strap for a gun barrel",
        "item_restriction": [ "robofac_gun_ar", "robofac_gun_smg", "robofac_gun_dmr", "robofac_gun_shotgun" ]
      }
    ],
    "armor": [
      { "encumbrance": [ 4, 8 ], "coverage": 100, "cover_vitals": 90, "covers": [ "torso" ], "layers": [ "OUTER", "BELTED" ] },
      {
        "encumbrance": [ 4, 4 ],
        "coverage": 100,
        "cover_vitals": 90,
        "covers": [ "arm_l", "arm_r" ],
        "specifically_covers": [ "arm_shoulder_l", "arm_shoulder_r", "arm_upper_l", "arm_upper_r" ]
      },
      {
        "encumbrance": [ 4, 4 ],
        "coverage": 100,
        "cover_vitals": 90,
        "covers": [ "leg_l", "leg_r" ],
        "specifically_covers": [ "leg_hip_l", "leg_hip_r", "leg_upper_r", "leg_upper_l" ]
      }
    ]
  },
  {
    "id": "test_load_bearing_vest",
    "type": "ARMOR",
    "name": { "str": "load bearing vest" },
    "description": "This vest covered in MOLLE webbing is designed to attach pouches, holsters and other PALS compatible accessories.  Preferred by some soldiers over directly attaching accessories to a ballistic vest as they can then be easily separated.",
    "weight": "1250 g",
    "volume": "1500 ml",
    "looks_like": "vest",
    "price": 7400,
    "price_postapoc": 3000,
    "material": [ "nylon" ],
    "symbol": "[",
    "color": "dark_gray",
    "material_thickness": 1.5,
    "use_action": [ { "type": "attach_molle", "size": 6 }, { "type": "detach_molle" } ],
    "flags": [ "WATER_FRIENDLY", "BELTED" ],
    "armor": [
      {
        "encumbrance": 2,
        "coverage": 85,
        "covers": [ "torso" ],
        "specifically_covers": [ "torso_upper" ],
        "volume_encumber_modifier": 0.25
      }
    ]
  },
  {
    "id": "test_ballistic_vest",
    "type": "ARMOR",
    "category": "armor",
    "//": "Based on US Army SPCS",
    "name": { "str": "US ballistic vest" },
    "description": "Ballistic armor with specialized pockets on the front, back and sides for armored plates.  The soft armor plate carrier is still protective but it won't stop high energy projectiles.",
    "weight": "2911 g",
    "volume": "6 L",
    "price": 160000,
    "price_postapoc": 1000,
    "symbol": "[",
    "material": [ "nylon", "kevlar" ],
    "color": "light_gray",
    "warmth": 15,
    "flags": [ "STURDY", "OUTER", "WATER_FRIENDLY" ],
    "use_action": [ { "type": "attach_molle", "size": 6 }, { "type": "detach_molle" } ],
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "1600 ml",
        "max_contains_weight": "5 kg",
        "moves": 200,
        "description": "Pocket for front plate",
        "flag_restriction": [ "ABLATIVE_LARGE" ]
      },
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "1600 ml",
        "max_contains_weight": "5 kg",
        "moves": 200,
        "description": "Pocket for back plate",
        "flag_restriction": [ "ABLATIVE_LARGE" ]
      },
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "800 ml",
        "max_contains_weight": "2 kg",
        "moves": 200,
        "description": "Pocket for right side plate",
        "flag_restriction": [ "ABLATIVE_MEDIUM" ]
      },
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "800 ml",
        "max_contains_weight": "2 kg",
        "moves": 200,
        "description": "Pocket for left side plate",
        "flag_restriction": [ "ABLATIVE_MEDIUM" ]
      }
    ],
    "armor": [
      {
        "material": [
          { "type": "nylon", "covered_by_mat": 100, "thickness": 3.0 },
          { "type": "kevlar", "covered_by_mat": 95, "thickness": 3.0 }
        ],
        "encumbrance": 6,
        "coverage": 100,
        "cover_vitals": 90,
        "covers": [ "torso" ],
        "volume_encumber_modifier": 0.3
      }
    ]
  },
  {
    "id": "test_complex_phase",
    "type": "TOOL_ARMOR",
    "category": "clothing",
    "symbol": "[",
    "color": "light_gray",
    "name": { "str": "phase immersion suit" },
    "looks_like": "rm13_armor",
    "description": "Covered in interlocking plates of reflective metal, this advanced suit resembles both plate armor and an astronaut's spacesuit.  Designed to protect its wearer during extradimensional excursions, it offers unparalleled environmental protection, both in this Earth and beyond.  Use it to turn it on.",
    "price": 150000,
    "price_postapoc": 15000,
    "material": [ "carbide", "qt_steel", "lvl4ballisticglass", "superalloy" ],
    "weight": "9500 g",
    "volume": "4500 ml",
    "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 7000 } } ],
    "ammo": "battery",
    "use_action": {
      "type": "transform",
      "msg": "Initiating\nRunning suit integrity diagnostics…\nAll systems operational.",
      "target": "phase_immersion_suit_on",
      "active": true,
      "need_charges": 1,
      "need_charges_msg": "Warning: Operating on minimal power.  Protection compromised."
    },
    "warmth": 30,
    "environmental_protection": 10,
    "material_thickness": 3,
    "flags": [
      "RAD_PROOF",
      "PORTAL_PROOF",
      "STURDY",
      "WATERPROOF",
      "HYGROMETER",
      "THERMOMETER",
      "RAINPROOF",
      "WATCH",
      "ALARMCLOCK",
      "SWIM_GOGGLES",
      "SUN_GLASSES",
      "NO_REPAIR",
      "NANOFAB_REPAIR",
      "PADDED",
      "USE_UPS",
      "NO_UNLOAD",
      "COMBAT_TOGGLEABLE",
      "UNBREAKABLE_MELEE"
    ],
    "relic_data": { "passive_effects": [ { "id": "ench_climate_control_all" } ] },
    "armor": [
      {
        "material": [ { "type": "lvl4ballisticglass", "covered_by_mat": 100, "thickness": 1.0 } ],
        "encumbrance": 10,
        "coverage": 100,
        "covers": [ "mouth", "eyes" ],
        "layers": [ "OUTER" ],
        "volume_encumber_modifier": 0
      },
      {
        "material": [
          { "type": "carbide", "covered_by_mat": 60, "thickness": 1.0 },
          { "type": "qt_steel", "covered_by_mat": 30, "thickness": 1.0 },
          { "type": "lvl4ballisticglass", "covered_by_mat": 100, "thickness": 1.0 }
        ],
        "//": "no weight is directly on your head",
        "encumbrance": 0,
        "coverage": 100,
        "covers": [ "head" ],
        "layers": [ "OUTER" ],
        "volume_encumber_modifier": 0
      },
      {
        "material": [
          { "type": "carbide", "covered_by_mat": 100, "thickness": 1.0 },
          { "type": "qt_steel", "covered_by_mat": 80, "thickness": 1.0 },
          { "type": "superalloy", "covered_by_mat": 40, "thickness": 1.0 },
          { "type": "superalloy", "covered_by_mat": 40, "thickness": 1.0 }
        ],
        "encumbrance": 10,
        "coverage": 100,
        "covers": [ "torso" ],
        "volume_encumber_modifier": 0
      },
      {
        "material": [
          { "type": "carbide", "covered_by_mat": 100, "thickness": 1.0 },
          { "type": "qt_steel", "covered_by_mat": 60, "thickness": 1.0 }
        ],
        "//": "hands are lighter armored",
        "encumbrance": 5,
        "coverage": 100,
        "covers": [ "hand_l", "hand_r" ],
        "volume_encumber_modifier": 0
      },
      {
        "material": [
          { "type": "carbide", "covered_by_mat": 100, "thickness": 1.0 },
          { "type": "qt_steel", "covered_by_mat": 80, "thickness": 3.0 }
        ],
        "//": "feet are heavier armored",
        "encumbrance": 10,
        "coverage": 100,
        "covers": [ "foot_l", "foot_r" ],
        "layers": [ "NORMAL", "OUTER" ],
        "volume_encumber_modifier": 0
      },
      {
        "material": [
          { "type": "carbide", "covered_by_mat": 100, "thickness": 1.0 },
          { "type": "qt_steel", "covered_by_mat": 75, "thickness": 0.5 },
          { "type": "superalloy", "covered_by_mat": 40, "thickness": 0.5 },
          { "type": "superalloy", "covered_by_mat": 40, "thickness": 0.5 }
        ],
        "//": "limbs are lighter armored than torso but still strongly armored this is the non joints so extra hardsteel",
        "encumbrance": 10,
        "coverage": 100,
        "covers": [ "arm_l", "arm_r", "leg_l", "leg_r" ],
        "volume_encumber_modifier": 0
      }
    ]
  },
  {
    "id": "test_ghost_vest",
    "type": "ARMOR",
    "category": "armor",
    "//": "Vest with no coverage to test if it still protects",
    "name": { "str": "US ghost vest" },
    "description": "Ballistic armor with specialized pockets on the front, back and sides for armored plates.  The soft armor plate carrier is still protective but it won't stop high energy projectiles.",
    "weight": "2911 g",
    "volume": "6 L",
    "price": 160000,
    "price_postapoc": 1000,
    "symbol": "[",
    "material": [ "nylon", "kevlar" ],
    "color": "light_gray",
    "warmth": 15,
    "flags": [ "STURDY", "OUTER", "WATER_FRIENDLY" ],
    "use_action": [ { "type": "attach_molle", "size": 6 }, { "type": "detach_molle" } ],
    "pocket_data": [
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "1600 ml",
        "max_contains_weight": "5 kg",
        "moves": 200,
        "description": "Pocket for front plate",
        "flag_restriction": [ "ABLATIVE_LARGE" ]
      },
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "1600 ml",
        "max_contains_weight": "5 kg",
        "moves": 200,
        "description": "Pocket for back plate",
        "flag_restriction": [ "ABLATIVE_LARGE" ]
      },
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "800 ml",
        "max_contains_weight": "2 kg",
        "moves": 200,
        "description": "Pocket for right side plate",
        "flag_restriction": [ "ABLATIVE_MEDIUM" ]
      },
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "800 ml",
        "max_contains_weight": "2 kg",
        "moves": 200,
        "description": "Pocket for left side plate",
        "flag_restriction": [ "ABLATIVE_MEDIUM" ]
      },
      {
        "pocket_type": "CONTAINER",
        "ablative": true,
        "volume_encumber_modifier": 0,
        "max_contains_volume": "800 ml",
        "max_contains_weight": "2 kg",
        "moves": 200,
        "description": "Pocket for skirt",
        "flag_restriction": [ "ABLATIVE_MEDIUM" ]
      }
    ],
    "armor": [ { "encumbrance": 2, "coverage": 100, "covers": [ "torso" ], "specifically_covers": [ "torso_lower" ] } ]
  },
  {
    "id": "test_plate_skirt",
    "type": "ARMOR",
    "category": "armor",
    "name": { "str": "ESAPI ballistic plate" },
    "description": "A polygonal ceramic ballistic plate with a slightly concave profile.  Its inner surface is coated with Ultra High Molecular Weight Polyethylene, and is labeled \"TOP\", while its outer surface is labeled \"STRIKE FACE\".  This is intended to be worn in a ballistic vest and can withstand several high energy rifle rounds before breaking.",
    "weight": "2500 g",
    "volume": "1533 ml",
    "price": 60000,
    "price_postapoc": 100,
    "material": [ "ceramic" ],
    "symbol": ",",
    "color": "dark_gray",
    "material_thickness": 25,
    "non_functional": "destroyed_large_ceramic_plate",
    "flags": [ "ABLATIVE_MEDIUM", "CANT_WEAR" ],
    "armor": [ { "encumbrance": 2, "coverage": 45, "covers": [ "leg_l" ], "specifically_covers": [ "leg_hip_l" ] } ]
  },
  {
    "id": "test_plate_skirt_super",
    "type": "ARMOR",
    "category": "armor",
    "name": { "str": "Super Leg Skirt" },
    "//": "this item is designed to check that off limb ablative armor protects the player",
    "description": "A polygonal ceramic ballistic plate with a slightly concave profile.  Its inner surface is coated with Ultra High Molecular Weight Polyethylene, and is labeled \"TOP\", while its outer surface is labeled \"STRIKE FACE\".  This is intended to be worn in a ballistic vest and can withstand several high energy rifle rounds before breaking.",
    "weight": "2500 g",
    "volume": "1533 ml",
    "price": 60000,
    "price_postapoc": 100,
    "material": [ "ceramic" ],
    "symbol": ",",
    "color": "dark_gray",
    "material_thickness": 1000,
    "non_functional": "destroyed_large_ceramic_plate",
    "flags": [ "ABLATIVE_MEDIUM", "CANT_WEAR" ],
    "armor": [ { "encumbrance": 2, "coverage": 100, "covers": [ "leg_l" ] } ]
  },
  {
    "id": "test_plate",
    "type": "ARMOR",
    "category": "armor",
    "name": { "str": "ESAPI ballistic plate" },
    "description": "A polygonal ceramic ballistic plate with a slightly concave profile.  Its inner surface is coated with Ultra High Molecular Weight Polyethylene, and is labeled \"TOP\", while its outer surface is labeled \"STRIKE FACE\".  This is intended to be worn in a ballistic vest and can withstand several high energy rifle rounds before breaking.",
    "weight": "2500 g",
    "volume": "1533 ml",
    "price": 60000,
    "price_postapoc": 100,
    "material": [ "ceramic" ],
    "symbol": ",",
    "color": "dark_gray",
    "material_thickness": 25,
    "non_functional": "destroyed_large_ceramic_plate",
    "flags": [ "ABLATIVE_LARGE", "CANT_WEAR" ],
    "armor": [ { "encumbrance": 2, "coverage": 45, "covers": [ "torso" ], "specifically_covers": [ "torso_upper" ] } ]
  },
  {
    "id": "test_armguard",
    "type": "ARMOR",
    "category": "armor",
    "name": { "str": "mild test arm guard" },
    "description": "An armguard, 1.75mm at the thickest.  This one has been made with mild steel.",
    "weight": "3333 g",
    "volume": "2916 ml",
    "price": 60000,
    "price_postapoc": 12000,
    "to_hit": -5,
    "symbol": "[",
    "looks_like": "armor_larmor",
    "material": [ "lc_steel", "lc_steel_chain" ],
    "color": "light_gray",
    "warmth": 20,
    "longest_side": "60 cm",
    "sided": true,
    "material_thickness": 4,
    "flags": [ "OUTER", "STURDY", "CONDUCTIVE", "BLOCK_WHILE_WORN" ],
    "armor": [
      {
        "material": [
          { "type": "lc_steel", "covered_by_mat": 95, "thickness": 0.55 },
          { "type": "lc_steel_chain", "covered_by_mat": 100, "thickness": 1.2 },
          { "type": "leather", "covered_by_mat": 1, "thickness": 1.0 }
        ],
        "covers": [ "arm_l", "arm_r" ],
        "specifically_covers": [ "arm_lower_r", "arm_lower_l", "arm_elbow_r", "arm_elbow_l", "arm_upper_r", "arm_upper_l" ],
        "coverage": 100,
        "encumbrance": 15
      }
    ],
    "melee_damage": { "bash": 8 }
  },
  {
    "id": "test_consolidate",
    "type": "ARMOR",
    "name": { "str": "Item that should be simpler" },
    "description": "This item should have only 1 armor entry in game since these three are identical.",
    "weight": "1000 g",
    "volume": "1500 ml",
    "price": 5000,
    "price_postapoc": 50,
    "material": [ "cotton" ],
    "symbol": "[",
    "looks_like": "robe",
    "color": "white",
    "warmth": 10,
    "material_thickness": 0.5,
    "flags": [ "VARSIZE", "STURDY" ],
    "armor": [
      { "covers": [ "torso" ], "specifically_covers": [ "torso_lower" ], "coverage": 100, "encumbrance": 10 },
      { "covers": [ "arm_l", "arm_r" ], "coverage": 100, "encumbrance": 10 },
      { "covers": [ "leg_l", "leg_r" ], "coverage": 100, "encumbrance": 10 }
    ]
  },
  {
    "id": "test_food",
    "type": "GENERIC",
    "name": { "str_sp": "food" },
    "description": "Item to test plural form, which is the same as singular - food.",
    "weight": "1 g",
    "volume": "1 ml",
    "symbol": "?",
    "color": "dark_gray"
  },
  {
    "id": "test_oxygen",
    "type": "GENERIC",
    "name": { "str_sp": "oxygen" },
    "description": "Item to test plural form, which is the same as singular - oxygen.",
    "weight": "5 g",
    "volume": "1 ml",
    "symbol": "?",
    "color": "dark_gray"
  },
  {
    "id": "test_item",
    "type": "GENERIC",
    "name": { "str": "item" },
    "description": "Item to test plural form - items.",
    "weight": "1 g",
    "volume": "1 ml",
    "symbol": "?",
    "color": "dark_gray"
  },
  {
    "id": "test_test_item",
    "type": "GENERIC",
    "name": { "str": "test item" },
    "description": "Item to test plural form - test items.",
    "weight": "1 g",
    "volume": "1 ml",
    "symbol": "?",
    "color": "dark_gray"
  },
  {
    "id": "test_lorry",
    "type": "GENERIC",
    "name": { "str": "lorry", "str_pl": "lorries" },
    "description": "Item to test plural form - lorries.",
    "weight": "1 g",
    "volume": "1 ml",
    "symbol": "?",
    "color": "dark_gray"
  },
  {
    "id": "test_mass",
    "type": "GENERIC",
    "name": { "str": "mass", "str_pl": "masses" },
    "description": "Item to test plural form - masses.",
    "weight": "1 g",
    "volume": "1 ml",
    "symbol": "?",
    "color": "dark_gray"
  },
  {
    "id": "test_block_of_cheese",
    "type": "GENERIC",
    "name": { "str": "block of cheese", "str_pl": "blocks of cheese" },
    "description": "Item to test plural form.",
    "weight": "1 g",
    "volume": "1 ml",
    "symbol": "?",
    "color": "dark_gray"
  },
  {
    "id": "test_pile_of_dirt",
    "type": "GENERIC",
    "name": { "str": "pile of dirt", "str_pl": "piles of dirt" },
    "description": "Item to test plural form.",
    "weight": "1 g",
    "volume": "1 ml",
    "symbol": "?",
    "color": "dark_gray"
  },
  {
    "id": "test_book",
    "type": "BOOK",
    "name": { "str": "Unit Testing Principles", "str_pl": "copies of Unit Testing Principles" },
    "description": "Book about testing to test plural form.",
    "weight": "1587 g",
    "volume": "1500 ml",
    "symbol": "?",
    "color": "blue",
    "skill": "computer",
    "required_level": 0,
    "max_level": 5,
    "fun": -1
  },
  {
    "id": "test_mag",
    "type": "BOOK",
    "name": { "str": "Journal of Testing", "str_pl": "issues of Journal of Testing" },
    "description": "Issue about testing to test plural form.",
    "weight": "60 g",
    "volume": "250 ml",
    "material": [ "paper" ],
    "symbol": "?",
    "color": "pink",
    "skill": "computer",
    "max_level": 1,
    "intelligence": 2,
    "time": "7 m"
  },
  {
    "id": "test_ups",
    "type": "TOOL",
    "name": { "str": "UPS3000", "str_pl": "UPS3000es" },
    "description": "This UPS is better",
    "weight": "680 g",
    "volume": "2500 ml",
    "price": 280000,
    "price_postapoc": 1500,
    "to_hit": -1,
    "material": [ "aluminum", "plastic" ],
    "symbol": ";",
    "color": "light_gray",
    "ammo": [ "battery" ],
    "flags": [ "IS_UPS" ],
    "pocket_data": [
      {
        "pocket_type": "MAGAZINE_WELL",
        "flag_restriction": [ "BATTERY_HEAVY" ],
        "default_magazine": "heavy_plus_battery_cell"
      }
    ],
    "melee_damage": { "bash": 8 }
  },
  {
    "type": "GENERIC",
    "id": "test_rock_cheese",
    "category": "spare_parts",
    "symbol": ",",
    "color": "light_gray",
    "name": { "str": "TEST rock cheese" },
    "description": "A rock that runs into cheese via timer.",
    "price": 0,
    "price_postapoc": 0,
    "material": [ "stone" ],
    "weight": "100 g",
    "volume": "250 ml",
    "to_hit": -3,
    "melee_damage": { "bash": 1 },
    "revert_to": "cheese_hard"
  },
  {
    "type": "COMESTIBLE",
    "comestible_type": "FOOD",
    "id": "test_100_kcal",
    "category": "spare_parts",
    "symbol": ",",
    "color": "light_gray",
    "name": { "str": "TEST rock cheese" },
    "description": "A perfectly divided 100kcal portion of pure food.",
    "price": 0,
    "spoils_in": "360 days",
    "calories": 100,
    "material": [ "stone" ],
    "weight": "100 g",
    "volume": "250 ml",
    "to_hit": -3,
    "melee_damage": { "bash": 1 }
  },
  {
    "type": "COMESTIBLE",
    "comestible_type": "FOOD",
    "id": "test_200_kcal",
    "category": "spare_parts",
    "symbol": ",",
    "color": "light_gray",
    "name": { "str": "TEST 200kcal recipe inherited" },
    "description": "Two 100kcal portions of pure food smashed together by a rude survivor.  Not a sandwich.",
    "price": 0,
    "spoils_in": "360 days",
    "//": "The purpose of this item is to make sure it gives 200kcal when crafted from 100+100, and not the set calories",
    "calories": 185,
    "material": [ "stone" ],
    "weight": "100 g",
    "volume": "250 ml",
    "to_hit": -3,
    "melee_damage": { "bash": 1 }
  }
]
