Implement phase 35 dress appropriateness and school rules.

Adds outfit evaluation, morning home dressing, locker-room ChangeClothes with day-log events, PE/weather AI goals, dress-rules API, and tests.
This commit is contained in:
Leonid Pershin
2026-08-20 05:16:52 +03:00
parent 5b63c72806
commit 6a0d5a9886
32 changed files with 1894 additions and 25 deletions
@@ -50,4 +50,20 @@
"roles": ["student", "staff"],
"weight": 1,
},
{
"defName": "ChangeClothesMale",
"room": "MaleChangingRoom",
"thing": "ChangingSpot",
"minutes": 5,
"roles": ["student", "staff"],
"weight": 0,
},
{
"defName": "ChangeClothesFemale",
"room": "FemaleChangingRoom",
"thing": "ChangingSpot",
"minutes": 5,
"roles": ["student", "staff"],
"weight": 0,
},
]
@@ -38,4 +38,12 @@
{ "min": 0.15, "id": "ApparelConditionTorn" },
{ "min": 0, "id": "ApparelConditionRags" },
],
// Dress code thresholds — axes live in code, numbers here.
"shortFormMinAge": 13,
"formalityRegularMin": 20,
"formalityStrictMin": 60,
"outerBelowC": 10,
"heavyOuterAboveC": 15,
"apparelGoalWeight": 6,
"changeClothesMinutes": 5,
}
@@ -56,6 +56,7 @@
"lockerSex": "male",
"slots": [
{ "key": "lockers", "thing": "Locker", "count": 12 },
{ "key": "spots", "thing": "ChangingSpot", "count": 4 },
],
"travelMinutes": 0.5,
},
@@ -64,6 +65,7 @@
"lockerSex": "female",
"slots": [
{ "key": "lockers", "thing": "Locker", "count": 12 },
{ "key": "spots", "thing": "ChangingSpot", "count": 4 },
],
"travelMinutes": 0.5,
},
@@ -7,4 +7,5 @@
{ "defName": "Computer", "pupilSlots": 1 },
{ "defName": "MedicalCouch" },
{ "defName": "Locker" },
{ "defName": "ChangingSpot" },
]