Industrial Warfare 0.6.0 — SELF CHECK

Проверено перед упаковкой:
1. Все JSON-файлы разбираются без ошибок.
2. Дубликатов id/ключей рецептов в таблицах не найдено.
3. recipes.json побайтно совпадает с 0.5.9: прошлый химический баланс не потерян.
   • 10 IW_CrudeOil -> 2 IW_ButaneGal
   • 10 IW_CrudeOil -> 2 IW_PropaneGal
   • 1 IW_ButaneGal + 4 IW_PropaneGal -> 75 Cloth
   • 3 IW_ButaneGal + 5 IW_PropaneGal -> 5 IW_LPGFuel
   Рецепты ткани и LPG присутствуют и на chem, и на iw_separator.
4. Новые жилы используют только диапазон 30..140 единиц.
   Взвешенный средний стартовый запас по четырём классам богатства ≈ 69 ед.
5. Миграция старых сохранений: существующие запасы >140 ограничиваются до 140; почти истощённые найденные жилы искусственно не пополняются.
6. При истощении нефти/газа старая жила удаляется из индекса и списка, после чего сразу создаётся новая скрытая жила. Если свободное место временно не найдено, повтор генерации идёт через 1 игровой час до успеха.
7. Перенос газового насоса:
   • кнопка есть в отдельном окне газового насоса и в общей панели «Насосы»;
   • выбор цели сделан через alem.tool (cell);
   • цель обязана быть на разведанной газовой залежи;
   • автоматически выбирается свободный квадрат 2x2 вокруг нажатой клетки;
   • сначала создаётся и проверяется новый насос, затем удаляется старый;
   • если старый насос не удалился, новая копия откатывается;
   • состояние ВКЛ/ВЫКЛ и остаток цикла сохраняются.
8. Проверены ссылки технологий на рецепты/постройки и наличие текстур мебели.
9. Lua: проверены баланс скобок и блоков function/if/for/while/do/repeat.
10. Изменения относительно 0.5.9 ограничены main.lua, описаниями мебели, mod.json, README и файлами changelog/self-check. Торговля, рейды, орбитальная связь и утилизация не переписывались.

Целевая версия игры: Alem Colony 0.23.06.
