# Фаза 42. Темы и кружки ## Зависимости - [Фаза 41](41-opinions.md) - [Фаза 21](../05-ai/21-decisions.md) - [Фаза 31](../07-inventory/31-dress-generator.md) ## Зачем `Chat` перестаёт быть соло. В узле говорят 2–4 человека об одной теме. Язык и `Communication` влияют на исход. ## Задачи - [x] `TopicDef`: теги, возраст, роли, шёпот-на-уроке, опциональный язык - [x] Ванильный набор тем (учёба, игры, еда, семья, спорт, сплетни, грубое, внешность) в `core`. Тема внешности учитывает уместность одежды, если сервер её уже прислал; иначе модификатор 0 - [x] Кружок 2–4 в одном узле; пятый не влезает - [x] Кого зовут: друзья и одноклассники в узле, врагов не зовут; тихоня/лидер — поля черты - [x] На перемене и в обед друзья тянутся в узел своих; враги не выбирают тот же обеденный узел, если есть другой - [x] `StaffChat` в `TeachersRoom`, только сотрудники - [x] Парный телефонный чат на перемене: оба несут `Phone`, слабее живого кружка; на уроке нет - [x] Нет общего языка — кружок можно, сдвиг мнения слабый и чаще вниз - [x] `Communication` растёт от разговора меньше, чем предмет за урок; язык разговора — капля, если не у потолка - [x] Черты **сплетник** и **общительный** в `core` с полями, не списками в коде - [x] Исход пишет мнения всех пар кружка и строку лога - [x] На уроке обычный `Chat` не стартует (шёпот — фаза 43) ## Тесты, без которых фаза не закрыта - [x] Двое свободных друзей в коридоре на перемене собирают кружок; враги — нет - [x] Пятый в узле не входит в тот же кружок - [x] Сотрудники в учительской могут `StaffChat`; ученик это действие не берёт - [x] Двое с телефоном на перемене могут парный чат; без телефона — нет - [x] Без общего языка мнение почти не растёт при том же `Communication` - [x] Высокий `Communication` сильнее двигает число, чем низкий, на одной теме - [x] Каталог без `TopicDef` не стартует школу с кружками — или падает загрузка, не молча соло-Chat ## Критерий готовности - На перемене в коридоре двое «разговаривают», на карточке мнение сдвинулось, в логе тема - `dotnet test` проходит ## Стоп Не шёпот на уроке. Не драка. Не менять кадр присутствия (локация может ещё писать «Разговор»).