Обновлено:

На этой странице

Городские здания и очередь производства

Рабочие модели: city-buildings-v1, city-economy-v4, city-finance-v2; схема собственного сохранения — 8. Это первая часть задачи 4.1. Проверки нашего движка отделены от ещё не выполненного сравнения с Windows-оригиналом. Основная игра обновляется на прежнем адресе, отдельного выпуска для приёмки нет.

Доступное в обычной партии

ID BLDGОбъект AtlantsТребованиеЩиты до особенностей/сложностиИсполняемый эффект
0ДворецНет технологии100Столица, культура 1, содержание 1, ветеранские наземные юниты; перенос столицы при строительстве в другом городе
45Кузница9 Горное Дело40Производство +25%, содержание 1
50Амбар11 Гончарный Круг40Сохранение половины старого запаса пищи после роста, содержание 1
67Памятник7 Каменная кладка40Культура 1, содержание 0
95Капище12 Ритуалы40Довольство 1, культура 1, содержание 1
124Жильё Рабочих7 Каменная кладка30Производство +25%, довольство 1, содержание 1
125БогатствоНет технологииПостоянный заказПреобразование каждых 6 полезных щитов в 1 золото

Названия, ID, стоимости, требования и исходные значения взяты из предоставленного Conquests/conquests.biq, SHA-256 827be8b3f7aab140d2e702ecb6a8e4b2dc5c8c4324d0e2fcb2be497903723be9. У дворца первый байт флагов равен 03: столица и ветеранская наземная подготовка. Это свойство конкретной поставки; прежний выпуск обычных бойцов из столицы исправлен.

Единица поля production интерпретируется как +25%. Порядок применения бонуса и округление ещё требуют контрольного хода. Иконки семи объектов конвертированы из оригинальных PCX без дорисовки. У «Жилья Рабочих» сама поставка использует imp_noiconsmall.pcx; заглушка сохранена как исходная привязка.

Команды, прогноз и продолжение

SET_PRODUCTION и QUEUE_PRODUCTION принимают kind: PRTO | BLDG и ID. Одна проверка требований обслуживает исполнение, окно города и ИИ. Недоступная реализация возвращает BUILDING_NOT_IMPLEMENTED; наличие объекта в таблице не открывает его производство. Редакторов в новой игре пока нет.

Очередь содержит смешанные заказы. Её можно дополнять, удалять отдельные позиции и очищать. Текущий собственный предел — 10 ожидающих позиций; совпадение этого ограничения с оригиналом не заявлено. После завершения заказа берётся следующий допустимый; недопустимые пропускаются с событием и причинами. Юнит без следующего заказа производится повторно. После здания без очереди возникает обязательное решение о следующем заказе. Оно сохраняется, блокирует следующий ход и открывает окно города после возвращения хода человеку. Его нельзя пропустить закрытием окна.

Окно показывает щиты, бонус производства, текущий заказ, очередь, подключённые ресурсы, построенные здания и их содержание. Выбранная позиция списка сохраняется при добавлении/удалении заказов. Наука и производство, завершившиеся вместе, создают два последовательных решения: сначала научная тема, затем заказ города.

ИИ строит доступную раннюю инфраструктуру после создания обороны, учитывает бюджет, выбирает следующий заказ обычной командой. Он возвращает артиста к обработке клетки, когда общий расчёт подтверждает отсутствие беспорядков и улучшение продовольствия. Исследовательская оценка учитывает открываемые здания. Полноценная стратегия губернатора остаётся открытой задачей.

Порядок и рабочие интерпретации

Предпросмотр использует общие cityEconomy, productionAvailability и productionCost. В межходовом расчёте сначала завершаются работы и начисляется культура существующих зданий, затем рассчитывается урожай/бюджет, рост и производство. Бонусы и содержание только что завершённого здания применяются к следующему урожаю владельца. Новый ветеран получает HP своего уровня и не действует немедленно. В городе с соответствующим ветеранским сооружением полный ход отдыха восстанавливает всё здоровье.

Бонус производства применяется к щитам после потерь, бонусы науки/налогов/роскоши — к соответствующим долям торговли с отдельным округлением вниз. «Богатство» использует полезные щиты и целочисленное деление на RULE.shields_per_gold = 6. При смене категории производства накопленные щиты пока сохраняются: оригинальные ограничения переключения ещё не реализованы.

Порог пищи — 20/40/60 по размеру города. Это рабочая формула движка, не извлечённая настройка BIQ. Амбар после роста сохраняет половину старого порога. Пределы городов берутся из RULE: 7/15; соседство с рекой/небольшим озером позволяет второй размер. Точная работа амбара на границах размеров, определение пресной воды и ограничения сооружений требуют наблюдения выбранного EXE.

Общая модель и границы поддержки

Ядро содержит интерпретацию местных бонусов, устаревания, требований правительства, стоимости по характеристикам, бесплатных сооружений от других зданий, локальных/континентальных эффектов, реестра чудес и автопроизводства. Эти общие части проверяются на изолированных контрольных состояниях, включая минимально изменённые тестовые профили. Они не означают доступности всех 244 зданий и чудес в обычной партии.

Большое чудо после разрушения остаётся в реестре и не может быть построено снова. Бесплатно предоставленное здание не требует содержания, в том числе если уже построено вручную; при прекращении источника исходное сооружение остаётся. Автопроизводство хранит счётчик между ходами/загрузками. Устаревший источник перестаёт выдавать новые юниты. Полное поведение захваченных/правительственных/ресурсозависимых сооружений, цепочек бесплатных эффектов и замены чудес остаётся предметом сверки.

Ускорение, продажа и губернатор подключены в следующей части. Не завершены остальные специалисты, загрязнение, туризм, удвоение культуры по возрасту, золотой век, бесплатные технологии, морская/воздушная торговля, армии и связанные победы. Формулы антикоррупционных зданий пока предварительные. В профиле 16 роскошных ресурсов; предел их вклада в настроение модифицированного EXE не подтверждён. Текущая модель учитывает подключённые виды, не подменяет это наблюдением оригинала. На ранней фиксированной карте эта неопределённость не участвует в партии.

Сохранения и проверка

Введённая ранее схема 6 добавляет версию модели зданий, историю чудес, ходы строительства, счётчики автопроизводства и типизированные решения следующего заказа. Текущая схема 7 дополнена управлением городом; загрузка схем 2–7 идёт через последовательные миграции. Реальная фикстура схемы 5 создана опубликованным модулем ce921720c8dab4c2 обычными командами, без ручного понижения версии нового состояния. Сохраняются все ранее существовавшие поля городов/юнитов, карта, PRNG и незавершённая дорога.

Проверки tests/buildings.test.mjs в репозитории охватывают требования, отказ неподдержанного строительства, смешанную очередь, выпуск ветерана, обязательное решение и загрузку, прогноз/содержание, амбар, бесплатные здания, чудо, автопроизводство, лечение и миграцию. Исходник теста находится в репозитории; библиотека исследований не публикует папку tests.

Полное прохождение ядра и прохождение в браузере фиксируют текущие версии, действия, результат и точность загрузки. В браузерном отчёте отдельно записаны проверки очереди и обязательного решения; сценарий человека управляется автоматической политикой, ручной приёмкой это не является.

Машинная сводка проверок зданий фиксирует состав, версии и оставшиеся ограничения.

Основания и будущая сверка

Обязательные будущие наблюдения: выпуск первого ветерана из дворца Atlants; доход и содержание до/после «Жилья Рабочих»; рост с амбаром, включая переход размера; окончание нескольких исследований/заказов одновременно; потеря требования в очереди; сохранение в каждом из этих состояний.

Специалисты и расширенное дерево добавлены в схеме 8. Вклад инженера отделён от прочих щитов; условия переключения описаны в новой модели. Профессии используют собственные требования и доходы Atlants.