Update documentation to enhance clarity on native language and skill generation
- Revised `AGENTS.md` to specify that the same seed, map, name set, and native language must produce the same roster in tests. - Updated `protocol.md` to clarify that everyone in the school is generated with the selected native language, and related languages may appear at a low skill. - Enhanced `ai.md` to explain skill growth mechanics based on state and the introduction of minimum ranges for skills not yet acquired. - Improved `people.md` to detail the generation of skills and traits, emphasizing that not every person receives every skill and the implications of body attributes on skill acquisition. - Adjusted `projects.md` to reflect the inclusion of native language in roster generation, ensuring comprehensive documentation of project components.
This commit is contained in:
+9
-3
@@ -80,7 +80,10 @@ total is computed on the server.
|
||||
`nameSets` is the list of placeable name packs (`defName` + label + `nativeLanguages`). Each
|
||||
`nativeLanguages` entry is a skill (`defName` + label). The create dialog picks a name set and a
|
||||
native language; the language list comes from that set (vanilla Slavic: Russian, Belarusian,
|
||||
Ukrainian). It is independent of the UI language.
|
||||
Ukrainian). It is independent of the UI language. Everyone in the school is generated with that
|
||||
native. Other languages of the same set often appear at a low skill — a Russian speaker who
|
||||
understands Belarusian. Those rolls live on the `NameSetDef` (`relatedLanguageChance` and
|
||||
neighbours), not on this catalog payload.
|
||||
|
||||
`subjects` is the list of placeable subjects (`defName`, label, `gradeMin`/`gradeMax`,
|
||||
`hoursPerWeek`, `skills` with shares, and optional `room`). `room` is the RoomDef the lesson
|
||||
@@ -227,6 +230,9 @@ grid fetches `GET .../timetable?classId=` with it.
|
||||
`activity` is the ActionDef name currently in progress, or `null` when idle. `activityLabel`
|
||||
is that def in the request locale. HTTP JSON is additive — no protocol version bump.
|
||||
|
||||
`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.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "f0.c0",
|
||||
@@ -329,8 +335,8 @@ those lessons will not happen.
|
||||
Applicants here are the same people as in `saves/{id}.people.json`. A parent keeps the same
|
||||
id on the roster; hiring them sets `isStaff` on that person and does not create a second
|
||||
entity. Generated candidates (`aN.p0`) join the roster only when hired. `skills` on an
|
||||
applicant are the three strongest, for the management list; the full set is on the person
|
||||
card. `positions` and `subjects` are the school's catalog, so the hire and assign pickers
|
||||
applicant are the three strongest, for the management list; the card lists every skill they
|
||||
have, not the three strongest. `positions` and `subjects` are the school's catalog, so the hire and assign pickers
|
||||
do not need a second request.
|
||||
|
||||
`GET /api/schools/{id}/people/{personId}` also opens a card for someone who is only in the
|
||||
|
||||
Reference in New Issue
Block a user