Let the catalog describe clothes and carryables on ThingDef without dressing anyone.

Empty layers keep furniture on the map; a known layer set and ColorDef palette reject unknown ids at load.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 02:47:23 +03:00
co-authored by Cursor
parent 450495f666
commit abcf67eaab
16 changed files with 716 additions and 15 deletions
@@ -0,0 +1,10 @@
[
{ "defName": "White", "tags": ["neutral", "school"] },
{ "defName": "Black", "tags": ["neutral", "school"] },
{ "defName": "Gray", "tags": ["neutral", "school"] },
{ "defName": "Blue", "tags": ["neutral", "school"] },
{ "defName": "LightBlue" },
{ "defName": "Red", "tags": ["bright"] },
{ "defName": "Green", "tags": ["bright"] },
{ "defName": "Beige" },
]
@@ -0,0 +1,210 @@
[
{
"defName": "Underwear",
"layers": ["Underwear"],
"portable": true,
"mass": 0.05,
"insulation": 1,
"colors": ["White", "Black", "Gray"],
},
{
"defName": "Socks",
"layers": ["Socks"],
"portable": true,
"mass": 0.04,
"insulation": 1,
"colors": ["White", "Black", "Gray"],
},
{
"defName": "Skirt",
"layers": ["Bottom"],
"portable": true,
"mass": 0.25,
"insulation": 2,
"formality": 40,
"sex": "female",
"skirtLength": "regular",
"colors": ["Black", "Gray", "Blue", "Beige"],
},
{
"defName": "ShortSkirt",
"layers": ["Bottom"],
"portable": true,
"mass": 0.2,
"insulation": 1,
"formality": 30,
"sex": "female",
"skirtLength": "short",
"colors": ["Black", "Gray", "Blue", "Beige"],
},
{
"defName": "Pants",
"layers": ["Bottom"],
"portable": true,
"mass": 0.4,
"insulation": 3,
"formality": 30,
"skirtLength": "regular",
"colors": ["Black", "Gray", "Blue", "Beige"],
},
{
"defName": "Shorts",
"layers": ["Bottom"],
"portable": true,
"mass": 0.25,
"insulation": 1,
"formality": 20,
"skirtLength": "short",
"colors": ["Black", "Gray", "Blue", "Beige"],
},
{
"defName": "Jeans",
"layers": ["Bottom"],
"portable": true,
"mass": 0.5,
"insulation": 3,
"formality": 20,
"skirtLength": "regular",
"colors": ["Blue", "Black", "Gray"],
},
{
"defName": "Trousers",
"layers": ["Bottom"],
"portable": true,
"mass": 0.4,
"insulation": 3,
"formality": 70,
"skirtLength": "regular",
"colors": ["Black", "Gray", "Blue"],
},
{
"defName": "TShirt",
"layers": ["Top"],
"portable": true,
"mass": 0.15,
"insulation": 2,
"formality": 20,
"colors": ["White", "Black", "Gray", "Blue", "LightBlue", "Red", "Green", "Beige"],
},
{
"defName": "Shirt",
"layers": ["Top"],
"portable": true,
"mass": 0.2,
"insulation": 2,
"formality": 70,
"colors": ["White", "Black", "Blue", "Gray"],
},
{
"defName": "Sweater",
"layers": ["OverTop"],
"portable": true,
"mass": 0.4,
"insulation": 8,
"formality": 30,
"colors": ["Black", "Gray", "Blue", "Red", "Green", "Beige"],
},
{
"defName": "Jacket",
"layers": ["Outer"],
"portable": true,
"mass": 1,
"insulation": 12,
"formality": 40,
"colors": ["Black", "Gray", "Blue", "Beige", "Red", "Green"],
},
{
"defName": "Coat",
"layers": ["Outer"],
"portable": true,
"mass": 1.5,
"insulation": 18,
"formality": 70,
"colors": ["Black", "Gray", "Beige"],
},
{
"defName": "FurCoat",
"layers": ["Outer"],
"portable": true,
"mass": 2.5,
"insulation": 28,
"formality": 50,
"colors": ["Black", "Beige", "Gray"],
},
{
"defName": "Shoes",
"layers": ["Shoes"],
"portable": true,
"mass": 0.6,
"insulation": 2,
"formality": 40,
"colors": ["Black", "Gray", "Beige", "White"],
},
{
"defName": "WinterBoots",
"layers": ["Shoes"],
"portable": true,
"mass": 1,
"insulation": 8,
"formality": 30,
"colors": ["Black", "Gray", "Beige"],
},
{
"defName": "Hat",
"layers": ["Head"],
"portable": true,
"mass": 0.15,
"insulation": 6,
"formality": 20,
"colors": ["Black", "Gray", "Beige", "Red", "Blue"],
},
{
"defName": "Belt",
"layers": ["Accessory"],
"portable": true,
"mass": 0.1,
"formality": 50,
"colors": ["Black", "Gray", "Beige"],
},
{
"defName": "Scarf",
"layers": ["Accessory"],
"portable": true,
"mass": 0.1,
"insulation": 4,
"formality": 30,
"colors": ["Black", "Gray", "Blue", "Red", "Beige"],
},
{
"defName": "Dress",
"layers": ["Bottom", "Top"],
"portable": true,
"mass": 0.4,
"insulation": 3,
"formality": 50,
"sex": "female",
"skirtLength": "regular",
"colors": ["Black", "Blue", "Red", "Beige", "Gray"],
},
{
"defName": "PeShirt",
"layers": ["Top"],
"portable": true,
"mass": 0.15,
"insulation": 2,
"formality": 10,
"pe": true,
"colors": ["Gray", "Blue", "Black", "Green", "Red"],
},
{
"defName": "PeShorts",
"layers": ["Bottom"],
"portable": true,
"mass": 0.2,
"insulation": 1,
"formality": 10,
"pe": true,
"skirtLength": "short",
"colors": ["Gray", "Blue", "Black", "Green", "Red"],
},
]
@@ -0,0 +1,6 @@
[
{ "defName": "SchoolBag", "portable": true, "mass": 0.8 },
{ "defName": "Textbook", "portable": true, "mass": 0.4 },
{ "defName": "Phone", "portable": true, "mass": 0.15, "colors": ["Black", "White", "Gray"] },
{ "defName": "Bottle", "portable": true, "mass": 0.3, "colors": ["Blue", "Green", "White"] },
]