Разделите назначение#
libraries/jobs.xml описывает NPC-корабли: выбор судна, приказ, квоту и допустимое место. Job engine поддерживает население; при buildatshipyard="true" пополнение после начальной генерации связано со строительством на верфи. Квота не равна обещанию немедленного появления корабля.
libraries/god.xml в основном задаёт генерацию станций и объектов. Их последующее развитие использует также MD. В 9.00 появились производственные записи с планами и поэтапное строительство. Не заменяйте job для патруля записью станции.
Минимальная правка квоты#
Пример файла libraries/jobs.xml вашего расширения:
<diff>
<replace sel="/jobs/job[@id='wiki_scout_patrol']/quota/@galaxy">2</replace>
</diff>Предпосылка: wiki_scout_patrol - вымышленный ID уже созданного вами корректного job с одним quota, достаточным maxgalaxy и подходящими location/ship. В чистой игре такой записи нет.
Что изменится: после применения патча атрибут galaxy этой записи станет 2. Это изменение цели job engine, а не команда создать два новых судна поверх имеющихся. Если селектор не нашёл запись, пример не выполнит задуманную правку. Существующие корабли не получают автоматически новое оснащение от изменения шаблона.
Новая игра и загрузка#
| Сценарий | На что обратить внимание |
|---|---|
| Новая игра | Активность, выбранный dataset, квоты и фильтры места |
| Загрузка с новым расширением | Его запись в сохранении и content/@save |
| Обновление уже известного расширения | Новая запись god не означает автоматическую генерацию станции |
| Изменение job | Состояние job сохраняется, определения читаются из файлов; старые суда могут сохранить прежние приказы |
По исследованию Chem O’Dun, god при загрузке генерирует записи впервые добавленного к сейву расширения с save="true"; простое обновление известного расширения так не работает. save="false" не даёт такую генерацию при загрузке. При новой игре этот флаг сам по себе генерацию не выключает.
Dataset для конкретного gamestart или galaxy заменяет основной набор, а не дополняет его. Проверьте также matchextension: ограничение пространством расширения может исключить базовую карту.
Как проверить результат#
Сравните новую игру и копию старого сохранения отдельно. Зафиксируйте ID записи, фактическое число/место объектов и ожидаемый способ пополнения. Для станций можно исследовать отчёт -godlog; пустой отчёт без прохода генерации ничего не доказывает. Для обновления мира может понадобиться отдельная MD-миграция.
Это изложение источников и учебный патч, не наша игровая приёмка. Далее: манифест, старт игры, отладка.