Halve lesson gain when the bag has no textbook for the subject.

Locker and home do not count. A pack without the field keeps vanilla 0.5.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 09:27:46 +03:00
co-authored by Cursor
parent f4a793aca4
commit 1b3479f984
13 changed files with 252 additions and 20 deletions
+11 -11
View File
@@ -12,20 +12,20 @@
## Задачи
- [ ] Рост урока полный, только если в **сумке** есть экземпляр с `subject` этого предмета
- [ ] Шкафчик и дом не считаются: ученик в кабинете
- [ ] Нет учебника — множитель `BehaviorDef.lessonNoTextbookFactor`, ваниль 0.5
- [ ] Валидатор: число 0–1
- [ ] Лог `lesson-no-textbook` один раз на предмет в сутки; `thingDef` — предмет
- [ ] `docs/protocol.md` — тип лога
- [x] Рост урока полный, только если в **сумке** есть экземпляр с `subject` этого предмета
- [x] Шкафчик и дом не считаются: ученик в кабинете
- [x] Нет учебника — множитель `BehaviorDef.lessonNoTextbookFactor`, ваниль 0.5
- [x] Валидатор: число 0–1
- [x] Лог `lesson-no-textbook` один раз на предмет в сутки; `thingDef` — предмет
- [x] `docs/protocol.md` — тип лога
## Тесты, без которых фаза не закрыта
- [ ] Учебник математики в сумке → полный рост (при учителе на месте)
- [ ] Тот же учебник в шкафчике или дома → рост как с коэффициентом 0.5
- [ ] Учебник другого предмета в сумке не закрывает этот урок
- [ ] Одна строка лога за сутки на предмет, не по числу тиков
- [ ] Пак без поля — 0.5, каталог не падает
- [x] Учебник математики в сумке → полный рост (при учителе на месте)
- [x] Тот же учебник в шкафчике или дома → рост как с коэффициентом 0.5
- [x] Учебник другого предмета в сумке не закрывает этот урок
- [x] Одна строка лога за сутки на предмет, не по числу тиков
- [x] Пак без поля — 0.5, каталог не падает
## Критерий готовности
+2 -1
View File
@@ -417,7 +417,8 @@ arrive in one response.
Row `type` values: `action-started`, `action-ended`, `apparel-replaced` (morning issue, when
phase 34 appends it), `apparel-changed` (dressing, when phase 35 appends it),
`lesson-no-teacher` (the assigned teacher was not standing in the lesson room),
`lesson-cold` (warmth below the behaviour threshold during a lesson that otherwise taught).
`lesson-cold` (warmth below the behaviour threshold during a lesson that otherwise taught),
`lesson-no-textbook` (the bag had no textbook for that lesson; locker and home do not count).
`thingDef` is the action, apparel or subject def the caption was built from.
```json