Grow lesson skills only when the assigned teacher is standing in the room.

The timetable already named a teacher; learning ignored whether they were in the toilet, still walking, or not a person at all.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 08:33:28 +03:00
co-authored by Cursor
parent 936d6fb04f
commit fbc32f2bfc
9 changed files with 312 additions and 18 deletions
+13 -13
View File
@@ -11,25 +11,25 @@
## Задачи
- [ ] `LessonLearningSystem` растёт навык, только если назначенный учитель стоит в
- [x] `LessonLearningSystem` растёт навык, только если назначенный учитель стоит в
`lesson.RoomId`: на кампусе, путь пуст, остаток минут 0
- [ ] Нет человека с `TeacherId` в мире — как отсутствующий
- [ ] Действие учителя урок не отменяет
- [ ] Формула `LessonLearning.Gain` не меняется
- [ ] Лог ученика `lesson-no-teacher` один раз на предмет в сутки, не каждый тик; `thingDef`
- [x] Нет человека с `TeacherId` в мире — как отсутствующий
- [x] Действие учителя урок не отменяет
- [x] Формула `LessonLearning.Gain` не меняется
- [x] Лог ученика `lesson-no-teacher` один раз на предмет в сутки, не каждый тик; `thingDef`
предмет; подпись из каталога
- [ ] `docs/protocol.md` — новый `type` у HTTP лога, без бампа сокета
- [ ] Фикстуры, где учитель был строкой `t1` вне ростера, нанимают живого человека — иначе
- [x] `docs/protocol.md` — новый `type` у HTTP лога, без бампа сокета
- [x] Фикстуры, где учитель был строкой `t1` вне ростера, нанимают живого человека — иначе
существующий тест роста навыка зелёный впустую
## Тесты, без которых фаза не закрыта
- [ ] Ученик и учитель стоят в кабинете → навык за урок вырос
- [ ] Ученик в кабинете, учитель в другом узле → навык не вырос
- [ ] Учитель идёт по коридору в этот кабинет → пока идёт, роста нет
- [ ] Нет человека с id учителя → роста нет
- [ ] За урок без учителя в логе ученика одна строка `lesson-no-teacher`, не по числу тиков
- [ ] Голодный по-прежнему учится хуже сытого, когда учитель на месте
- [x] Ученик и учитель стоят в кабинете → навык за урок вырос
- [x] Ученик в кабинете, учитель в другом узле → навык не вырос
- [x] Учитель идёт по коридору в этот кабинет → пока идёт, роста нет
- [x] Нет человека с id учителя → роста нет
- [x] За урок без учителя в логе ученика одна строка `lesson-no-teacher`, не по числу тиков
- [x] Голодный по-прежнему учится хуже сытого, когда учитель на месте
## Критерий готовности