diff --git a/data/json/flags.json b/data/json/flags.json
index ce56ed11050b3..57748ac86ab26 100644
--- a/data/json/flags.json
+++ b/data/json/flags.json
@@ -2372,14 +2372,20 @@
"type": "json_flag",
"info": "This is transparent and won't block light from hitting the wearer."
},
+ {
+ "id": "UNRESTRICTED",
+ "type": "json_flag",
+ "//": "Ignores 'restricts' in mutation jsons. Only for baggy, draped, adjustable, strapped etc items.",
+ "info": "This clothing is able to accommodate even mutated anatomy."
+ },
{
"id": "BLEEDSLOW",
"type": "json_flag",
- "info": "The character bleed slower than normal, losing blood at 2/3rds the normal rate."
+ "info": "The character bleeds slower than normal, losing blood at 2/3rds the normal rate."
},
{
"id": "BLEEDSLOW2",
"type": "json_flag",
- "info": "The character bleed even slower than normal, losing blood at 1/3rd the normal rate."
+ "info": "The character bleeds even slower than normal, losing blood at 1/3rd the normal rate."
}
]
diff --git a/data/json/itemgroups/Clothing_Gear/clothing.json b/data/json/itemgroups/Clothing_Gear/clothing.json
index cc24718bb678d..5a19e6bd785ea 100644
--- a/data/json/itemgroups/Clothing_Gear/clothing.json
+++ b/data/json/itemgroups/Clothing_Gear/clothing.json
@@ -3295,7 +3295,6 @@
{ "item": "mask_gas", "prob": 24, "charges": [ 0, 100 ] },
{ "item": "mask_filter", "prob": 12, "charges": [ 0, 100 ] },
[ "mask_bunker", 2 ],
- [ "mask_wsurvivor", 4 ],
[ "mask_fsurvivor", 2 ],
[ "sunglasses", 12 ],
[ "fitover_sunglasses", 8 ],
diff --git a/data/json/items/armor/bespoke_armor/utility.json b/data/json/items/armor/bespoke_armor/utility.json
index b8da9c2b0d395..dfb83bfe9a3c7 100644
--- a/data/json/items/armor/bespoke_armor/utility.json
+++ b/data/json/items/armor/bespoke_armor/utility.json
@@ -97,7 +97,7 @@
"price": 7500,
"price_postapoc": 3000,
"to_hit": -2,
- "material": [ "kevlar", "leather" ],
+ "material": [ "hard_plastic_transp", "leather_treated" ],
"symbol": "[",
"looks_like": "glasses_bal",
"color": "dark_gray",
@@ -105,7 +105,17 @@
"material_thickness": 4,
"environmental_protection": 15,
"flags": [ "WATER_FRIENDLY", "SUN_GLASSES", "OVERSIZE", "VARSIZE", "STURDY" ],
- "armor": [ { "encumbrance": 20, "coverage": 100, "covers": [ "eyes" ], "rigid_layer_only": true } ]
+ "armor": [
+ {
+ "material": [
+ { "type": "leather_treated", "covered_by_mat": 20, "thickness": 2 },
+ { "type": "hard_plastic_transp", "covered_by_mat": 100, "thickness": 4 }
+ ],
+ "covers": [ "eyes" ],
+ "coverage": 100,
+ "encumbrance": 25
+ }
+ ]
},
{
"id": "survivor_vest",
diff --git a/data/json/items/armor/eyewear.json b/data/json/items/armor/eyewear.json
index 227a4f409861a..88641bf58a93e 100644
--- a/data/json/items/armor/eyewear.json
+++ b/data/json/items/armor/eyewear.json
@@ -86,7 +86,7 @@
"price": 7500,
"price_postapoc": 500,
"to_hit": -2,
- "material": [ "plastic", "nylon" ],
+ "material": [ "hard_plastic_transp", "nylon" ],
"symbol": "[",
"looks_like": "glasses_safety",
"color": "dark_gray",
diff --git a/data/json/items/armor/helmets.json b/data/json/items/armor/helmets.json
index a363236c0a1cb..9b5ac6ff83aba 100644
--- a/data/json/items/armor/helmets.json
+++ b/data/json/items/armor/helmets.json
@@ -1077,7 +1077,7 @@
"price": 32500,
"price_postapoc": 750,
"to_hit": -1,
- "material": [ "plastic", "epoxy", "plastic_pad" ],
+ "material": [ "plastic", "hard_plastic_transp", "epoxy", "plastic_pad" ],
"symbol": "[",
"color": "dark_gray",
"armor": [
@@ -1104,7 +1104,7 @@
},
{
"material": [
- { "type": "plastic", "covered_by_mat": 100, "thickness": 2.0 },
+ { "type": "hard_plastic_transp", "covered_by_mat": 100, "thickness": 2.0 },
{ "type": "epoxy", "covered_by_mat": 100, "thickness": 0.5 }
],
"covers": [ "eyes" ],
@@ -1115,7 +1115,7 @@
},
{
"material": [
- { "type": "plastic", "covered_by_mat": 100, "thickness": 2.0 },
+ { "type": "hard_plastic_transp", "covered_by_mat": 100, "thickness": 2.0 },
{ "type": "epoxy", "covered_by_mat": 100, "thickness": 0.5 }
],
"covers": [ "mouth" ],
@@ -1138,7 +1138,7 @@
},
{
"material": [
- { "type": "plastic", "covered_by_mat": 100, "thickness": 2.0 },
+ { "type": "hard_plastic_transp", "covered_by_mat": 100, "thickness": 2.0 },
{ "type": "epoxy", "covered_by_mat": 100, "thickness": 0.5 },
{ "type": "plastic_pad", "covered_by_mat": 50, "thickness": 16 }
],
@@ -1175,6 +1175,7 @@
"armor": [
{
"material": [
+ { "type": "hard_plastic_transp", "covered_by_mat": 40, "thickness": 2.0 },
{ "type": "plastic", "covered_by_mat": 100, "thickness": 2.0 },
{ "type": "epoxy", "covered_by_mat": 100, "thickness": 0.5 },
{ "type": "plastic_pad", "covered_by_mat": 100, "thickness": 16 }
diff --git a/data/json/items/resources/plastic.json b/data/json/items/resources/plastic.json
index 86a5b8690745e..c7460b07081e0 100644
--- a/data/json/items/resources/plastic.json
+++ b/data/json/items/resources/plastic.json
@@ -29,6 +29,21 @@
"color": "light_blue",
"flags": [ "NO_SALVAGE" ]
},
+ {
+ "id": "polycarbonate_chunk",
+ "type": "TOOL",
+ "category": "spare_parts",
+ "name": { "str": "polycarbonate chunk" },
+ "description": "A hardy and durable piece of polycarbonate. You could potentially craft items with it.",
+ "weight": "50 g",
+ "volume": "100 ml",
+ "price": 0,
+ "price_postapoc": 10,
+ "material": [ "hard_plastic_transp" ],
+ "symbol": ",",
+ "color": "light_blue",
+ "flags": [ "NO_SALVAGE" ]
+ },
{
"id": "10l_plastic",
"type": "AMMO",
@@ -163,13 +178,13 @@
"type": "GENERIC",
"category": "spare_parts",
"name": { "str": "rigid plastic sheet" },
- "description": "A large, rigid sheet of translucent plastic, useful for all manner of things; from construction to art, or even amateur snowboarding.",
+ "description": "A large, rigid sheet of transparent polycarbonate, useful for all manner of things; from construction to art, or even amateur snowboarding.",
"weight": "14875 g",
"volume": "12500 ml",
"longest_side": "122 cm",
"price": 0,
"price_postapoc": 25,
- "material": [ "plastic" ],
+ "material": [ "hard_plastic_transp" ],
"symbol": ")",
"color": "light_blue"
}
diff --git a/data/json/items/tool_armor.json b/data/json/items/tool_armor.json
index 007f4caecbeed..820001b486dd9 100644
--- a/data/json/items/tool_armor.json
+++ b/data/json/items/tool_armor.json
@@ -1882,7 +1882,7 @@
"ammo": "gasfilter_s",
"use_action": [ "GASMASK_ACTIVATE" ],
"tick_action": [ "GASMASK" ],
- "armor": [ { "encumbrance": 20, "rigid_layer_only": true, "coverage": 100, "covers": [ "mouth" ] } ]
+ "armor": [ { "encumbrance": 15, "rigid_layer_only": true, "coverage": 100, "covers": [ "mouth" ] } ]
},
{
"id": "mask_gas",
@@ -1900,8 +1900,8 @@
"symbol": "[",
"color": "dark_gray",
"armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 10 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 30 }
+ { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 25 },
+ { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 35 }
],
"warmth": 20,
"material_thickness": 2,
@@ -1934,8 +1934,8 @@
"symbol": "[",
"color": "dark_gray",
"armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 10 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 30 }
+ { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 25 },
+ { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 35 }
],
"warmth": 20,
"material_thickness": 2,
@@ -1969,8 +1969,8 @@
"symbol": "[",
"color": "dark_gray",
"armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 10 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 30 }
+ { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 25 },
+ { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 35 }
],
"warmth": 20,
"material_thickness": 2,
@@ -1987,7 +1987,7 @@
"ammo": "gasfilter_m",
"use_action": [ "GASMASK_ACTIVATE" ],
"tick_action": [ "GASMASK" ],
- "flags": [ "UNDERSIZE", "SLEEP_IGNORE" ]
+ "flags": [ "VARSIZE", "UNDERSIZE", "SLEEP_IGNORE" ]
},
{
"id": "mask_gas_half",
@@ -2019,30 +2019,19 @@
"ammo": "gasfilter_m",
"use_action": [ "GASMASK_ACTIVATE" ],
"tick_action": [ "GASMASK" ],
- "armor": [ { "encumbrance": 20, "rigid_layer_only": true, "coverage": 100, "covers": [ "mouth" ] } ]
+ "armor": [ { "encumbrance": 35, "rigid_layer_only": true, "coverage": 100, "covers": [ "mouth" ] } ]
},
{
"id": "mask_fsurvivor",
"type": "TOOL_ARMOR",
"category": "armor",
"name": { "str": "survivor firemask" },
- "description": "A custom-built, Nomex-insulated gas mask that covers the face and eyes. It provides excellent protection from heat, smoke, tear gas, and shrapnel. It must be prepared before use.",
- "weight": "708 g",
+ "description": "A custom-made leather gasmask faced with Nomex. It must be prepared before use.",
+ "weight": "686 g",
"volume": "1250 ml",
- "price": 24000,
- "price_postapoc": 1750,
+ "price": 26000,
+ "price_postapoc": 1800,
"to_hit": -3,
- "material": [ "kevlar_layered", "nomex" ],
- "symbol": "[",
- "color": "light_gray",
- "armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 10 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 30 }
- ],
- "warmth": 15,
- "material_thickness": 3,
- "environmental_protection": 4,
- "environmental_protection_with_filter": 16,
"pocket_data": [
{
"pocket_type": "MAGAZINE_WELL",
@@ -2054,42 +2043,39 @@
"ammo": "gasfilter_m",
"use_action": [ "GASMASK_ACTIVATE" ],
"tick_action": [ "GASMASK" ],
- "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE" ]
- },
- {
- "id": "mask_fsurvivorxl",
- "type": "TOOL_ARMOR",
- "category": "armor",
- "name": { "str": "XL survivor firemask" },
- "description": "A custom-built, Nomex-insulated gas mask that covers the face and eyes regardless of your state of mutation. It provides excellent protection from heat, smoke, tear gas, and shrapnel. It must be prepared before use.",
- "weight": "1108 g",
- "volume": "1250 ml",
- "price": 24000,
- "price_postapoc": 1500,
- "to_hit": -3,
- "material": [ "kevlar_layered", "nomex" ],
+ "material": [ "nomex", "leather_treated", "hard_plastic_transp" ],
"symbol": "[",
- "color": "light_gray",
+ "color": "brown",
"armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 15 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 35 }
- ],
- "warmth": 15,
- "material_thickness": 3,
- "environmental_protection": 4,
- "environmental_protection_with_filter": 16,
- "pocket_data": [
{
- "pocket_type": "MAGAZINE_WELL",
- "rigid": true,
- "flag_restriction": [ "GASFILTER_MED" ],
- "default_magazine": "gasfilter_med"
+ "material": [
+ { "type": "leather_treated", "covered_by_mat": 100, "thickness": 4 },
+ { "type": "nomex", "covered_by_mat": 100, "thickness": 2 }
+ ],
+ "covers": [ "mouth" ],
+ "coverage": 100,
+ "encumbrance": 37
+ },
+ {
+ "material": [ { "type": "hard_plastic_transp", "covered_by_mat": 100, "thickness": 5 } ],
+ "covers": [ "eyes" ],
+ "coverage": 100,
+ "encumbrance": 25
}
],
- "ammo": "gasfilter_m",
- "use_action": [ "GASMASK_ACTIVATE" ],
- "tick_action": [ "GASMASK" ],
- "flags": [ "VARSIZE", "STURDY", "OVERSIZE", "SUN_GLASSES", "SLEEP_IGNORE" ]
+ "warmth": 25,
+ "environmental_protection": 4,
+ "environmental_protection_with_filter": 16,
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNRESTRICTED", "PADDED" ]
+ },
+ {
+ "id": "mask_fsurvivorxl",
+ "type": "TOOL_ARMOR",
+ "copy-from": "mask_fsurvivor",
+ "looks_like": "mask_fsurvivor",
+ "name": { "str": "XL survivor firemask" },
+ "proportional": { "weight": 1.25, "volume": 1.25, "price": 0.5 },
+ "flags": [ "VARSIZE", "STURDY", "OVERSIZE", "SUN_GLASSES", "SLEEP_IGNORE", "PADDED", "UNRESTRICTED" ]
},
{
"id": "mask_fsurvivorxs",
@@ -2097,9 +2083,8 @@
"copy-from": "mask_fsurvivor",
"looks_like": "mask_fsurvivor",
"name": { "str": "XS survivor firemask" },
- "description": "A custom-built, Nomex-insulated gas mask that covers the face and eyes. It provides excellent protection from heat, smoke, tear gas, and shrapnel. It must be prepared before use.",
"proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
- "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNDERSIZE" ]
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNDERSIZE", "PADDED", "UNRESTRICTED" ]
},
{
"id": "mask_bunker",
@@ -2109,7 +2094,7 @@
"color": "light_gray",
"name": { "str": "firefighter PBA mask" },
"description": "A full-face mask commonly used by firefighters. The protective breathing apparatus provides excellent protection from smoke, flame, and other dangers. It must be prepared before use.",
- "flags": [ "VARSIZE", "WATERPROOF", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE" ],
+ "flags": [ "WATERPROOF", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "PADDED" ],
"price": 100000,
"price_postapoc": 750,
"material": [ "plastic", "nomex" ],
@@ -2131,21 +2116,33 @@
"environmental_protection": 4,
"environmental_protection_with_filter": 16,
"armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 10 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 20 }
- ],
- "material_thickness": 3
+ {
+ "material": [
+ { "type": "nomex", "covered_by_mat": 100, "thickness": 3 },
+ { "type": "plastic", "covered_by_mat": 100, "thickness": 3 }
+ ],
+ "covers": [ "mouth" ],
+ "coverage": 100,
+ "encumbrance": 25
+ },
+ {
+ "material": [ { "type": "plastic", "covered_by_mat": 100, "thickness": 3 } ],
+ "covers": [ "eyes" ],
+ "coverage": 100,
+ "encumbrance": 12
+ }
+ ]
},
{
"id": "mask_hsurvivor",
"type": "TOOL_ARMOR",
"category": "armor",
"name": { "str": "heavy survivor mask" },
- "description": "A custom-built, steel-reinforced gas mask that covers the face and eyes. Provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
- "weight": "1612 g",
- "volume": "1250 ml",
- "price": 24000,
- "price_postapoc": 2000,
+ "description": "A gas mask handcrafted from treated leather with a steel faceplate overtop. It must be prepared before use.",
+ "weight": "686 g",
+ "volume": "1350 ml",
+ "price": 26000,
+ "price_postapoc": 1800,
"to_hit": -3,
"pocket_data": [
{
@@ -2158,134 +2155,62 @@
"ammo": "gasfilter_m",
"use_action": [ "GASMASK_ACTIVATE" ],
"tick_action": [ "GASMASK" ],
- "material": [ "kevlar_layered", "steel" ],
+ "material": [ "leather_treated", "hard_plastic_transp", "lc_steel" ],
"symbol": "[",
- "color": "dark_gray",
+ "color": "brown",
"armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 10 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 30 }
- ],
- "warmth": 15,
- "material_thickness": 3,
- "environmental_protection": 4,
- "environmental_protection_with_filter": 16,
- "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE" ]
- },
- {
- "id": "mask_lsurvivor",
- "type": "TOOL_ARMOR",
- "category": "armor",
- "name": { "str": "light survivor mask" },
- "description": "A custom-built, reinforced gas mask that covers the face and eyes. Provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
- "weight": "466 g",
- "volume": "1250 ml",
- "price": 24000,
- "price_postapoc": 1500,
- "to_hit": -3,
- "pocket_data": [
{
- "pocket_type": "MAGAZINE_WELL",
- "rigid": true,
- "flag_restriction": [ "GASFILTER_MED" ],
- "default_magazine": "gasfilter_med"
+ "material": [
+ { "type": "leather_treated", "covered_by_mat": 100, "thickness": 4 },
+ { "type": "lc_steel", "covered_by_mat": 90, "thickness": 1 }
+ ],
+ "covers": [ "mouth" ],
+ "coverage": 100,
+ "encumbrance": 38
+ },
+ {
+ "material": [
+ { "type": "hard_plastic_transp", "covered_by_mat": 100, "thickness": 5 },
+ { "type": "lc_steel", "covered_by_mat": 15, "thickness": 1 }
+ ],
+ "covers": [ "eyes" ],
+ "coverage": 100,
+ "encumbrance": 28
}
],
- "ammo": "gasfilter_m",
- "use_action": [ "GASMASK_ACTIVATE" ],
- "tick_action": [ "GASMASK" ],
- "material": [ "kevlar_layered", "cotton" ],
- "symbol": "[",
- "color": "dark_gray",
- "armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 5 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 20 }
- ],
- "warmth": 15,
- "material_thickness": 3,
+ "warmth": 28,
"environmental_protection": 4,
"environmental_protection_with_filter": 16,
- "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE" ]
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "PADDED", "UNRESTRICTED" ]
},
{
- "id": "mask_lsurvivorxl",
+ "id": "mask_hsurvivorxl",
"type": "TOOL_ARMOR",
- "category": "armor",
- "name": { "str": "XL light survivor mask" },
- "description": "A custom-built, reinforced gas mask that covers the face and eyes regardless of your state of mutation. Provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
- "weight": "766 g",
- "volume": "1250 ml",
- "price": 24000,
- "price_postapoc": 1250,
- "to_hit": -3,
- "pocket_data": [
- {
- "pocket_type": "MAGAZINE_WELL",
- "rigid": true,
- "flag_restriction": [ "GASFILTER_MED" ],
- "default_magazine": "gasfilter_med"
- }
- ],
- "ammo": "gasfilter_m",
- "use_action": [ "GASMASK_ACTIVATE" ],
- "tick_action": [ "GASMASK" ],
- "material": [ "kevlar_layered", "cotton" ],
- "symbol": "[",
- "color": "dark_gray",
- "armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 5 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 25 }
- ],
- "warmth": 15,
- "material_thickness": 3,
- "environmental_protection": 4,
- "environmental_protection_with_filter": 16,
- "flags": [ "VARSIZE", "STURDY", "OVERSIZE", "SUN_GLASSES", "SLEEP_IGNORE" ]
+ "copy-from": "mask_hsurvivor",
+ "looks_like": "mask_hsurvivor",
+ "name": { "str": "XL heavy survivor mask" },
+ "proportional": { "weight": 1.25, "volume": 1.25, "price": 0.5 },
+ "flags": [ "VARSIZE", "STURDY", "OVERSIZE", "SUN_GLASSES", "SLEEP_IGNORE", "PADDED", "UNRESTRICTED" ]
},
{
- "id": "mask_survivor",
+ "id": "mask_hsurvivorxs",
"type": "TOOL_ARMOR",
- "category": "armor",
- "name": { "str": "survivor mask" },
- "description": "A custom-built, leather-reinforced gas mask that covers the face and eyes. Provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
- "weight": "682 g",
- "volume": "1250 ml",
- "price": 24000,
- "price_postapoc": 1750,
- "to_hit": -3,
- "pocket_data": [
- {
- "pocket_type": "MAGAZINE_WELL",
- "rigid": true,
- "flag_restriction": [ "GASFILTER_MED" ],
- "default_magazine": "gasfilter_med"
- }
- ],
- "ammo": "gasfilter_m",
- "use_action": [ "GASMASK_ACTIVATE" ],
- "tick_action": [ "GASMASK" ],
- "material": [ "kevlar_layered", "leather" ],
- "symbol": "[",
- "color": "dark_gray",
- "armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 5 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 25 }
- ],
- "warmth": 15,
- "material_thickness": 3,
- "environmental_protection": 4,
- "environmental_protection_with_filter": 16,
- "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE" ]
+ "copy-from": "mask_hsurvivor",
+ "looks_like": "mask_hsurvivor",
+ "name": { "str": "XS heavy survivor mask" },
+ "proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNDERSIZE", "PADDED", "UNRESTRICTED" ]
},
{
- "id": "mask_survivorxl",
+ "id": "mask_lsurvivor",
"type": "TOOL_ARMOR",
"category": "armor",
- "name": { "str": "XL survivor mask" },
- "description": "A custom-built, reinforced gas mask that covers the face and eyes regardless of your state of mutation. Provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
- "weight": "982 g",
- "volume": "1250 ml",
- "price": 24000,
- "price_postapoc": 1500,
+ "name": { "str": "survivor half mask" },
+ "description": "A half-face gasmask handcrafted from treated leather. It provides no protection for the eyes, and must be activated before use.",
+ "weight": "341 g",
+ "volume": "625 ml",
+ "price": 20000,
+ "price_postapoc": 1450,
"to_hit": -3,
"pocket_data": [
{
@@ -2298,69 +2223,46 @@
"ammo": "gasfilter_m",
"use_action": [ "GASMASK_ACTIVATE" ],
"tick_action": [ "GASMASK" ],
- "material": [ "kevlar_layered", "plastic" ],
+ "material": [ "leather_treated" ],
"symbol": "[",
- "color": "dark_gray",
+ "color": "brown",
"armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 10 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 30 }
+ {
+ "material": [ { "type": "leather_treated", "covered_by_mat": 100, "thickness": 4 } ],
+ "covers": [ "mouth" ],
+ "coverage": 100,
+ "encumbrance": 35
+ }
],
"warmth": 15,
- "material_thickness": 3,
"environmental_protection": 4,
- "environmental_protection_with_filter": 16,
- "flags": [ "VARSIZE", "STURDY", "OVERSIZE", "SUN_GLASSES", "SLEEP_IGNORE" ]
+ "environmental_protection_with_filter": 15,
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNRESTRICTED" ]
},
{
- "id": "mask_survivorxs",
- "type": "TOOL_ARMOR",
- "copy-from": "mask_survivor",
- "looks_like": "mask_survivor",
- "name": { "str": "XS survivor mask" },
- "description": "A custom-built, leather-reinforced gas mask that covers the face and eyes. Provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
- "proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
- "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNDERSIZE" ]
- },
- {
- "id": "mask_wsurvivor_nofur",
- "type": "TOOL_ARMOR",
- "name": { "str": "faux fur winter survivor mask" },
- "description": "A custom-built, faux fur-trimmed gas mask that covers the face and eyes. Provides excellent protection from smoke, tear gas, and shrapnel, and while not quite as warm as real fur, it's pretty good. It must be prepared before use.",
- "copy-from": "mask_wsurvivor",
- "material": [ "kevlar_layered", "faux_fur" ],
- "symbol": "[",
- "warmth": 65,
- "looks_like": "mask_wsurvivor",
- "color": "pink"
- },
- {
- "id": "mask_wsurvivorxl_nofur",
+ "id": "mask_lsurvivorxl",
"type": "TOOL_ARMOR",
- "name": { "str": "XL faux fur winter survivor mask" },
- "description": "A custom-built, faux fur-trimmed gas mask that covers the face and eyes regardless of your state of mutation. Provides excellent protection from smoke, tear gas, and shrapnel, and while not quite as warm as real fur, it's pretty good. It must be prepared before use.",
- "copy-from": "mask_wsurvivorxl",
- "material": [ "kevlar_layered", "faux_fur" ],
- "symbol": "[",
- "warmth": 65,
- "looks_like": "mask_wsurvivorxl",
- "color": "pink"
+ "copy-from": "mask_lsurvivor",
+ "looks_like": "mask_lsurvivor",
+ "name": { "str": "XL survivor half mask" },
+ "proportional": { "weight": 1.25, "volume": 1.25, "price": 0.5 },
+ "flags": [ "VARSIZE", "STURDY", "OVERSIZE", "SUN_GLASSES", "SLEEP_IGNORE", "UNRESTRICTED" ]
},
{
- "id": "mask_wsurvivor_nofur_xs",
+ "id": "mask_lsurvivorxs",
"type": "TOOL_ARMOR",
- "copy-from": "mask_wsurvivor_nofur",
- "looks_like": "mask_wsurvivor_nofur",
- "name": { "str": "XS faux fur winter survivor mask" },
- "description": "A custom-built, faux fur-trimmed gas mask that covers the face and eyes. Provides excellent protection from smoke, tear gas, and shrapnel, and while not quite as warm as real fur, it's pretty good. It must be prepared before use.",
+ "copy-from": "mask_lsurvivor",
+ "looks_like": "mask_lsurvivor",
+ "name": { "str": "XS survivor half mask" },
"proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
- "flags": [ "UNDERSIZE" ]
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNDERSIZE", "UNRESTRICTED" ]
},
{
- "id": "mask_wsurvivor",
+ "id": "mask_survivor",
"type": "TOOL_ARMOR",
"category": "armor",
- "name": { "str": "winter survivor mask" },
- "description": "A custom-built, fur-trimmed gas mask that covers the face and eyes. Quite warm, it provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
+ "name": { "str": "survivor mask" },
+ "description": "A gas mask handcrafted from treated leather. It must be prepared before use.",
"weight": "682 g",
"volume": "1250 ml",
"price": 24000,
@@ -2377,63 +2279,45 @@
"ammo": "gasfilter_m",
"use_action": [ "GASMASK_ACTIVATE" ],
"tick_action": [ "GASMASK" ],
- "material": [ "kevlar_layered", "fur" ],
+ "material": [ "leather_treated", "hard_plastic_transp" ],
"symbol": "[",
- "color": "light_gray",
+ "color": "brown",
"armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 5 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 30 }
+ {
+ "material": [ { "type": "leather_treated", "covered_by_mat": 100, "thickness": 4 } ],
+ "covers": [ "mouth" ],
+ "coverage": 100,
+ "encumbrance": 35
+ },
+ {
+ "material": [ { "type": "hard_plastic_transp", "covered_by_mat": 100, "thickness": 5 } ],
+ "covers": [ "eyes" ],
+ "coverage": 100,
+ "encumbrance": 25
+ }
],
- "warmth": 75,
- "material_thickness": 3,
+ "warmth": 20,
"environmental_protection": 4,
- "environmental_protection_with_filter": 16,
- "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE" ]
+ "environmental_protection_with_filter": 15,
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "PADDED", "UNRESTRICTED" ]
},
{
- "id": "mask_wsurvivorxl",
+ "id": "mask_survivorxl",
"type": "TOOL_ARMOR",
- "category": "armor",
- "name": { "str": "XL winter survivor mask" },
- "description": "A custom-built, fur-trimmed gas mask that covers the face and eyes regardless of your state of mutation. Quite warm, it provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
- "weight": "1062 g",
- "volume": "1250 ml",
- "price": 24000,
- "price_postapoc": 1500,
- "to_hit": -3,
- "pocket_data": [
- {
- "pocket_type": "MAGAZINE_WELL",
- "rigid": true,
- "flag_restriction": [ "GASFILTER_MED" ],
- "default_magazine": "gasfilter_med"
- }
- ],
- "ammo": "gasfilter_m",
- "use_action": [ "GASMASK_ACTIVATE" ],
- "tick_action": [ "GASMASK" ],
- "material": [ "kevlar_layered", "fur" ],
- "symbol": "[",
- "color": "light_gray",
- "armor": [
- { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 10 },
- { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 35 }
- ],
- "warmth": 75,
- "material_thickness": 3,
- "environmental_protection": 4,
- "environmental_protection_with_filter": 16,
- "flags": [ "VARSIZE", "STURDY", "OVERSIZE", "SUN_GLASSES", "SLEEP_IGNORE" ]
+ "copy-from": "mask_survivor",
+ "looks_like": "mask_survivor",
+ "name": { "str": "XL survivor mask" },
+ "proportional": { "weight": 1.25, "volume": 1.25, "price": 0.5 },
+ "flags": [ "VARSIZE", "STURDY", "OVERSIZE", "SUN_GLASSES", "SLEEP_IGNORE", "PADDED", "UNRESTRICTED" ]
},
{
- "id": "mask_wsurvivorxs",
+ "id": "mask_survivorxs",
"type": "TOOL_ARMOR",
- "copy-from": "mask_wsurvivor",
- "looks_like": "mask_wsurvivor",
- "name": { "str": "XS winter survivor mask" },
- "description": "A custom-built, fur-trimmed gas mask that covers the face and eyes. Quite warm, provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
+ "copy-from": "mask_survivor",
+ "looks_like": "mask_survivor",
+ "name": { "str": "XS survivor mask" },
"proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
- "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNDERSIZE" ]
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNDERSIZE", "PADDED", "UNRESTRICTED" ]
},
{
"id": "goggles_nv",
diff --git a/data/json/materials.json b/data/json/materials.json
index 094068c974cf9..237457dae95b5 100644
--- a/data/json/materials.json
+++ b/data/json/materials.json
@@ -1336,6 +1336,31 @@
"resist": { "bash": 1, "cut": 3, "acid": 4, "heat": 2, "bullet": 2 },
"repair_difficulty": 3
},
+ {
+ "type": "material",
+ "id": "leather_treated",
+ "name": "Treated Leather",
+ "//": "Regular leather made waterproof with wax, oil, chrome tanning, etc",
+ "density": 1.1,
+ "specific_heat_liquid": 1.5,
+ "specific_heat_solid": 1.5,
+ "latent_heat": 273,
+ "soft": true,
+ "chip_resist": 10,
+ "repaired_with": "leather",
+ "salvaged_into": "leather",
+ "dmg_adj": [ "scratched", "cut", "shredded", "tattered" ],
+ "bash_dmg_verb": "ripped",
+ "cut_dmg_verb": "sliced",
+ "burn_data": [
+ { "fuel": 0.05, "smoke": 1, "burn": 0.001, "volume_per_turn": "200 ml" },
+ { "fuel": 0.1, "smoke": 3, "burn": 0.002, "volume_per_turn": "500 ml" },
+ { "fuel": 0.2, "smoke": 10, "burn": 0.004, "volume_per_turn": "1 L" }
+ ],
+ "burn_products": [ [ "corpse_ash", 0.035 ] ],
+ "resist": { "bash": 1, "cut": 3, "acid": 5, "heat": 2, "bullet": 2 },
+ "repair_difficulty": 3
+ },
{
"type": "material",
"id": "leather_arthropod",
diff --git a/data/json/obsoletion/obsolete-0.G-recipes.json b/data/json/obsoletion/obsolete-0.G-recipes.json
index 7053e9dcc9057..36b393c32d7f0 100644
--- a/data/json/obsoletion/obsolete-0.G-recipes.json
+++ b/data/json/obsoletion/obsolete-0.G-recipes.json
@@ -214,5 +214,40 @@
"result": "wire_mesh",
"type": "recipe",
"obsolete": true
+ },
+ {
+ "result": "mask_wsurvivor_nofur",
+ "type": "recipe",
+ "obsolete": true
+ },
+ {
+ "result": "xs_mask_wsurvivor_nofur",
+ "type": "recipe",
+ "obsolete": true
+ },
+ {
+ "result": "xl_mask_wsurvivor_nofur",
+ "type": "recipe",
+ "obsolete": true
+ },
+ {
+ "result": "mask_wsurvivor",
+ "type": "recipe",
+ "obsolete": true
+ },
+ {
+ "result": "xs_mask_wsurvivor",
+ "type": "recipe",
+ "obsolete": true
+ },
+ {
+ "result": "xl_mask_wsurvivor",
+ "type": "recipe",
+ "obsolete": true
+ },
+ {
+ "result": "rigid_plastic_sheet",
+ "type": "recipe",
+ "obsolete": true
}
]
diff --git a/data/json/obsoletion/obsolete_items.json b/data/json/obsoletion/obsolete_items.json
index cc0c7a50e0110..b4737bef9d2c8 100644
--- a/data/json/obsoletion/obsolete_items.json
+++ b/data/json/obsoletion/obsolete_items.json
@@ -1430,5 +1430,119 @@
"flags": [ "WATERPROOF_GUN" ],
"pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "item_restriction": [ "8x40_500_mag", "8x40_250_mag" ] } ],
"melee_damage": { "bash": 18 }
+ },
+ {
+ "id": "mask_wsurvivor_nofur",
+ "type": "TOOL_ARMOR",
+ "name": { "str": "faux fur winter survivor mask" },
+ "description": "A custom-built, faux fur-trimmed gas mask that covers the face and eyes. Provides excellent protection from smoke, tear gas, and shrapnel, and while not quite as warm as real fur, it's pretty good. It must be prepared before use.",
+ "copy-from": "mask_wsurvivor",
+ "material": [ "kevlar_layered", "faux_fur" ],
+ "symbol": "[",
+ "warmth": 65,
+ "looks_like": "mask_wsurvivor",
+ "color": "pink"
+ },
+ {
+ "id": "mask_wsurvivorxl_nofur",
+ "type": "TOOL_ARMOR",
+ "name": { "str": "XL faux fur winter survivor mask" },
+ "description": "A custom-built, faux fur-trimmed gas mask that covers the face and eyes regardless of your state of mutation. Provides excellent protection from smoke, tear gas, and shrapnel, and while not quite as warm as real fur, it's pretty good. It must be prepared before use.",
+ "copy-from": "mask_wsurvivorxl",
+ "material": [ "kevlar_layered", "faux_fur" ],
+ "symbol": "[",
+ "warmth": 65,
+ "looks_like": "mask_wsurvivorxl",
+ "color": "pink"
+ },
+ {
+ "id": "mask_wsurvivor_nofur_xs",
+ "type": "TOOL_ARMOR",
+ "copy-from": "mask_wsurvivor_nofur",
+ "looks_like": "mask_wsurvivor_nofur",
+ "name": { "str": "XS faux fur winter survivor mask" },
+ "description": "A custom-built, faux fur-trimmed gas mask that covers the face and eyes. Provides excellent protection from smoke, tear gas, and shrapnel, and while not quite as warm as real fur, it's pretty good. It must be prepared before use.",
+ "proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
+ "flags": [ "UNDERSIZE" ]
+ },
+ {
+ "id": "mask_wsurvivor",
+ "type": "TOOL_ARMOR",
+ "category": "armor",
+ "name": { "str": "winter survivor mask" },
+ "description": "A custom-built, fur-trimmed gas mask that covers the face and eyes. Quite warm, it provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
+ "weight": "682 g",
+ "volume": "1250 ml",
+ "price": 24000,
+ "price_postapoc": 1750,
+ "to_hit": -3,
+ "pocket_data": [
+ {
+ "pocket_type": "MAGAZINE_WELL",
+ "rigid": true,
+ "flag_restriction": [ "GASFILTER_MED" ],
+ "default_magazine": "gasfilter_med"
+ }
+ ],
+ "ammo": "gasfilter_m",
+ "use_action": [ "GASMASK_ACTIVATE" ],
+ "tick_action": [ "GASMASK" ],
+ "material": [ "kevlar_layered", "fur" ],
+ "symbol": "[",
+ "color": "light_gray",
+ "armor": [
+ { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 5 },
+ { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 30 }
+ ],
+ "warmth": 75,
+ "material_thickness": 3,
+ "environmental_protection": 4,
+ "environmental_protection_with_filter": 16,
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE" ]
+ },
+ {
+ "id": "mask_wsurvivorxl",
+ "type": "TOOL_ARMOR",
+ "category": "armor",
+ "name": { "str": "XL winter survivor mask" },
+ "description": "A custom-built, fur-trimmed gas mask that covers the face and eyes regardless of your state of mutation. Quite warm, it provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
+ "weight": "1062 g",
+ "volume": "1250 ml",
+ "price": 24000,
+ "price_postapoc": 1500,
+ "to_hit": -3,
+ "pocket_data": [
+ {
+ "pocket_type": "MAGAZINE_WELL",
+ "rigid": true,
+ "flag_restriction": [ "GASFILTER_MED" ],
+ "default_magazine": "gasfilter_med"
+ }
+ ],
+ "ammo": "gasfilter_m",
+ "use_action": [ "GASMASK_ACTIVATE" ],
+ "tick_action": [ "GASMASK" ],
+ "material": [ "kevlar_layered", "fur" ],
+ "symbol": "[",
+ "color": "light_gray",
+ "armor": [
+ { "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 10 },
+ { "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 35 }
+ ],
+ "warmth": 75,
+ "material_thickness": 3,
+ "environmental_protection": 4,
+ "environmental_protection_with_filter": 16,
+ "flags": [ "VARSIZE", "STURDY", "OVERSIZE", "SUN_GLASSES", "SLEEP_IGNORE" ]
+ },
+ {
+ "id": "mask_wsurvivorxs",
+ "type": "TOOL_ARMOR",
+ "copy-from": "mask_wsurvivor",
+ "looks_like": "mask_wsurvivor",
+ "name": { "str": "XS winter survivor mask" },
+ "description": "A custom-built, fur-trimmed gas mask that covers the face and eyes. Quite warm, provides excellent protection from smoke, tear gas, and shrapnel. It must be prepared before use.",
+ "proportional": { "weight": 0.75, "volume": 0.75, "price": 0.5 },
+ "flags": [ "VARSIZE", "STURDY", "SUN_GLASSES", "SLEEP_IGNORE", "UNDERSIZE" ]
}
]
diff --git a/data/json/recipes/armor/head.json b/data/json/recipes/armor/head.json
index 3b56e3283c5a3..49c9dfbf6c72f 100644
--- a/data/json/recipes/armor/head.json
+++ b/data/json/recipes/armor/head.json
@@ -1514,69 +1514,50 @@
"skill_used": "fabrication",
"difficulty": 7,
"skills_required": [ "tailor", 8 ],
- "time": "2 h",
+ "time": "6 h",
"autolearn": true,
"book_learn": [ [ "textbook_fireman", 7 ], [ "atomic_survival", 8 ], [ "textbook_gaswarfare", 9 ] ],
- "using": [ [ "adhesive", 2 ], [ "sewing_aramids", 10 ] ],
- "tools": [
- [
- [ "welder", 56 ],
- [ "welding_kit", 56 ],
- [ "welder_crude", 84 ],
- [ "soldering_iron", 84 ],
- [ "soldering_iron_portable", 84 ],
- [ "integrated_welder", 84 ]
- ]
+ "using": [ [ "sewing_aramids", 10 ], [ "tailoring_leather_patchwork", 2 ] ],
+ "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 }, { "id": "COOK", "level": 3 } ],
+ "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ],
+ "components": [
+ [ [ "glasses_bal", 2 ], [ "rigid_plastic_sheet", 1 ], [ "survivor_goggles", 1 ] ],
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "nomex", 4 ], [ "nomex_hood", 1 ] ],
+ [ [ "wax_any", 1, "LIST" ], [ "any_tallow", 4, "LIST" ] ]
],
- "qualities": [ { "id": "FABRIC_CUT", "level": 2 } ],
- "components": [ [ [ "mask_bunker", 1 ] ], [ [ "nomex", 4 ] ], [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 4 ] ] ],
- "proficiencies": [ { "proficiency": "prof_closures_waterproofing" }, { "proficiency": "prof_polymerworking" } ]
+ "proficiencies": [
+ { "proficiency": "prof_closures_waterproofing" },
+ { "proficiency": "prof_plasticworking" },
+ { "proficiency": "prof_tanning_basic" },
+ { "proficiency": "prof_tanning" },
+ { "proficiency": "prof_leatherworking_basic" },
+ { "proficiency": "prof_polymerworking" }
+ ]
},
{
"result": "mask_fsurvivorxs",
"type": "recipe",
"copy-from": "mask_fsurvivor",
- "time": "2 h",
- "using": [ [ "adhesive", 1 ], [ "sewing_aramids", 7 ] ],
- "tools": [
- [
- [ "welder", 42 ],
- [ "welding_kit", 42 ],
- [ "welder_crude", 63 ],
- [ "soldering_iron", 63 ],
- [ "soldering_iron_portable", 63 ],
- [ "integrated_welder", 63 ]
- ]
- ],
- "qualities": [ { "id": "FABRIC_CUT", "level": 2 } ],
- "components": [ [ [ "mask_bunker", 1 ] ], [ [ "nomex", 3 ] ], [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 3 ] ] ]
+ "using": [ [ "sewing_aramids", 7 ], [ "tailoring_leather_patchwork", 2 ] ],
+ "components": [
+ [ [ "glasses_bal", 1 ], [ "rigid_plastic_sheet", 1 ], [ "survivor_goggles", 1 ] ],
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "nomex", 3 ], [ "nomex_hood", 1 ] ],
+ [ [ "wax_any", 1, "LIST" ], [ "any_tallow", 2, "LIST" ] ]
+ ]
},
{
"result": "mask_fsurvivorxl",
"type": "recipe",
- "activity_level": "LIGHT_EXERCISE",
- "category": "CC_*",
- "subcategory": "CSC_*_NESTED",
- "skill_used": "fabrication",
- "difficulty": 7,
- "skills_required": [ "tailor", 8 ],
- "time": "2 h 15 m",
- "autolearn": true,
- "book_learn": [ [ "textbook_fireman", 7 ], [ "atomic_survival", 8 ], [ "textbook_gaswarfare", 9 ] ],
- "using": [ [ "adhesive", 2 ], [ "sewing_aramids", 15 ] ],
- "tools": [
- [
- [ "welder", 74 ],
- [ "welding_kit", 74 ],
- [ "welder_crude", 112 ],
- [ "soldering_iron", 112 ],
- [ "soldering_iron_portable", 112 ],
- [ "integrated_welder", 112 ]
- ]
- ],
- "qualities": [ { "id": "FABRIC_CUT", "level": 2 } ],
- "components": [ [ [ "mask_bunker", 1 ] ], [ [ "nomex", 8 ] ], [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 6 ] ] ],
- "proficiencies": [ { "proficiency": "prof_closures_waterproofing" }, { "proficiency": "prof_polymerworking" } ]
+ "copy-from": "mask_fsurvivor",
+ "using": [ [ "sewing_aramids", 15 ], [ "tailoring_leather_patchwork", 2 ] ],
+ "components": [
+ [ [ "glasses_bal", 2 ], [ "rigid_plastic_sheet", 1 ], [ "survivor_goggles", 1 ] ],
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "nomex", 6 ], [ "nomex_hood", 1 ] ],
+ [ [ "wax_any", 2, "LIST" ], [ "any_tallow", 6, "LIST" ] ]
+ ]
},
{
"result": "mask_gas",
@@ -1734,32 +1715,62 @@
"category": "CC_*",
"subcategory": "CSC_*_NESTED",
"skill_used": "fabrication",
- "difficulty": 7,
- "skills_required": [ "tailor", 7 ],
- "time": "4 h",
+ "difficulty": 6,
+ "skills_required": [ "tailor", 6 ],
+ "time": "5 h",
"autolearn": true,
- "using": [ [ "adhesive", 1 ] ],
- "qualities": [ { "id": "CUT", "level": 2 }, { "id": "FABRIC_CUT", "level": 2 } ],
- "tools": [
- [
- [ "welder", 56 ],
- [ "welding_kit", 56 ],
- [ "welder_crude", 84 ],
- [ "soldering_iron", 84 ],
- [ "soldering_iron_portable", 84 ],
- [ "integrated_welder", 84 ]
- ]
+ "book_learn": [ [ "atomic_survival", 8 ], [ "textbook_gaswarfare", 9 ] ],
+ "using": [ [ "sewing_standard", 10 ], [ "tailoring_leather_patchwork", 2 ] ],
+ "qualities": [
+ { "id": "LEATHER_AWL", "level": 1 },
+ { "id": "FABRIC_CUT", "level": 2 },
+ { "id": "OVEN", "level": 1 },
+ { "id": "HAMMER", "level": 1 },
+ { "id": "SAW_M", "level": 1 },
+ { "id": "DRILL", "level": 1 }
],
+ "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ],
"components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "scrap", 3 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 2 ] ]
+ [ [ "glasses_bal", 2 ], [ "rigid_plastic_sheet", 1 ], [ "survivor_goggles", 1 ] ],
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "sheet_metal_small", 2 ] ],
+ [ [ "wax_any", 1, "LIST" ], [ "any_tallow", 4, "LIST" ] ]
],
"proficiencies": [
{ "proficiency": "prof_closures_waterproofing" },
{ "proficiency": "prof_plasticworking" },
- { "proficiency": "prof_polymerworking" }
+ { "proficiency": "prof_tanning_basic" },
+ { "proficiency": "prof_tanning" },
+ { "proficiency": "prof_leatherworking_basic" },
+ { "proficiency": "prof_metalworking" }
+ ]
+ },
+ {
+ "result": "mask_hsurvivorxs",
+ "type": "recipe",
+ "copy-from": "mask_hsurvivor",
+ "category": "CC_*",
+ "subcategory": "CSC_*_NESTED",
+ "using": [ [ "sewing_standard", 8 ], [ "tailoring_leather_patchwork", 1 ] ],
+ "components": [
+ [ [ "glasses_bal", 1 ], [ "rigid_plastic_sheet", 1 ], [ "survivor_goggles", 1 ] ],
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "sheet_metal_small", 1 ] ],
+ [ [ "wax_any", 1, "LIST" ], [ "any_tallow", 3, "LIST" ] ]
+ ]
+ },
+ {
+ "result": "mask_hsurvivorxl",
+ "type": "recipe",
+ "copy-from": "mask_hsurvivor",
+ "category": "CC_*",
+ "subcategory": "CSC_*_NESTED",
+ "using": [ [ "sewing_standard", 13 ], [ "tailoring_leather_patchwork", 3 ] ],
+ "components": [
+ [ [ "glasses_bal", 2 ], [ "rigid_plastic_sheet", 1 ], [ "survivor_goggles", 1 ] ],
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "sheet_metal_small", 3 ] ],
+ [ [ "wax_any", 2, "LIST" ], [ "any_tallow", 6, "LIST" ] ]
]
},
{
@@ -1773,43 +1784,43 @@
"skills_required": [ "tailor", 5 ],
"time": "4 h",
"autolearn": true,
- "using": [ [ "adhesive", 1 ], [ "sewing_standard", 10 ] ],
- "qualities": [ { "id": "FABRIC_CUT", "level": 2 } ],
+ "book_learn": [ [ "atomic_survival", 8 ], [ "textbook_gaswarfare", 9 ] ],
+ "using": [ [ "sewing_standard", 10 ], [ "tailoring_leather_patchwork", 2 ] ],
+ "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 }, { "id": "OVEN", "level": 1 } ],
+ "tools": [ [ [ "surface_heat", 20, "LIST" ] ] ],
"components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "cotton_patchwork", 3 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 2 ] ]
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "wax_any", 1, "LIST" ], [ "any_tallow", 4, "LIST" ] ]
],
"proficiencies": [
{ "proficiency": "prof_closures_waterproofing" },
- { "proficiency": "prof_plasticworking" },
- { "proficiency": "prof_polymerworking" }
+ { "proficiency": "prof_tanning_basic" },
+ { "proficiency": "prof_tanning" },
+ { "proficiency": "prof_leatherworking_basic" }
+ ]
+ },
+ {
+ "result": "mask_lsurvivorxs",
+ "type": "recipe",
+ "copy-from": "mask_lsurvivor",
+ "category": "CC_*",
+ "subcategory": "CSC_*_NESTED",
+ "using": [ [ "sewing_standard", 8 ], [ "tailoring_leather_patchwork", 1 ] ],
+ "components": [
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "wax_any", 1, "LIST" ], [ "any_tallow", 3, "LIST" ] ]
]
},
{
"result": "mask_lsurvivorxl",
"type": "recipe",
- "activity_level": "LIGHT_EXERCISE",
+ "copy-from": "mask_lsurvivor",
"category": "CC_*",
"subcategory": "CSC_*_NESTED",
- "skill_used": "fabrication",
- "difficulty": 6,
- "skills_required": [ "tailor", 5 ],
- "time": "4 h 30 m",
- "autolearn": true,
- "using": [ [ "adhesive", 2 ], [ "sewing_standard", 20 ] ],
- "qualities": [ { "id": "FABRIC_CUT", "level": 2 } ],
+ "using": [ [ "sewing_standard", 13 ], [ "tailoring_leather_patchwork", 3 ] ],
"components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "cotton_patchwork", 6 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 3 ] ]
- ],
- "proficiencies": [
- { "proficiency": "prof_closures_waterproofing" },
- { "proficiency": "prof_plasticworking" },
- { "proficiency": "prof_polymerworking" }
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "wax_any", 2, "LIST" ], [ "any_tallow", 6, "LIST" ] ]
]
},
{
@@ -1856,127 +1867,49 @@
"skill_used": "fabrication",
"difficulty": 6,
"skills_required": [ "tailor", 6 ],
- "time": "4 h",
+ "time": "5 h",
"autolearn": true,
- "using": [ [ "adhesive", 1 ], [ "sewing_aramids", 10 ] ],
- "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 } ],
+ "book_learn": [ [ "atomic_survival", 8 ], [ "textbook_gaswarfare", 9 ] ],
+ "using": [ [ "sewing_standard", 10 ], [ "tailoring_leather_patchwork", 2 ] ],
+ "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 }, { "id": "OVEN", "level": 1 } ],
+ "tools": [ [ [ "surface_heat", 20, "LIST" ] ] ],
"components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "leather", 3 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 4 ] ]
+ [ [ "glasses_bal", 2 ], [ "rigid_plastic_sheet", 1 ], [ "survivor_goggles", 1 ] ],
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "wax_any", 1, "LIST" ], [ "any_tallow", 4, "LIST" ] ]
],
"proficiencies": [
{ "proficiency": "prof_closures_waterproofing" },
{ "proficiency": "prof_plasticworking" },
- { "proficiency": "prof_polymerworking" }
+ { "proficiency": "prof_tanning_basic" },
+ { "proficiency": "prof_tanning" },
+ { "proficiency": "prof_leatherworking_basic" }
]
},
{
"result": "mask_survivorxs",
"type": "recipe",
"copy-from": "mask_survivor",
- "time": "4 h",
- "using": [ [ "adhesive", 1 ], [ "sewing_aramids", 7 ] ],
- "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 } ],
- "components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "leather", 2 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 3 ] ]
- ]
- },
- {
- "result": "mask_survivorxl",
- "type": "recipe",
- "activity_level": "LIGHT_EXERCISE",
- "category": "CC_*",
- "subcategory": "CSC_*_NESTED",
- "skill_used": "fabrication",
- "difficulty": 6,
- "skills_required": [ "tailor", 5 ],
- "time": "4 h 30 m",
- "autolearn": true,
- "using": [ [ "adhesive", 2 ], [ "sewing_aramids", 15 ] ],
- "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 } ],
- "components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "leather", 6 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 6 ] ]
- ],
- "proficiencies": [
- { "proficiency": "prof_closures_waterproofing" },
- { "proficiency": "prof_plasticworking" },
- { "proficiency": "prof_polymerworking" }
- ]
- },
- {
- "result": "mask_wsurvivor",
- "type": "recipe",
- "activity_level": "LIGHT_EXERCISE",
"category": "CC_*",
"subcategory": "CSC_*_NESTED",
- "skill_used": "fabrication",
- "difficulty": 7,
- "skills_required": [ "tailor", 7 ],
- "time": "4 h",
- "autolearn": true,
- "using": [ [ "adhesive", 1 ], [ "sewing_aramids", 10 ] ],
- "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 } ],
+ "using": [ [ "sewing_standard", 8 ], [ "tailoring_leather_patchwork", 1 ] ],
"components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 4 ] ],
- [ [ "fur", 8 ], [ "tanned_pelt", 1 ] ]
- ],
- "proficiencies": [
- { "proficiency": "prof_plasticworking" },
- { "proficiency": "prof_leatherworking_basic" },
- { "proficiency": "prof_furriery" },
- { "proficiency": "prof_closures_waterproofing" },
- { "proficiency": "prof_polymerworking" }
+ [ [ "glasses_bal", 1 ], [ "rigid_plastic_sheet", 1 ], [ "survivor_goggles", 1 ] ],
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "wax_any", 1, "LIST" ], [ "any_tallow", 3, "LIST" ] ]
]
},
{
- "result": "mask_wsurvivorxs",
- "type": "recipe",
- "copy-from": "mask_wsurvivor",
- "time": "4 h",
- "using": [ [ "adhesive", 1 ], [ "sewing_aramids", 7 ] ],
- "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 } ],
- "components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 3 ] ],
- [ [ "fur", 5 ], [ "tanned_pelt", 1 ] ]
- ]
- },
- {
- "result": "mask_wsurvivorxl",
+ "result": "mask_survivorxl",
"type": "recipe",
- "activity_level": "LIGHT_EXERCISE",
+ "copy-from": "mask_survivor",
"category": "CC_*",
"subcategory": "CSC_*_NESTED",
- "skill_used": "fabrication",
- "difficulty": 7,
- "skills_required": [ "tailor", 7 ],
- "time": "4 h 30 m",
- "autolearn": true,
- "using": [ [ "adhesive", 1 ], [ "sewing_aramids", 15 ] ],
- "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 } ],
+ "using": [ [ "sewing_standard", 13 ], [ "tailoring_leather_patchwork", 3 ] ],
"components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 4 ] ],
- [ [ "fur", 12 ], [ "tanned_pelt", 2 ] ]
- ],
- "proficiencies": [
- { "proficiency": "prof_plasticworking" },
- { "proficiency": "prof_leatherworking_basic" },
- { "proficiency": "prof_furriery" },
- { "proficiency": "prof_closures_waterproofing" },
- { "proficiency": "prof_polymerworking" }
+ [ [ "glasses_bal", 2 ], [ "rigid_plastic_sheet", 1 ], [ "survivor_goggles", 1 ] ],
+ [ [ "mask_gas", 1 ], [ "mask_bunker", 1 ], [ "mask_gas_half", 1 ], [ "mask_gas_xs", 1 ], [ "mask_gas_xl", 1 ] ],
+ [ [ "wax_any", 2, "LIST" ], [ "any_tallow", 6, "LIST" ] ]
]
},
{
@@ -2331,7 +2264,7 @@
[ "fancy_sunglasses", 1 ],
[ "fitover_sunglasses", 1 ]
],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
+ [ [ "polycarbonate_chunk", 4 ], [ "glasses_bal", 2 ] ],
[ [ "leather", 3 ] ],
[ [ "sheet_kevlar_layered", 2 ] ]
],
diff --git a/data/json/recipes/armor/suit.json b/data/json/recipes/armor/suit.json
index 26fdd65170190..25c9a7e04733f 100644
--- a/data/json/recipes/armor/suit.json
+++ b/data/json/recipes/armor/suit.json
@@ -1784,75 +1784,6 @@
]
]
},
- {
- "result": "mask_wsurvivor_nofur",
- "type": "recipe",
- "activity_level": "LIGHT_EXERCISE",
- "category": "CC_*",
- "subcategory": "CSC_*_NESTED",
- "skill_used": "fabrication",
- "difficulty": 7,
- "skills_required": [ "tailor", 7 ],
- "time": "4 h",
- "autolearn": true,
- "using": [ [ "adhesive", 1 ], [ "sewing_standard", 10 ] ],
- "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 } ],
- "components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 4 ] ],
- [ [ "faux_fur", 6 ] ]
- ],
- "proficiencies": [
- { "proficiency": "prof_plasticworking" },
- { "proficiency": "prof_leatherworking_basic" },
- { "proficiency": "prof_closures_waterproofing" },
- { "proficiency": "prof_polymerworking" }
- ],
- "byproducts": [ [ "scrap_faux_fur", 1 ] ]
- },
- {
- "result": "mask_wsurvivor_nofur_xs",
- "type": "recipe",
- "copy-from": "mask_wsurvivor_nofur",
- "time": "4 h",
- "using": [ [ "adhesive", 1 ], [ "sewing_standard", 7 ] ],
- "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 } ],
- "components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 3 ] ],
- [ [ "faux_fur", 4 ] ]
- ],
- "byproducts": [ [ "scrap_faux_fur", 1 ] ]
- },
- {
- "result": "mask_wsurvivorxl_nofur",
- "type": "recipe",
- "activity_level": "LIGHT_EXERCISE",
- "category": "CC_*",
- "subcategory": "CSC_*_NESTED",
- "skill_used": "fabrication",
- "difficulty": 7,
- "skills_required": [ "tailor", 7 ],
- "time": "4 h",
- "autolearn": true,
- "using": [ [ "adhesive", 1 ], [ "sewing_standard", 20 ] ],
- "qualities": [ { "id": "LEATHER_AWL", "level": 1 }, { "id": "FABRIC_CUT", "level": 2 } ],
- "components": [
- [ [ "mask_filter", 2 ], [ "mask_gas", 1 ], [ "mask_bunker", 1 ] ],
- [ [ "glasses_safety", 2 ], [ "glasses_bal", 1 ] ],
- [ [ "mask_bal", 1 ], [ "sheet_kevlar_layered", 4 ] ],
- [ [ "faux_fur", 12 ] ]
- ],
- "proficiencies": [
- { "proficiency": "prof_plasticworking" },
- { "proficiency": "prof_leatherworking_basic" },
- { "proficiency": "prof_closures_waterproofing" },
- { "proficiency": "prof_polymerworking" }
- ],
- "byproducts": [ [ "scrap_faux_fur", 3 ] ]
- },
{
"result": "hsurvivor_jumpsuit",
"type": "recipe",
diff --git a/data/json/recipes/nested.json b/data/json/recipes/nested.json
index 59b80b2edbb5b..ba0e84b49221a 100644
--- a/data/json/recipes/nested.json
+++ b/data/json/recipes/nested.json
@@ -2918,25 +2918,6 @@
"nested_category_data": [ "mask_survivor", "mask_survivorxs", "mask_survivorxl" ],
"difficulty": 6
},
- {
- "id": "nested_mask_wsurvivor",
- "type": "nested_category",
- "activity_level": "LIGHT_EXERCISE",
- "category": "CC_*",
- "subcategory": "CSC_*_NESTED",
- "name": "winter survivor masks",
- "description": "Recipes related to constructing various sizes of survivor masks better suited for cold environments.",
- "skill_used": "fabrication",
- "nested_category_data": [
- "mask_wsurvivor",
- "mask_wsurvivorxs",
- "mask_wsurvivorxl",
- "mask_wsurvivor_nofur",
- "mask_wsurvivor_nofur_xs",
- "mask_wsurvivorxl_nofur"
- ],
- "difficulty": 7
- },
{
"id": "nested_mask_fsurvivor",
"type": "nested_category",
@@ -2970,7 +2951,7 @@
"name": "heavy survivor masks",
"description": "Recipes related to constructing various sizes of heavy survivor masks.",
"skill_used": "fabrication",
- "nested_category_data": [ "mask_hsurvivor" ],
+ "nested_category_data": [ "mask_hsurvivor", "mask_hsurvivorxl", "mask_hsurvivorxs" ],
"difficulty": 7
},
{
@@ -2979,10 +2960,10 @@
"activity_level": "LIGHT_EXERCISE",
"category": "CC_*",
"subcategory": "CSC_*_NESTED",
- "name": "light survivor masks",
- "description": "Recipes related to constructing various sizes of light survivor masks.",
+ "name": "half survivor masks",
+ "description": "Recipes related to constructing various sizes of half survivor masks.",
"skill_used": "fabrication",
- "nested_category_data": [ "mask_lsurvivor", "mask_lsurvivorxl" ],
+ "nested_category_data": [ "mask_lsurvivor", "mask_lsurvivorxl", "mask_lsurvivorxs" ],
"difficulty": 6
},
{
@@ -2996,11 +2977,10 @@
"skill_used": "fabrication",
"nested_category_data": [
"nested_mask_survivor",
- "nested_mask_wsurvivor",
"nested_mask_fsurvivor",
- "nested_mask_h20survivor",
"nested_mask_hsurvivor",
- "nested_mask_lsurvivor"
+ "nested_mask_lsurvivor",
+ "nested_mask_h20survivor"
],
"difficulty": 6
},
diff --git a/data/json/recipes/other/parts_construction.json b/data/json/recipes/other/parts_construction.json
index 53a28853b7497..f110bd8e2bffc 100644
--- a/data/json/recipes/other/parts_construction.json
+++ b/data/json/recipes/other/parts_construction.json
@@ -501,20 +501,6 @@
],
"components": [ [ [ "glass_shard", 227 ] ] ]
},
- {
- "type": "recipe",
- "activity_level": "BRISK_EXERCISE",
- "result": "rigid_plastic_sheet",
- "category": "CC_OTHER",
- "subcategory": "CSC_OTHER_MATERIALS",
- "skill_used": "fabrication",
- "difficulty": 4,
- "time": "1 h",
- "autolearn": true,
- "proficiencies": [ { "proficiency": "prof_plasticworking" } ],
- "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "sheet_metal", -1 ] ], [ [ "forge", 75 ] ] ],
- "components": [ [ [ "plastic_chunk", 200 ] ] ]
- },
{
"type": "recipe",
"activity_level": "ACTIVE_EXERCISE",
diff --git a/data/json/requirements/toolsets.json b/data/json/requirements/toolsets.json
index d39e1d852ac18..2dc12ced3eb5c 100644
--- a/data/json/requirements/toolsets.json
+++ b/data/json/requirements/toolsets.json
@@ -457,18 +457,12 @@
[ "mask_gas_xs", -1 ],
[ "mask_gas_xl", -1 ],
[ "mask_bunker", -1 ],
- [ "mask_survivor", -1 ],
- [ "mask_lsurvivor", -1 ],
- [ "mask_hsurvivor", -1 ],
- [ "mask_survivorxl", -1 ],
- [ "mask_lsurvivorxl", -1 ],
- [ "mask_survivorxs", -1 ],
- [ "mask_wsurvivor", -1 ],
- [ "mask_wsurvivorxl", -1 ],
- [ "mask_wsurvivorxs", -1 ],
- [ "mask_wsurvivor_nofur", -1 ],
- [ "mask_wsurvivor_nofur_xs", -1 ],
- [ "mask_wsurvivorxl_nofur", -1 ]
+ [ "mask_survivor", 1 ],
+ [ "mask_survivorxs", 1 ],
+ [ "mask_survivorxl", 1 ],
+ [ "mask_hsurvivor", 1 ],
+ [ "mask_hsurvivorxl", 1 ],
+ [ "mask_hsurvivorxs", 1 ]
]
]
},
@@ -485,17 +479,14 @@
[ "mask_gas_half", 1 ],
[ "mask_bunker", 1 ],
[ "mask_survivor", 1 ],
- [ "mask_lsurvivor", 1 ],
- [ "mask_hsurvivor", 1 ],
+ [ "mask_survivorxs", 1 ],
[ "mask_survivorxl", 1 ],
+ [ "mask_hsurvivor", 1 ],
+ [ "mask_hsurvivorxl", 1 ],
+ [ "mask_hsurvivorxs", 1 ],
+ [ "mask_lsurvivor", 1 ],
[ "mask_lsurvivorxl", 1 ],
- [ "mask_survivorxs", 1 ],
- [ "mask_wsurvivor", 1 ],
- [ "mask_wsurvivorxl", 1 ],
- [ "mask_wsurvivorxs", 1 ],
- [ "mask_wsurvivor_nofur", 1 ],
- [ "mask_wsurvivor_nofur_xs", 1 ],
- [ "mask_wsurvivorxl_nofur", 1 ]
+ [ "mask_lsurvivorxs", 1 ]
]
]
},
diff --git a/data/json/uncraft/resources/plastic.json b/data/json/uncraft/resources/plastic.json
new file mode 100644
index 0000000000000..a1565fab3509a
--- /dev/null
+++ b/data/json/uncraft/resources/plastic.json
@@ -0,0 +1,10 @@
+[
+ {
+ "result": "rigid_plastic_sheet",
+ "type": "uncraft",
+ "activity_level": "MODERATE_EXERCISE",
+ "time": "5 m",
+ "qualities": [ { "id": "SAW_W", "level": 2 } ],
+ "components": [ [ [ "polycarbonate_chunk", 50 ] ] ]
+ }
+]
diff --git a/src/character.cpp b/src/character.cpp
index eaf74dbf3df30..4a41b35d980ba 100644
--- a/src/character.cpp
+++ b/src/character.cpp
@@ -4068,7 +4068,7 @@ void Character::apply_mut_encumbrance( std::map &
const std::vector all_muts = get_mutations();
std::map total_enc;
- // Lower penalty for bps covered only by XL armor
+ // Lower penalty for bps covered only by XL or unrestricted armor
// Initialized on demand for performance reasons:
// (calculation is costly, most of players and npcs are don't have encumbering mutations)
diff --git a/src/character_attire.cpp b/src/character_attire.cpp
index c1ab16acfcdfb..f7db871f12eff 100644
--- a/src/character_attire.cpp
+++ b/src/character_attire.cpp
@@ -106,7 +106,8 @@ ret_val Character::can_wear( const item &it, bool with_equip_change ) cons
return ret_val::make_failure( _( "Can't wear that, it's filthy!" ) );
}
- if( !it.has_flag( flag_OVERSIZE ) && !it.has_flag( flag_SEMITANGIBLE ) ) {
+ if( !it.has_flag( flag_OVERSIZE ) && !it.has_flag( flag_SEMITANGIBLE ) &&
+ !it.has_flag( flag_UNRESTRICTED ) ) {
for( const trait_id &mut : get_mutations() ) {
const mutation_branch &branch = mut.obj();
if( branch.conflicts_with_item( it ) ) {
@@ -1058,7 +1059,8 @@ bool outfit::wearing_something_on( const bodypart_id &bp ) const
bool outfit::wearing_fitting_on( const bodypart_id &bp ) const
{
for( const item &i : worn ) {
- if( i.covers( bp ) && !i.has_flag( flag_INTEGRATED ) && !i.has_flag( flag_OVERSIZE ) ) {
+ if( i.covers( bp ) && !i.has_flag( flag_INTEGRATED ) && !i.has_flag( flag_OVERSIZE ) &&
+ !i.has_flag( flag_UNRESTRICTED ) ) {
return true;
}
}
diff --git a/src/flag.cpp b/src/flag.cpp
index 0389207f55f6f..cf887e7190956 100644
--- a/src/flag.cpp
+++ b/src/flag.cpp
@@ -342,6 +342,7 @@ const flag_id flag_UNDERFED( "UNDERFED" );
const flag_id flag_UNDERSIZE( "UNDERSIZE" );
const flag_id flag_UNDERWATER_GUN( "UNDERWATER_GUN" );
const flag_id flag_UNRECOVERABLE( "UNRECOVERABLE" );
+const flag_id flag_UNRESTRICTED( "UNRESTRICTED" );
const flag_id flag_URSINE_HONEY( "URSINE_HONEY" );
const flag_id flag_USES_BIONIC_POWER( "USES_BIONIC_POWER" );
const flag_id flag_USE_EAT_VERB( "USE_EAT_VERB" );
diff --git a/src/flag.h b/src/flag.h
index d12a88d160937..5dedc6dc1b04f 100644
--- a/src/flag.h
+++ b/src/flag.h
@@ -348,6 +348,7 @@ extern const flag_id flag_UNDERFED;
extern const flag_id flag_UNDERSIZE;
extern const flag_id flag_UNDERWATER_GUN;
extern const flag_id flag_UNRECOVERABLE;
+extern const flag_id flag_UNRESTRICTED;
extern const flag_id flag_URSINE_HONEY;
extern const flag_id flag_USES_BIONIC_POWER;
extern const flag_id flag_USE_EAT_VERB;