Dress people at generation from a separate apparel stream.

Wardrobes live on the person in people.json: everyday layers, textbooks per parallel, and chance-based bags from catalog data. Hauling and the carry cap are defs, not constants. The golden roster gains an items column; later family members shift because Hauling consumes extra appearance rolls. Old saves without items are dressed on load.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 03:24:54 +03:00
co-authored by Cursor
parent d8f4958167
commit 37501c506a
43 changed files with 8883 additions and 1305 deletions
@@ -47,4 +47,20 @@ public class BehaviorDefTests
warning => warning.Contains("lunchWeight", StringComparison.Ordinal)
&& warning.Contains("dutyLessonWeight", StringComparison.Ordinal));
}
[Fact]
public void NegativeCarryMass_FailsTheCatalog()
{
var error = Assert.Throws<ContentLoadException>(() => _loader.Load(
[CatalogLoader.CorePackId],
[
PackDocuments.Def(
CatalogLoader.CorePackId,
"behavior",
"rules",
"""{ "defName": "Behavior", "carryMassBase": -1 }"""),
]));
Assert.Contains("carry mass", error.Message, StringComparison.OrdinalIgnoreCase);
}
}