Enhance school creation functionality by introducing support for name sets in the API and UI. Update the catalog to include skills, traits, body attributes, needs, and name sets, improving character generation capabilities. Revise localization strings for better user guidance and update tests to validate the new name set functionality and ensure robustness in school creation processes.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# Фаза 6. Библиотека генерации
|
||||
|
||||
## Зависимости
|
||||
|
||||
- [Фаза 5](05-people-defs.md)
|
||||
|
||||
## Зачем
|
||||
|
||||
Из каталога, карты и сида получаются люди — семьями и детерминированно. Библиотека тестируется
|
||||
без мира, без сокета и без хоста, как `HSchool.Content` сейчас.
|
||||
|
||||
## Задачи
|
||||
|
||||
- [x] Новый проект `HSchool.People` и `tests/HSchool.People.Tests`; ссылка только на
|
||||
`HSchool.Content`, ни Arch, ни ASP.NET
|
||||
- [x] Записи `Person`, `Family`, `SchoolClass`, `Roster` — простые данные, не сущности
|
||||
- [x] Ёмкость из карты: `PupilSlots` по кабинетам и `RoomDef.positions` дают, сколько нужно
|
||||
учеников и каких работников
|
||||
- [x] Генерация семьями: взрослые → дети нужных возрастов → раскладка детей по параллелям и
|
||||
взрослых по должностям
|
||||
- [x] Совмещение ролей: работник может оказаться родителем ученика той же школы
|
||||
- [x] Порядок бросков зафиксирован: тело первым, навыки после, `bodyLimits` применяются зажимом
|
||||
- [x] Склонения: модели в коде, явная таблица из def перекрывает модель
|
||||
- [x] Сид школы приходит снаружи; сид каждой семьи выводится из него
|
||||
|
||||
## Тесты, без которых фаза не закрыта
|
||||
|
||||
- [x] Тот же сид, карта и набор имён — ровно тот же ростер
|
||||
- [x] Тринадцатая семья не меняет первые двенадцать
|
||||
- [x] Фамилии, родовые формы и отчества внутри семьи согласованы
|
||||
- [x] Ученик с телосложением «полное» не получает высокую ловкость
|
||||
- [x] Все ученические места заполнены, все должности закрыты
|
||||
- [x] Школа из одного кабинета и школа из одиннадцати — обе собираются
|
||||
|
||||
## Критерий готовности
|
||||
|
||||
- `HSchool.People.Tests` зелёные
|
||||
- В проекте нет упоминаний сокетов, ECS и `DateTime.Now`
|
||||
|
||||
## Стоп
|
||||
|
||||
Не класть людей в `World`. Не трогать сервер, клиент и формат сейва.
|
||||
Reference in New Issue
Block a user