43 lines
2.7 KiB
Markdown
43 lines
2.7 KiB
Markdown
# Фаза 34. Износ и дом
|
|
|
|
## Зависимости
|
|
|
|
- [Фаза 31](31-dress-generator.md)
|
|
- [Фаза 18](../05-ai/18-presence-walking.md)
|
|
|
|
## Зачем
|
|
|
|
Одежда портится на теле в школе. Из дома в лохмотьях не выходят — утром выдают свежую.
|
|
|
|
## Задачи
|
|
|
|
- [x] Прочность экземпляра 0–1; падает только у надетого, только пока человек в школе, от
|
|
игрового времени. Формула скорости — данные
|
|
- [x] Пороги подписей в дефе (`целая` / `поношенная` / `порванная` / `висит лохмотьями`);
|
|
карточка — полоска + подпись, клиент не считает пороги сам
|
|
- [x] Порог «не выходить»: утром вне школы ветхая надетая вещь заменяется свежей того же def
|
|
и цвета (или ближайшего уместного). Событие для истории фазы 36: тип и подпись готовы
|
|
даже если лог ещё не рисуется
|
|
- [x] Пропуск пустого времени применяет утреннюю замену, иначе после «пропустить» школа в
|
|
лохмотьях
|
|
- [x] Сумка и шкафчик не изнашиваются
|
|
- [x] `people.json` пишется после замены, не каждый тик износа: либо порог пересечён, либо
|
|
утренняя выдача
|
|
|
|
## Тесты, без которых фаза не закрыта
|
|
|
|
- [x] День в школе снижает прочность надетой рубашки на заявленную величину, ±эпсилон
|
|
- [x] Рубашка в сумке за тот же день не меняется
|
|
- [x] Человек с одеждой ниже порога к утру рабочего дня одет в свежую; def совпадает
|
|
- [x] Skip через ночь даёт ту же замену, что прожитая ночь
|
|
- [x] Подпись на карточке меняется вместе с порогом
|
|
|
|
## Критерий готовности
|
|
|
|
- Промотать несколько игровых недель — полоска одежды опустилась, потом утром обновилась
|
|
- `dotnet test` и `npm test` проходят
|
|
|
|
## Стоп
|
|
|
|
Не показывать историю вкладкой — только состояние вещи. Не переодевать по погоде.
|