Files
h-school/docs/phases/05-people-defs.md
T

2.8 KiB

Фаза 5. Дефы человека

Зависимости

Зачем

Каталог учится описывать людей. Ни одного человека в этой фазе не появляется — только типы, из которых их потом соберут.

Задачи

  • SkillDef, TraitDef, BodyAttributeDef, NeedDef, NameSetDef в HSchool.Content: новые DefKind, разбор, наследование и патчи на общих правилах
  • BodyAttributeDef двух видов: число с распределением (рост, вес) и выбор из списка с весами (цвет волос, цвет глаз); распределение зависит от пола и возраста
  • SkillDef.bodyLimits — зажимы навыка по свойству тела (min / max); ссылка на неизвестный атрибут или его значение — ошибка загрузки, а не тихий пропуск
  • TraitDef: вес, несовместимости, ограничения по роли и возрасту, модификаторы навыков; односторонняя несовместимость считается взаимной
  • NameSetDef: мужские и женские имена, фамилии с родовыми формами, правило отчества, модель склонения по умолчанию или явная таблица шести падежей на запись
  • Ванильное содержание core: навыки (предметы + физические), около десяти черт, четыре нужды со скоростью убывания ноль, славянский набор имён
  • Локализация новых defs в ru и en
  • GET /api/catalog отдаёт список наборов имён — форме создания нужен выбор
  • Тесты Content: разбор каждого вида, наследование навыка, патч черты, неизвестная ссылка — ошибка, склонение по правилу и перекрытие таблицей

Критерий готовности

  • Каталог core грузится, все новые defs проходят валидацию
  • Мод, добавляющий свой набор имён и пару черт, виден в каталоге
  • dotnet test проходит; школы по-прежнему пустые

Стоп

Не генерировать людей. Не трогать ECS, сервер сверх выдачи каталога и клиент сверх выбора набора.