Merge branch 'main' into phase/32-weather-warmth

This commit is contained in:
Leonid Pershin
2026-08-20 03:50:04 +03:00
46 changed files with 9020 additions and 1931 deletions
+30 -2
View File
@@ -211,7 +211,8 @@ are `400` `invalid-query`. `lang` is `ru` or `en`, same as the catalog — anyth
}
```
The list row is identity only — skills, traits and needs stay on the card. Age is computed from
The list row is identity only — skills, traits, needs, clothes and what they carry stay on the
card. Age is computed from
`birthDate` and the published game time, not from the World.
Applicants live in `saves/{id}.people.json` next to the roster and are **not** in this list.
@@ -254,6 +255,11 @@ is that def in the request locale. HTTP JSON is additive — no protocol version
`skills` lists only keys the person has, not every `SkillDef` in the catalog. A first-year has
no Chemistry; a related tongue from the name set may sit beside the native at a low value.
`worn` is what is on the body right now: def, colour, and the layers it occupies. `carried` is
the bag — textbooks include `subject`. `carryMass` / `carryCapacity` are kilograms; overload
does not slow walking. Home and locker stay in `people.json` and are not on this card. The
people list does not include any of these fields.
```json
{
"id": "f0.c0",
@@ -276,7 +282,29 @@ no Chemistry; a related tongue from the name set may sit beside the native at a
"children": [],
"siblings": [{ "id": "f0.c1", "fullName": "Иванов Кирилл Петрович", "female": false }],
"partners": []
}
},
"worn": [
{
"defName": "Shirt",
"label": "Рубашка",
"color": "White",
"colorLabel": "Белый",
"layers": [{ "defName": "Top", "label": "Верх" }]
}
],
"carried": [
{
"defName": "Textbook",
"label": "Учебник",
"color": null,
"colorLabel": null,
"subject": "Mathematics",
"subjectLabel": "Математика",
"mass": 0.4
}
],
"carryMass": 1.2,
"carryCapacity": 14
}
```