From 9b0fa63ea4d4022a8da92ed4b4063d0411bb07cf Mon Sep 17 00:00:00 2001 From: "Matty C." Date: Thu, 16 Apr 2026 00:00:10 -0400 Subject: [PATCH 01/10] Change patchwork cotton sheet to mathematical density for 207gsm thread --- data/json/items/resources/tailoring.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/resources/tailoring.json b/data/json/items/resources/tailoring.json index 918a74c91121b..0d6d7b72285cf 100644 --- a/data/json/items/resources/tailoring.json +++ b/data/json/items/resources/tailoring.json @@ -362,7 +362,7 @@ "type": "ITEM", "name": { "str": "patchwork cotton sheet" }, "description": "A 12-inch by 24-inch sheet of cotton sewn together from patches of various clothing parts. Suitable for making clothing if you lack proper material sheets.", - "//density": ".80 grams per mL, 203 GSM", + "//density": ".67 grams per mL, 203 GSM", "price": "2 USD", "price_postapoc": "20 cent" }, From 57be82f7024330812c41e76168e83525f53cedd1 Mon Sep 17 00:00:00 2001 From: "Matty C." Date: Thu, 16 Apr 2026 01:22:46 -0400 Subject: [PATCH 02/10] Update "armor_aztec" recipe and comments to reflect reality better. --- data/json/recipes/armor/torso.json | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/data/json/recipes/armor/torso.json b/data/json/recipes/armor/torso.json index 7a43487cd01d8..326f4b6f40f54 100644 --- a/data/json/recipes/armor/torso.json +++ b/data/json/recipes/armor/torso.json @@ -307,15 +307,16 @@ "result": "armor_aztec", "type": "recipe", "activity_level": "LIGHT_EXERCISE", - "//1": "Average ichcahuipilli was around 1 inch (~2.5 cm) thick. As cotton padding constituted the majority of its protective qualities, I'll consider the quilted part 0.5 cm thick.", - "//2": "This leaves us with 20 layers of cotton sheets, taking the thickness of a cotton sheet as 0.25 mm.", + "//1": "Average ichcahuipilli was around 1.6 fingers (~3 cm) thick. As unspun cotton padding constituted the majority of its protective qualities, I'll consider the quilted part 0.5 cm thick.", + "//2": "This leaves us with 17 layers of cotton sheets, taking the thickness of a cotton sheet as 0.3mm.", "//3": "Average length of a human male is around 170 cm. Average weight of a human (in North America) is 80 kg. BSA calculation and rule of the nines gives us about 0,68 m^2 or 7,3 sq feet.", "//3.5": "I'll round that down to 7 for ease, as well as compensating for average woman being shorter and thinner and Americans being exceptionally fat.", "//4": "Our cotton sheets are 1x2 feet. 20 layers x 7 sq ft / 2 sq ft of the sheets = 70 sheets. I know the outer layer of quilting would require more sheets because of the padding inbetween but I won't bother doing the maths for it", - "//5": "Cotton padding inbetween would make 0.065 ft (2 cm of cotton) x 7 sq ft of torso = 0,455 cube ft which is about 12,88 liters of cotton. Once again this calculation is off but again, I can't do the maths.", - "//5.5": "That's about… a lot of cotton, 1288 patches or 429 balls or 257 sheets to be precise. Byproducts I made up.", - "//6": "That's 70x0,04 + 1288x0,01 = 15,6 kgs and some more for leather and salt wtf", - "//7": "And 70x0,05 + 1288x0,01 = 16,3 L.", + "//5": "Cotton padding inbetween would make 0,082 ft (2.5 cm of cotton) x 7 sq ft of torso = 0,574 cube ft of cotton.", + "//6": "At the density of baled cotton, i.e. dried and packed, 0,448g/cm^3 = 12,7 kg/ft^3, the total weight of cotton padding = 7.28kg.", + "//7": "This is 610 cotton balls, by weight, which is 15.25L of cotton balls. Quite a few, but they get packed down a lot in the quilting process.", + "//7.5": "Equivalently; 8.5k scraps, 320 sheets, 1600 patchworks. It's quite a lot but not all of it is actually used", + "//8": "Use some adjusted gambeson values for the volume here, due to firsthand accounts of the armor being relatively light and mobile.", "category": "CC_ARMOR", "subcategory": "CSC_ARMOR_TORSO", "skill_used": "tailor", @@ -329,16 +330,16 @@ "using": [ [ "tailoring_cotton_patchwork", 70 ], [ "filament", 100 ] ], "components": [ [ - [ "cotton_patchwork", 1288 ], - [ "scrap_cotton", 6000 ], - [ "cotton_ball", 429 ], - [ "sheet_cotton", 257 ], - [ "sheet_cotton_patchwork", 257 ] + [ "cotton_patchwork", 1600 ], + [ "scrap_cotton", 8500 ], + [ "cotton_ball", 610 ], + [ "sheet_cotton", 320 ], + [ "sheet_cotton_patchwork", 320 ] ], [ [ "salt_water", 80 ] ], [ [ "sheet_leather", 5 ], [ "sheet_leather_patchwork", 5 ] ] ], - "byproducts": [ [ "scrap_cotton", 250 ], [ "cotton_patchwork", 40 ] ] + "byproducts": [ [ "scrap_cotton", 300 ], [ "cotton_patchwork", 80 ] ] }, { "result": "chestguard_metal_sheets", From c6c2f4288492a637aa2a38b15a2b3e9d00fbe947 Mon Sep 17 00:00:00 2001 From: "Matty C." Date: Thu, 16 Apr 2026 01:59:07 -0400 Subject: [PATCH 03/10] Add "raw_cotton" material better simulate protection large gambeson padding. --- data/json/materials.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/data/json/materials.json b/data/json/materials.json index f5a293f7f753b..9b93e29c26f59 100644 --- a/data/json/materials.json +++ b/data/json/materials.json @@ -648,7 +648,16 @@ "name": "Salt Hardened Quilted Cotton", "copy-from": "cotton", "repaired_with": "null", - "resist": { "bash": 3.5, "cut": 3.5, "acid": 5, "heat": 10, "bullet": 2 } + "resist": { "bash": 2.5, "cut": 2.5, "acid": 5, "heat": 10, "bullet": 2 } + }, + { + "type": "material", + "//": "low-density cotton for packing in gambeson", + "id": "cotton_raw", + "name": "Raw Cotton", + "copy-from": "cotton", + "repaired_with": "null", + "resist": { "bash": 0.1, "cut": 0.2, "acid": 0, "heat": 0, "bullet": 0.1} }, { "type": "material", From 87d60a270f62ed9f6cebf86d8e171a415129dc8d Mon Sep 17 00:00:00 2001 From: "Matty C." Date: Thu, 16 Apr 2026 02:01:59 -0400 Subject: [PATCH 04/10] Change values for "armor_aztec" to reflect irl description and in-game recipe. --- data/json/items/armor/torso_armor.json | 14 +++++++------- data/json/recipes/armor/torso.json | 3 +-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/data/json/items/armor/torso_armor.json b/data/json/items/armor/torso_armor.json index e09f868f86056..61bf788283d95 100644 --- a/data/json/items/armor/torso_armor.json +++ b/data/json/items/armor/torso_armor.json @@ -391,17 +391,17 @@ "subtypes": [ "ARMOR" ], "category": "armor", "name": { "str": "ichcahuipilli" }, - "description": "A Mesoamerican armor of Nahuatl origin, somewhat similar to a European gambeson. It is made of unspun cotton between two layers of quilted cotton crystalized by brine, edged with leather around its holes. It is extremely thick and offers superb protection, but is also heavy. This bad boy once stopped Spanish bullets and Aztec missiles alike, now its time has come to stop zombie bites.", - "//": "Reasoning for weight and volume parts are within the recipe.", - "weight": "8150 g", - "volume": "16300 ml", + "description": "A Mesoamerican armor of Nahuatl origin, somewhat similar to a European gambeson. It is made of unspun cotton between two layers of quilted cotton crystalized by brine, edged with leather around its holes. It is very thick and offers good protection from attacks and staves off the heat. This bad boy once stopped Spanish bullets and Aztec missiles alike, now its time has come to stop zombie bites.", + "//": "Reasoning for weight and volume in recipe, but stats roughly equalized to wool gambeson.", + "weight": "7280 g", + "volume": "15300 ml", "symbol": "[", "color": "light_gray", "looks_like": "gambeson", "price": "200 USD", "price_postapoc": "25 USD", "material": [ "cotton" ], - "warmth": 80, + "warmth": 50, "environmental_protection": 4, "flags": [ "VARSIZE", "STURDY", "NORMAL", "RAINPROOF", "NO_REPAIR", "BLOCK_WHILE_WORN" ], "max_worn": 1, @@ -409,12 +409,12 @@ { "material": [ { "type": "cotton_quilted_salted", "covered_by_mat": 100, "thickness": 2.5 }, - { "type": "cotton", "covered_by_mat": 95, "thickness": 20 }, + { "type": "raw_cotton", "covered_by_mat": 95, "thickness": 25 }, { "type": "cotton_quilted_salted", "covered_by_mat": 100, "thickness": 2.5 } ], "covers": [ "torso" ], "coverage": 100, - "encumbrance": 40 + "encumbrance": 17 } ] }, diff --git a/data/json/recipes/armor/torso.json b/data/json/recipes/armor/torso.json index 326f4b6f40f54..d4b8f141a34e1 100644 --- a/data/json/recipes/armor/torso.json +++ b/data/json/recipes/armor/torso.json @@ -315,8 +315,7 @@ "//5": "Cotton padding inbetween would make 0,082 ft (2.5 cm of cotton) x 7 sq ft of torso = 0,574 cube ft of cotton.", "//6": "At the density of baled cotton, i.e. dried and packed, 0,448g/cm^3 = 12,7 kg/ft^3, the total weight of cotton padding = 7.28kg.", "//7": "This is 610 cotton balls, by weight, which is 15.25L of cotton balls. Quite a few, but they get packed down a lot in the quilting process.", - "//7.5": "Equivalently; 8.5k scraps, 320 sheets, 1600 patchworks. It's quite a lot but not all of it is actually used", - "//8": "Use some adjusted gambeson values for the volume here, due to firsthand accounts of the armor being relatively light and mobile.", + "//7.5": "Equivalently; 8.5k scraps, 320 sheets, 1600 patchworks. It's quite a lot but not all of it is actually used.", "category": "CC_ARMOR", "subcategory": "CSC_ARMOR_TORSO", "skill_used": "tailor", From 67ce30adf83e30bdf243c512eeefa970d8ca0424 Mon Sep 17 00:00:00 2001 From: "Matty C." Date: Thu, 16 Apr 2026 02:15:05 -0400 Subject: [PATCH 05/10] Fix mis-attributed material id --- data/json/items/armor/torso_armor.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/armor/torso_armor.json b/data/json/items/armor/torso_armor.json index 61bf788283d95..baa36f6cce5b9 100644 --- a/data/json/items/armor/torso_armor.json +++ b/data/json/items/armor/torso_armor.json @@ -409,7 +409,7 @@ { "material": [ { "type": "cotton_quilted_salted", "covered_by_mat": 100, "thickness": 2.5 }, - { "type": "raw_cotton", "covered_by_mat": 95, "thickness": 25 }, + { "type": "cotton_raw", "covered_by_mat": 95, "thickness": 25 }, { "type": "cotton_quilted_salted", "covered_by_mat": 100, "thickness": 2.5 } ], "covers": [ "torso" ], From 496eb55bf33580262fabaea330831d620dbb0c06 Mon Sep 17 00:00:00 2001 From: "Matty C." Date: Thu, 16 Apr 2026 02:45:22 -0400 Subject: [PATCH 06/10] Tune raw_cotton resist values --- data/json/materials.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/materials.json b/data/json/materials.json index 9b93e29c26f59..51930e67247f8 100644 --- a/data/json/materials.json +++ b/data/json/materials.json @@ -657,7 +657,7 @@ "name": "Raw Cotton", "copy-from": "cotton", "repaired_with": "null", - "resist": { "bash": 0.1, "cut": 0.2, "acid": 0, "heat": 0, "bullet": 0.1} + "resist": { "bash": 0.2, "cut": 0.05, "acid": 0, "heat": 0, "bullet": 0.2 } }, { "type": "material", From d08a736bed69d335e4cd8324810cfe9ef089ea05 Mon Sep 17 00:00:00 2001 From: "Matty C." Date: Thu, 16 Apr 2026 03:08:45 -0400 Subject: [PATCH 07/10] Normalize encumbrance and give "OUTER" flag to aztec torso armor --- data/json/items/armor/torso_armor.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/items/armor/torso_armor.json b/data/json/items/armor/torso_armor.json index baa36f6cce5b9..071e37203acba 100644 --- a/data/json/items/armor/torso_armor.json +++ b/data/json/items/armor/torso_armor.json @@ -403,7 +403,7 @@ "material": [ "cotton" ], "warmth": 50, "environmental_protection": 4, - "flags": [ "VARSIZE", "STURDY", "NORMAL", "RAINPROOF", "NO_REPAIR", "BLOCK_WHILE_WORN" ], + "flags": [ "VARSIZE", "STURDY", "NORMAL", "OUTER", "RAINPROOF", "NO_REPAIR", "BLOCK_WHILE_WORN" ], "max_worn": 1, "armor": [ { @@ -414,7 +414,7 @@ ], "covers": [ "torso" ], "coverage": 100, - "encumbrance": 17 + "encumbrance": 27 } ] }, From a272d1774e93be304ffd45d21aeb718c47fc0ff8 Mon Sep 17 00:00:00 2001 From: "Matty C." Date: Thu, 16 Apr 2026 03:11:03 -0400 Subject: [PATCH 08/10] Adjust materials values --- data/json/materials.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/materials.json b/data/json/materials.json index 51930e67247f8..4b930943b880f 100644 --- a/data/json/materials.json +++ b/data/json/materials.json @@ -648,7 +648,7 @@ "name": "Salt Hardened Quilted Cotton", "copy-from": "cotton", "repaired_with": "null", - "resist": { "bash": 2.5, "cut": 2.5, "acid": 5, "heat": 10, "bullet": 2 } + "resist": { "bash": 2, "cut": 2.5, "acid": 5, "heat": 10, "bullet": 1.5 } }, { "type": "material", From d5778493898bef3269169ce06444b12152f6a202 Mon Sep 17 00:00:00 2001 From: "Matty C." Date: Thu, 16 Apr 2026 03:22:35 -0400 Subject: [PATCH 09/10] Update description, fix grammatical error --- data/json/items/armor/torso_armor.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/armor/torso_armor.json b/data/json/items/armor/torso_armor.json index 071e37203acba..d5cd4415e6814 100644 --- a/data/json/items/armor/torso_armor.json +++ b/data/json/items/armor/torso_armor.json @@ -391,7 +391,7 @@ "subtypes": [ "ARMOR" ], "category": "armor", "name": { "str": "ichcahuipilli" }, - "description": "A Mesoamerican armor of Nahuatl origin, somewhat similar to a European gambeson. It is made of unspun cotton between two layers of quilted cotton crystalized by brine, edged with leather around its holes. It is very thick and offers good protection from attacks and staves off the heat. This bad boy once stopped Spanish bullets and Aztec missiles alike, now its time has come to stop zombie bites.", + "description": "A Mesoamerican armor of Nahuatl origin, somewhat similar to a European gambeson. It is made of unspun cotton between two layers of quilted cotton crystalized by brine, edged with leather around its holes. It is very thick, offers good protection from attacks, and isn't too warm. This bad boy once stopped Spanish bullets and Aztec missiles alike, now its time has come to stop zombie bites.", "//": "Reasoning for weight and volume in recipe, but stats roughly equalized to wool gambeson.", "weight": "7280 g", "volume": "15300 ml", From 5c9f8d077398e2545ace789c4ee3d26ba55c1fce Mon Sep 17 00:00:00 2001 From: "Matty C." <71330200+BruhddyTheThird@users.noreply.github.com> Date: Thu, 16 Apr 2026 03:37:23 -0400 Subject: [PATCH 10/10] Update data/json/recipes/armor/torso.json jsonstyle compliance Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- data/json/recipes/armor/torso.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/recipes/armor/torso.json b/data/json/recipes/armor/torso.json index d4b8f141a34e1..23834a58457d8 100644 --- a/data/json/recipes/armor/torso.json +++ b/data/json/recipes/armor/torso.json @@ -314,8 +314,8 @@ "//4": "Our cotton sheets are 1x2 feet. 20 layers x 7 sq ft / 2 sq ft of the sheets = 70 sheets. I know the outer layer of quilting would require more sheets because of the padding inbetween but I won't bother doing the maths for it", "//5": "Cotton padding inbetween would make 0,082 ft (2.5 cm of cotton) x 7 sq ft of torso = 0,574 cube ft of cotton.", "//6": "At the density of baled cotton, i.e. dried and packed, 0,448g/cm^3 = 12,7 kg/ft^3, the total weight of cotton padding = 7.28kg.", - "//7": "This is 610 cotton balls, by weight, which is 15.25L of cotton balls. Quite a few, but they get packed down a lot in the quilting process.", - "//7.5": "Equivalently; 8.5k scraps, 320 sheets, 1600 patchworks. It's quite a lot but not all of it is actually used.", + "//7": "This is 610 cotton balls, by weight, which is 15.25L of cotton balls. Quite a few, but they get packed down a lot in the quilting process.", + "//7.5": "Equivalently; 8.5k scraps, 320 sheets, 1600 patchworks. It's quite a lot but not all of it is actually used.", "category": "CC_ARMOR", "subcategory": "CSC_ARMOR_TORSO", "skill_used": "tailor",