summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2024-03-12 21:07:37 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2024-03-12 21:07:37 -0700
commit8654e76b2831112f2b24e8f85b2bd58ea7e01506 (patch)
tree934e6471136df2a6b5042bb6cda3a2b55799a98e
parentFix lab coat and army winter coat storage. (diff)
downloadcataclysm-bn-mod_armor-rebalance-8654e76b2831112f2b24e8f85b2bd58ea7e01506.tar.xz
Add and fix many vanilla items.
Also port the garter belt and garter knife sheath from dda.
-rw-r--r--json/items/armor/masks.json10
-rw-r--r--json/items/armor/sheath.json95
-rw-r--r--json/items/armor/storage.json20
-rw-r--r--json/items/armor/suits_protection.json168
-rw-r--r--json/items/armor/swimming.json13
-rw-r--r--json/items/armor/torso_armor.json55
-rw-r--r--json/items/armor/torso_clothes.json88
-rw-r--r--json/items/armor/undergarments.json21
-rw-r--r--json/recipes/armor/storage.json35
-rw-r--r--json/recipes/armor/torso.json14
10 files changed, 492 insertions, 27 deletions
diff --git a/json/items/armor/masks.json b/json/items/armor/masks.json
index 6a3ab21..1d7bf02 100644
--- a/json/items/armor/masks.json
+++ b/json/items/armor/masks.json
@@ -5,5 +5,15 @@
"type": "ARMOR",
"name": { "str": "ballistic mask" },
"coverage": 100
+ },
+ {
+ "id": "mask_hockey",
+ "copy-from": "mask_hockey",
+ "type": "ARMOR",
+ "name": { "str": "hockey mask" },
+ "armor_portion_data": [
+ { "covers": [ "mouth" ], "coverage": 95, "encumbrance": 12 },
+ { "covers": [ "eyes" ], "coverage": 95, "encumbrance": 12 }
+ ]
}
]
diff --git a/json/items/armor/sheath.json b/json/items/armor/sheath.json
index 802b499..19e654e 100644
--- a/json/items/armor/sheath.json
+++ b/json/items/armor/sheath.json
@@ -5,8 +5,99 @@
"type": "ARMOR",
"name": { "str": "axe ring holster" },
"rigid": false,
+ "encumbrance": 2,
+ "max_encumbrance": 4
+ },
+ {
+ "id": "baldric",
+ "copy-from": "baldric",
+ "type": "ARMOR",
+ "name": { "str": "baldric" },
+ "rigid": true,
+ "encumbrance": 3,
+ "max_encumbrance": 5
+ },
+ {
+ "id": "gartersheath1",
+ "type": "ARMOR",
+ "name": { "str": "garter sheath" },
+ "description": "A small concealed garter knife sheath worn on the thigh. Commonly used by assassins under a skirt or dress. Activate to sheathe/draw a weapon.",
+ "weight": "160 g",
+ "volume": "500 ml",
+ "rigid": true,
+ "price": "52 USD",
+ "price_postapoc": "250 cents",
+ "material": [ "nylon", "plastic" ],
+ "symbol": "[",
+ "looks_like": "sheath",
+ "color": "dark_gray",
+ "covers": [ "leg_either" ],
+ "material_thickness": 1,
+ "use_action": {
+ "type": "holster",
+ "holster_prompt": "Sheath knife",
+ "holster_msg": "You sheath your %s",
+ "max_volume": "500 ml",
+ "draw_cost": 80,
+ "flags": [ "SHEATH_KNIFE" ]
+ },
+ "coverage": 2,
+ "encumbrance": 4,
+ "max_encumbrance": 5,
+ "flags": [ "BELTED", "VARSIZE", "OVERSIZE", "WATER_FRIENDLY", "COMPACT" ],
+ },
+ {
+ "id": "bootsheath",
+ "copy-from": "bootsheath",
+ "type": "ARMOR",
+ "name": { "str": "ankle sheath" },
+ "rigid": true,
+ "encumbrance": 2,
+ "max_encumbrance": 3
+ },
+ {
+ "id": "wristsheath",
+ "copy-from": "wristsheath",
+ "type": "ARMOR",
+ "name": { "str": "wrist sheath" },
+ "rigid": true,
+ "encumbrance": 2,
+ "max_encumbrance": 3
+ },
+ {
+ "id": "bscabbard",
+ "copy-from": "bscabbard",
+ "type": "ARMOR",
+ "name": { "str": "back scabbard" },
+ "rigid": true,
+ "encumbrance": 6,
+ "max_encumbrance": 10
+ },
+ {
+ "id": "scabbard",
+ "copy-from": "scabbard",
+ "type": "ARMOR",
+ "name": { "str": "scabbard" },
+ "rigid": true,
+ "encumbrance": 3,
+ "max_encumbrance": 4
+ },
+ {
+ "id": "sheath",
+ "copy-from": "sheath",
+ "type": "ARMOR",
+ "name": { "str": "sheath" },
+ "rigid": true,
"encumbrance": 0,
- "max_encumbrance": 4,
- "//": "Reduce base encumbrance, but increase max_encumbrance."
+ "max_encumbrance": 1
+ },
+ {
+ "id": "spearsling",
+ "copy-from": "spearsling",
+ "type": "ARMOR",
+ "name": { "str": "spear strap" },
+ "rigid": false,
+ "encumbrance": 2,
+ "max_encumbrance": 5
}
]
diff --git a/json/items/armor/storage.json b/json/items/armor/storage.json
index 8d677b0..3c36332 100644
--- a/json/items/armor/storage.json
+++ b/json/items/armor/storage.json
@@ -4,8 +4,8 @@
"copy-from": "backpack",
"type": "ARMOR",
"name": { "str": "backpack" },
- "encumbrance": 4,
- "max_encumbrance": 19,
+ "encumbrance": 2,
+ "max_encumbrance": 25,
"storage": "25510 ml"
},
{
@@ -16,15 +16,15 @@
"volume": "14700 ml",
"encumbrance": 10,
"max_encumbrance": 40,
- "storage": "63 L"
+ "storage": "60001 ml"
},
{
"id": "backpack_leather",
"copy-from": "backpack_leather",
"type": "ARMOR",
"name": { "str": "leather backpack" },
- "encumbrance": 2,
- "max_encumbrance": 20,
+ "encumbrance": 4,
+ "max_encumbrance": 24,
"storage": "25 L"
},
{
@@ -51,8 +51,8 @@
"type": "ARMOR",
"name": { "str": "dive bag" },
"storage": "30 L",
- "encumbrance": 3,
- "max_encumbrance": 24
+ "encumbrance": 2,
+ "max_encumbrance": 25
},
{
"id": "duffelbag",
@@ -111,7 +111,7 @@
"type": "ARMOR",
"name": { "str": "messenger bag" },
"encumbrance": 4,
- "max_encumbrance": 19,
+ "max_encumbrance": 20,
"storage": "15 L",
"flags": [ "BELTED", "WATER_FRIENDLY" ]
},
@@ -124,7 +124,7 @@
"volume": "6 L",
"encumbrance": 5,
"max_encumbrance": 19,
- "storage": "23 L"
+ "storage": "23001 ml"
},
{
"id": "rucksack",
@@ -134,7 +134,7 @@
"volume": "11 L",
"encumbrance": 10,
"max_encumbrance": 50,
- "storage": "54 L"
+ "storage": "54001 ml"
},
{
"id": "runner_bag",
diff --git a/json/items/armor/suits_protection.json b/json/items/armor/suits_protection.json
index a28800c..e3a8955 100644
--- a/json/items/armor/suits_protection.json
+++ b/json/items/armor/suits_protection.json
@@ -1,13 +1,70 @@
[
{
+ "id": "aep_suit",
+ "copy-from": "aep_suit",
+ "type": "ARMOR",
+ "name": { "str": "AEP suit" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 100, "encumbrance": 20 },
+ { "covers": [ "arms", "legs" ], "coverage": 100, "encumbrance": 17 }
+ ]
+ },
+ {
+ "id": "anbc_suit",
+ "copy-from": "anbc_suit",
+ "type": "ARMOR",
+ "name": { "str": "ANBC suit" },
+ "armor_portion_data": [
+ { "covers": [ "head" ], "coverage": 100, "encumbrance": 35 },
+ { "covers": [ "torso" ], "coverage": 100, "encumbrance": 35 },
+ { "covers": [ "arms", "legs" ], "coverage": 100, "encumbrance": 28 },
+ { "covers": [ "hands", "feet" ], "coverage": 100, "encumbrance": 28 }
+ ]
+ },
+ {
+ "id": "armor_blarmor",
+ "copy-from": "armor_blarmor",
+ "type": "ARMOR",
+ "name": { "str": "boiled leather armor" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 95, "encumbrance": 22 },
+ { "covers": [ "arms" ], "coverage": 90, "encumbrance": 18 },
+ { "covers": [ "legs" ], "coverage": 85, "encumbrance": 18 }
+ ],
+ "storage": "0 ml"
+ },
+ {
"id": "armor_larmor",
"copy-from": "armor_larmor",
"type": "ARMOR",
"name": { "str": "leather body armor" },
"armor_portion_data": [
- { "covers": [ "torso" ], "coverage": 95, "encumbrance": [ 16, 16 ] },
- { "covers": [ "arms" ], "coverage": 90, "encumbrance": [ 14, 14 ] },
- { "covers": [ "legs" ], "coverage": 85, "encumbrance": [ 14, 14 ] }
+ { "covers": [ "torso" ], "coverage": 95, "encumbrance": 16 },
+ { "covers": [ "arms" ], "coverage": 90, "encumbrance": 14 },
+ { "covers": [ "legs" ], "coverage": 85, "encumbrance": 14 }
+ ],
+ "storage": "0 ml"
+ },
+ {
+ "id": "armor_nomad",
+ "copy-from": "armor_larmor",
+ "type": "ARMOR",
+ "name": { "str": "nomad gear" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 95, "encumbrance": [ 15, 20 ] },
+ { "covers": [ "arms" ], "coverage": 90, "encumbrance": 15 },
+ { "covers": [ "legs" ], "coverage": 85, "encumbrance": [ 15, 18 ] }
+ ]
+ },
+ {
+ "id": "armor_nomad_light",
+ "copy-from": "armor_nomad_light",
+ "type": "ARMOR",
+ "name": { "str": "light nomad gear" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 80, "encumbrance": [ 12, 16 ] },
+ { "covers": [ "arms" ], "coverage": 75, "encumbrance": 12 },
+ { "covers": [ "legs" ], "coverage": 70, "encumbrance": [ 12, 14 ] }
]
},
{
@@ -28,6 +85,42 @@
"//": "Rebalance this based on dda's concept of it being a strapped on set of armor pads. Essentially a step up in quality from the individual hard plastic armor pieces."
},
{
+ "id": "armor_scavenger",
+ "copy-from": "armor_scavenger",
+ "type": "ARMOR",
+ "name": { "str": "scavenger gear" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 18, 30 ] },
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 18, 18 ] },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 18, 24 ] }
+ ]
+ },
+ {
+ "id": "entry_suit",
+ "copy-from": "entry_suit",
+ "type": "ARMOR",
+ "name": { "str": "entry suit" },
+ "armor_portion_data": [
+ { "covers": [ "head" ], "coverage": 100, "encumbrance": 40 },
+ { "covers": [ "torso" ], "coverage": 100, "encumbrance": 50 },
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": 40 },
+ { "covers": [ "hands" ], "coverage": 100, "encumbrance": 40 },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": 40 },
+ { "covers": [ "feet" ], "coverage": 100, "encumbrance": 40 }
+ ]
+ },
+ {
+ "id": "fsurvivor_suit",
+ "copy-from": "fsurvivor_suit",
+ "type": "ARMOR",
+ "name": { "str": "survivor firesuit" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 16, 30 ] },
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 16, 16 ] },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 16, 20 ] }
+ ]
+ },
+ {
"id": "hsurvivor_suit",
"copy-from": "hsurvivor_suit",
"type": "ARMOR",
@@ -35,8 +128,8 @@
"material": [ "kevlar", "steel", "leather" ],
"armor_portion_data": [
{ "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 17, 31 ] },
- { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 17, 21 ] },
- { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 17, 17 ] }
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 17, 17 ] },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 17, 21 ] }
]
},
{
@@ -47,8 +140,8 @@
"material": [ "kevlar", "superalloy", "leather" ],
"armor_portion_data": [
{ "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 15, 25 ] },
- { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 15, 20 ] },
- { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 15, 15 ] }
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 15, 15 ] },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 15, 20 ] }
]
},
{
@@ -59,13 +152,39 @@
"material": [ "kevlar", "cotton" ],
"armor_portion_data": [
{ "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 7, 15 ] },
- { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 7, 10 ] },
- { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 7, 7 ] }
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 7, 7 ] },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 7, 10 ] }
],
"storage": "7 L",
"//": "Reduced the carrying volume from 7.5 to 7 litres."
},
{
+ "id": "robofac_enviro_suit",
+ "copy-from": "robofac_enviro_suit",
+ "type": "ARMOR",
+ "name": { "str": "Hub 01 environmental suit" },
+ "armor_portion_data": [
+ { "covers": [ "head" ], "coverage": 100, "encumbrance": [ 7, 7 ] },
+ { "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 7, 15 ] },
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 7, 7 ] },
+ { "covers": [ "hands" ], "coverage": 100, "encumbrance": [ 7, 7 ] },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 7, 10 ] },
+ { "covers": [ "feet" ], "coverage": 100, "encumbrance": [ 7, 7 ] }
+ ]
+ },
+ {
+ "id": "stillsuit",
+ "copy-from": "stillsuit",
+ "type": "ARMOR",
+ "name": { "str": "WS-47G moisture retention suit" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 95, "encumbrance": 18 },
+ { "covers": [ "arms" ], "coverage": 95, "encumbrance": 18 },
+ { "covers": [ "legs" ], "coverage": 95, "encumbrance": 18 },
+ { "covers": [ "feet" ], "coverage": 95, "encumbrance": 18 }
+ ]
+ },
+ {
"id": "survivor_suit",
"copy-from": "survivor_suit",
"type": "ARMOR",
@@ -73,11 +192,34 @@
"material": [ "kevlar", "leather" ],
"armor_portion_data": [
{ "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 12, 20 ] },
- { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 12, 17 ] },
- { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 12, 12 ] }
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 12, 12 ] },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 12, 17 ] }
+ ]
+ },
+ {
+ "id": "swat_armor",
+ "copy-from": "swat_armor",
+ "type": "ARMOR",
+ "name": { "str": "SWAT armor" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 95, "encumbrance": [ 20, 25 ] },
+ { "covers": [ "arms" ], "coverage": 95, "encumbrance": 20 },
+ { "covers": [ "legs" ], "coverage": 95, "encumbrance": [ 20, 22 ] }
]
},
{
+ "id": "touring_suit",
+ "copy-from": "touring_suit",
+ "type": "ARMOR",
+ "name": { "str": "leather touring suit" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 100, "encumbrance": 25 },
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": 25 },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": 25 }
+ ],
+ "storage": "1600 ml"
+ },
+ {
"id": "wsurvivor_suit",
"copy-from": "wsurvivor_suit",
"type": "ARMOR",
@@ -85,8 +227,8 @@
"material": [ "kevlar", "fur" ],
"armor_portion_data": [
{ "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 17, 31 ] },
- { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 17, 21 ] },
- { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 17, 17 ] }
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 17, 17 ] },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 17, 21 ] }
]
}
]
diff --git a/json/items/armor/swimming.json b/json/items/armor/swimming.json
new file mode 100644
index 0000000..3ae39f4
--- /dev/null
+++ b/json/items/armor/swimming.json
@@ -0,0 +1,13 @@
+[
+ {
+ "id": "h20survivor_suit",
+ "copy-from": "h20survivor_suit",
+ "type": "ARMOR",
+ "name": { "str": "survivor wetsuit" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 10, 20 ] },
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 10, 10 ] },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": [ 10, 12 ] }
+ ]
+ },
+]
diff --git a/json/items/armor/torso_armor.json b/json/items/armor/torso_armor.json
index 6b2824f..6033ca2 100644
--- a/json/items/armor/torso_armor.json
+++ b/json/items/armor/torso_armor.json
@@ -7,5 +7,60 @@
"material_thickness": 4,
"encumbrance": 4,
"//": "Buff this to be as durable as the other hard plastic armor pieces."
+ },
+ {
+ "id": "jacket_leather_mod",
+ "copy-from": "jacket_leather_mod",
+ "type": "ARMOR",
+ "name": { "str": "armored leather jacket" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 100, "encumbrance": [ 20, 28 ] },
+ { "covers": [ "arms" ], "coverage": 100, "encumbrance": [ 22, 22 ] }
+ ],
+ "storage": "1200 ml"
+ },
+ {
+ "id": "football_armor",
+ "copy-from": "football_armor",
+ "type": "ARMOR",
+ "name": { "str": "football armor" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 45, "encumbrance": 5 },
+ { "covers": [ "arms" ], "coverage": 15, "encumbrance": 4 }
+ ]
+ },
+ {
+ "id": "kevlar",
+ "copy-from": "kevlar",
+ "type": "ARMOR",
+ "name": { "str": "Kevlar vest" },
+ "description": "A lightweight level II ballistic vest, suitable for wearing under a coat or other outer wear.",
+ "weight": "1960 g",
+ "volume": "4 L",
+ "coverage": 90,
+ "encumbrance": 3
+ },
+ {
+ "id": "motorbike_armor",
+ "copy-from": "motorbike_armor",
+ "type": "ARMOR",
+ "name": { "str": "motorcycle armor" },
+ "description": "A light jacket made of a stretch mesh covered in plastic pads meant for motorcyclists. Made to be much more comfortable to wear than leather alternatives, but the underlying lycra isn't protective at all.",
+ "weight": "1066 g",
+ "volume": "2 L",
+ "material": [ "plastic", "nylon" ],
+ "coverage": 100,
+ "encumbrance": 10,
+ "flags": [ "VARSIZE", "WATERPROOF", "OUTER" ]
+ },
+ {
+ "id": "vest_leather_mod",
+ "copy-from": "vest_leather_mod",
+ "type": "ARMOR",
+ "name": { "str": "armored leather vest" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 90, "encumbrance": [ 15, 25 ] }
+ ],
+ "storage": "1900 ml"
}
]
diff --git a/json/items/armor/torso_clothes.json b/json/items/armor/torso_clothes.json
index 298d303..65ea609 100644
--- a/json/items/armor/torso_clothes.json
+++ b/json/items/armor/torso_clothes.json
@@ -7,7 +7,40 @@
"armor_portion_data": [
{ "covers": [ "torso" ], "coverage": 90, "encumbrance": [ 4, 5 ] },
{ "covers": [ "arms" ], "coverage": 90, "encumbrance": [ 4, 4 ] }
- ]
+ ],
+ "storage": "350 ml"
+ },
+ {
+ "id": "dress_wedding",
+ "copy-from": "dress_wedding",
+ "type": "ARMOR",
+ "name": { "str": "wedding dress", "str_pl": "wedding dresses" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 90, "encumbrance": 12 },
+ { "covers": [ "legs" ], "coverage": 100, "encumbrance": 20 }
+ ],
+ "storage": "350 ml"
+ },
+ {
+ "id": "hoodie",
+ "copy-from": "hoodie",
+ "type": "ARMOR",
+ "name": { "str": "hoodie" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 95, "encumbrance": [ 6, 12 ] },
+ { "covers": [ "arms" ], "coverage": 95, "encumbrance": [ 6, 6 ] }
+ ],
+ "storage": "3 L"
+ },
+ {
+ "id": "longshirt",
+ "copy-from": "longshirt",
+ "type": "ARMOR",
+ "name": { "str": "long-sleeved shirt" },
+ "armor_portion_data": [
+ { "covers": [ "torso", "arms" ], "coverage": 90, "encumbrance": 0 }
+ ],
+ "storage": "3 L"
},
{
"id": "polo_shirt",
@@ -16,8 +49,59 @@
"name": { "str": "polo shirt" },
"armor_portion_data": [
{ "covers": [ "torso" ], "coverage": 90, "encumbrance": 7 },
- { "covers": [ "arms" ], "coverage": 30, "encumbrance": 5 }
+ { "covers": [ "arms" ], "coverage": 30, "encumbrance": 0 }
],
"//": "Add arms coverage."
+ },
+ {
+ "id": "sundress",
+ "copy-from": "sundress",
+ "type": "ARMOR",
+ "name": { "str": "sundress", "str_pl": "sundresses" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 65, "encumbrance": 0 },
+ { "covers": [ "legs" ], "coverage": 50, "encumbrance": 0 }
+ ]
+ },
+ {
+ "id": "sweater",
+ "copy-from": "sweater",
+ "type": "ARMOR",
+ "name": { "str": "sweater" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 95, "encumbrance": 6 },
+ { "covers": [ "arms" ], "coverage": 95, "encumbrance": 6 }
+ ]
+ },
+ {
+ "id": "sweatshirt",
+ "copy-from": "sweatshirt",
+ "type": "ARMOR",
+ "name": { "str": "sweatshirt" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 95, "encumbrance": 6 },
+ { "covers": [ "arms" ], "coverage": 95, "encumbrance": 6 }
+ ]
+ },
+ {
+ "id": "vest_leather",
+ "copy-from": "vest_leather",
+ "type": "ARMOR",
+ "name": { "str": "leather vest" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 90, "encumbrance": [ 4, 8 ] }
+ ],
+ "storage": "2250 ml"
+ },
+ {
+ "id": "hoodie",
+ "copy-from": "hoodie",
+ "type": "ARMOR",
+ "name": { "str": "hoodie" },
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 95, "encumbrance": [ 6, 12 ] },
+ { "covers": [ "arms" ], "coverage": 95, "encumbrance": [ 6, 6 ] }
+ ],
+ "storage": "3 L"
}
]
diff --git a/json/items/armor/undergarments.json b/json/items/armor/undergarments.json
new file mode 100644
index 0000000..6b69d01
--- /dev/null
+++ b/json/items/armor/undergarments.json
@@ -0,0 +1,21 @@
+[
+ {
+ "id": "garter_belt",
+ "type": "ARMOR",
+ "name": { "str": "garter belt" },
+ "description": "A black, decorated undergarment commonly used in combination with stockings. They don't cover much, but they do help you feel sexy.",
+ "weight": "80 g",
+ "volume": "200 ml",
+ "looks_like": "panties",
+ "price": 500,
+ "price_postapoc": 250,
+ "material": [ "nylon" ],
+ "symbol": "[",
+ "color": "dark_gray",
+ "material_thickness": 1,
+ "flags": [ "SKINTIGHT", "VARSIZE", "POWERARMOR_COMPATIBLE" ],
+ "armor_portion_data": [
+ { "covers": [ "torso" ], "coverage": 10, "encumbrance": 1 }
+ ]
+ }
+]
diff --git a/json/recipes/armor/storage.json b/json/recipes/armor/storage.json
new file mode 100644
index 0000000..e645779
--- /dev/null
+++ b/json/recipes/armor/storage.json
@@ -0,0 +1,35 @@
+[
+ {
+ "result": "armrig",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_STORAGE",
+ "skill_used": "tailor",
+ "difficulty": 3,
+ "time": "1 h 16 m",
+ "autolearn": true,
+ "qualities": [ { "id": "SEW", "level": 1 } ],
+ "components": [
+ [ [ "fabric_standard", 6, "LIST" ] ],
+ [ [ "chestpouch", 2 ], [ "fabric_standard", 8, "LIST" ] ],
+ [ [ "filament", 8, "LIST" ] ]
+ ]
+ },
+ {
+ "result": "gartersheath1",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_STORAGE",
+ "skill_used": "tailor",
+ "difficulty": 3,
+ "skills_required": [ "melee", 1 ],
+ "time": "1 h",
+ "autolearn": true,
+ "qualities": [ { "id": "SEW", "level": 1 } ],
+ "using": [ [ "plastic_molding", 1 ] ],
+ "components": [
+ [ [ "nylon", 6 ] ],
+ [ [ "filament", 10, "LIST" ] ]
+ ]
+ }
+]
diff --git a/json/recipes/armor/torso.json b/json/recipes/armor/torso.json
new file mode 100644
index 0000000..abe3759
--- /dev/null
+++ b/json/recipes/armor/torso.json
@@ -0,0 +1,14 @@
+[
+ {
+ "result": "garter_belt",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_TORSO",
+ "skill_used": "tailor",
+ "difficulty": 1,
+ "time": "40 m",
+ "autolearn": true,
+ "using": [ [ "sewing_standard", 15 ] ],
+ "components": [ [ [ "nylon", 2 ] ] ]
+ }
+]