Files
h-school/docs/phases/32-weather-warmth.md
T
Leonid PershinandCursor 53c4ae0f92 Sum warmth insulation from worn items and refresh goldens for the new trait pool.
HeatLoving and ColdLoving shift later trait rolls; worn clothes now feed PersonInsulation instead of reflection.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 04:00:53 +03:00

46 lines
2.8 KiB
Markdown

# Фаза 32. Погода и тепло
## Зависимости
- [Фаза 29](29-country.md)
- [Фаза 20](20-needs-actions.md)
## Зачем
На улице есть температура и осадки. Человек может мёрзнуть. Часы это показывают.
## Задачи
- [x] `ClimatePresetDef` получает рабочие числа: нормы по месяцам, разброс дня, осадки
- [x] Школа считает улицу из пресета + сида + даты/часа; не каждый тик, а когда меняется
надпись или это сдвинет тепло
- [x] В здании теплее улицы за счёт стен, без техника ещё не комфорт (комфорт — фаза 33)
- [x] Двор и крыльцо — улица
- [x] Нужда `Warmth`: декей от разницы «утепление одежды vs температура места»; вне школы
восстанавливается, как сон
- [x] Черты теплолюбивый / холодолюбивый: поле смещения комфорта на `TraitDef`, взаимно
несовместимы
- [x] Кадр часов: температура (десятые доли °C, `i16`) и осадки (`u8`). Версия протокола +1.
`ProtocolCodec.cs`, `protocol.ts`, `docs/protocol.md` в одном коммите
- [x] Клиент рисует погоду у даты; не считает её из месяца
- [x] Пропуск пустого времени выставляет погоду утра, не вчерашнюю
## Тесты, без которых фаза не закрыта
- [x] Тот же пресет, сид и timestamp → та же температура и осадки
- [x] Январь холоднее июля на ванильном пресете
- [x] Ниже нуля осадки — снег, не дождь (если пресет вообще дал осадки)
- [x] На морозе без верхней одежды тепло падает; дома за ночь возвращается
- [x] Кадр часов круглый трип и байтовая раскладка на обеих сторонах
- [x] Клиент с старой версией протокола отваливается Hello, как обычно
## Критерий готовности
- У часов видно «−5 °C, снег» зимним утром
- Полоска тепла на карточке шевелится
- `dotnet test` и `npm test` / `build` проходят
## Стоп
Не нанимать техника. Не переодевать по погоде — замёрзший ещё терпит. Не штрафовать урок.