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:
@@ -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" },
|
||||
]
|
||||
|
||||
@@ -95,6 +95,9 @@
|
||||
"UtilityRoom": "Utility room",
|
||||
"MaleChangingRoom": "Boys' changing room",
|
||||
"FemaleChangingRoom": "Girls' changing room",
|
||||
"ChangingSpot": "Changing spot",
|
||||
"ChangeClothesMale": "Change clothes",
|
||||
"ChangeClothesFemale": "Change clothes",
|
||||
"Mathematics": "Mathematics",
|
||||
"RussianLanguage": "Russian",
|
||||
"Literature": "Literature",
|
||||
@@ -173,5 +176,6 @@
|
||||
"ActionStarted": "started: {0}",
|
||||
"ActionEnded": "finished: {0}",
|
||||
"ApparelReplaced": "got a new {0}",
|
||||
"ApparelChanged": "changed clothes: {0}",
|
||||
"core": "Core",
|
||||
}
|
||||
|
||||
@@ -95,6 +95,9 @@
|
||||
"UtilityRoom": "Теплоузел",
|
||||
"MaleChangingRoom": "Мужская раздевалка",
|
||||
"FemaleChangingRoom": "Женская раздевалка",
|
||||
"ChangingSpot": "Место переодевания",
|
||||
"ChangeClothesMale": "Переодеться",
|
||||
"ChangeClothesFemale": "Переодеться",
|
||||
"Mathematics": "Математика",
|
||||
"RussianLanguage": "Русский язык",
|
||||
"Literature": "Литература",
|
||||
@@ -173,5 +176,6 @@
|
||||
"ActionStarted": "начал: {0}",
|
||||
"ActionEnded": "закончил: {0}",
|
||||
"ApparelReplaced": "получил новую {0}",
|
||||
"ApparelChanged": "переоделся: {0}",
|
||||
"core": "Базовая игра",
|
||||
}
|
||||
|
||||
@@ -205,6 +205,7 @@
|
||||
"floor": "gym-floor",
|
||||
"slots": [
|
||||
{ "key": "lockers", "thing": "Locker", "count": 12 },
|
||||
{ "key": "spots", "thing": "ChangingSpot", "count": 4 },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -214,6 +215,7 @@
|
||||
"floor": "gym-floor",
|
||||
"slots": [
|
||||
{ "key": "lockers", "thing": "Locker", "count": 12 },
|
||||
{ "key": "spots", "thing": "ChangingSpot", "count": 4 },
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user