Wire sick-teacher stay-home into cancelled lessons.

Heavy flu keeps the assigned teacher off the day plan; pupils get 48/73 no-teacher marks and a one-shot LessonCancelled notice instead of silent empty rooms.
This commit is contained in:
Leonid Pershin
2026-08-21 14:17:37 +03:00
parent e40bec3aa3
commit b314f50112
12 changed files with 366 additions and 9 deletions
@@ -12,18 +12,18 @@
## Задачи
- [ ] Учитель с тяжёлой стадией / «остаться дома» не появляется на уроке (явная стыковка с 14)
- [ ] Урок без учителя → рост/оценка по уже принятым правилам 48/73
- [ ] Лог и/или `EventDef` info «без учителя» / сорванный урок — без спама каждый тик
- [ ] Больничный лист и перерасчёт зарплаты не моделируем
- [ ] Детерминизм: тот же сид болезни → тот же приход/неприход
- [x] Учитель с тяжёлой стадией / «остаться дома» не появляется на уроке (явная стыковка с 14)
- [x] Урок без учителя → рост/оценка по уже принятым правилам 48/73
- [x] Лог и/или `EventDef` info «без учителя» / сорванный урок — без спама каждый тик
- [x] Больничный лист и перерасчёт зарплаты не моделируем
- [x] Детерминизм: тот же сид болезни → тот же приход/неприход
## Тесты, без которых фаза не закрыта
- [ ] Больной учитель вне школы → у учеников нет роста «как с учителем в кабинете»
- [ ] Здоровый контроль при тех же слотах растёт
- [ ] Notice/лог не чаще порога
- [ ] Явка учеников при сорванном уроке не помечается как их прогул ошибочно
- [x] Больной учитель вне школы → у учеников нет роста «как с учителем в кабинете»
- [x] Здоровый контроль при тех же слотах растёт
- [x] Notice/лог не чаще порога
- [x] Явка учеников при сорванном уроке не помечается как их прогул ошибочно
## Критерий готовности
+2
View File
@@ -516,6 +516,8 @@ phase 34 appends it), `apparel-changed` (dressing, when phase 35 appends it),
`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.
When the assigned teacher stays home sick, the school also raises a one-shot info notice
`LessonCancelled` (`trigger` `lessonNoTeacher`) — once per class slot, not every tick.
```json
{