Colonist Health Monitor v2.3.2 — статическая проверка

Изменения:
- Бионический конструктор: 160 стали + 6 компонентов + 2 точные детали; работа постройки 20 с.
- Во всех 10 рецептах протезов удалено требование minSkill.
- Бионический мозг: 6 PreciseParts + 1 CHM_Brain.
- Биологическим ресурсам мода назначен spoilHours; холод игры автоматически продлевает срок, при 0°C и ниже порча останавливается.
- Кровяной сосуд больше не выдаёт ошибку при скрытом Android proxy DrawBlood/DrawBloodPack: ванильные пакеты BloodI-IV выдаются, донор получает 8-часовое состояние, эквивалентное потере 2 л. Если нативный DrawBlood доступен, используется он.

Проверки перед упаковкой: JSON parse, Lua syntax, ссылки рецептов/ресурсов/технологий, ZIP integrity.
Ограничение: реальный Android runtime здесь недоступен; совместимый fallback кроводачи не изменяет закрытое поле BloodMl, если сама игра не раскрыла DrawBlood.


v2.3.3:
- Кроводача: при скрытом Android DrawBlood мод ведёт effective blood debt 2000 мл и немедленно показывает уменьшенный объём в медицинском UI/health_row; долг восстанавливается за 8 игровых часов.
- Ограничение API: публичный alem.* не предоставляет setter для внутреннего vanilla BloodMl, поэтому цифра именно в ванильном окне HealthSystem может оставаться исходной; медицинская система мода использует эффективный объём.


v2.3.4:
- сухой лёд и его furniture/скрипт удалены;
- технология chm_climate_power = 10000, unlocks PowerBuilding:Cooler, PowerBuilding:Windmill, PowerConduit;
- восстановление донорской крови рассчитано по alem.day()+alem.hour() и дополнительно проверяется каждые 5 игровых секунд;
- временные дебаффы функций зависят от доли эффективной крови.

v2.3.4 FINAL:
- сухой лёд удалён из furniture.json, techs.json и Lua;
- новая технология chm_climate_power: 10 000 очков, открывает PowerBuilding:Cooler, PowerBuilding:Windmill и PowerConduit;
- life support tech теперь зависит от chm_climate_power;
- донорский дефицит крови восстанавливается по 250 мл/игровой час по alem.day()+alem.hour();
- alem.every(5) служит резервной проверкой, поэтому восстановление не зависит только от on_hour;
- при низкой эффективной крови функции в медицинской вкладке получают ступенчатые ограничения, а gameplay получает временный alem.buff;

v2.4.0 — Кибер психи / Кибер Психоз:
- Добавлены factions.json и enemies.json: фракция «Кибер психи», 4 боевых профиля.
- Первый рейд не раньше 25 дня; численность зависит от населения/богатства/номера рейда; предупреждение до атаки и прогноз во вкладке торговли.
- Отношение фракции принудительно -100.
- Самоуничтожитель: ~75% рейдеров, радиус 3, 50/50 сильный/слабый исход; сломанная бионика получает отдельные ресурсы «негодный».
- Крафт Самоуничтожителя: 10 Steel + 20 Cloth.
- Кибер Психоз: 3+ киберимпланта => 100->0 за 72ч; <=2 => естественное восстановление; Утешитель => ~4ч до 100%.
- Стадии штрафов заменяют друг друга. Предупреждения 50/35/15.
- Утешитель: 50 Steel, 20с, 200Вт.
- Восстановительная система: 25/50/25 слабая/средняя/сильная, x0.70/x1.00/x1.40.
- СЖО: зависимость 72ч, восстановление около 4ч рядом, gradual aura heal=1.35.
- Миномёт по киберпсиху: распознанный урон ~10%, краткое AI-подавление как stun approximation.

Проверки v2.4.0:
- JSON parse: OK.
- Lua loadfile syntax: OK.
- Custom resource/recipe/technology references: OK.
- mock240: PASS (рейд день25, 72ч cyber/SJO drain, 4ч Comforter/SJO refill, self-destruct loot/explosion, mortar resistance, mood stages, UI build).

Ограничение: Android runtime Alem Colony здесь не запускается. Статические/mock-тесты не заменяют фактический игровой прогон.

v2.5.0 STATIC AUDIT
- JSON parse: OK
- Lua loadfile syntax: OK
- CHM_Tongue/CutTongue/nativeTongue absent from functional files: OK
- 27 new cyber recipes: OK
- 27 recipe unlocks in chm_cyber_modules: OK
- All CHM prosthetic item refs resolve to resources: OK
- All implant refs resolve to implants.json: OK
- Duplicate resource/implant/recipe IDs: none
