Обновлено:

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

Призыв в Civilization III Atlants 2

Итерация рубежа 4.3. Кнопка «Призвать» находится в окне города рядом с ускорением. Перед приказом показываются тип, здоровье рекрута, потеря населения и использованный лимит; подтверждение перечисляет последствия. Используется основной сайт игры.

Это описание выполненной модели и её проверок. Контрольные ходы выбранного Windows EXE ещё не выполнены.

Исходные данные и расхождения

СвойствоИзмеренная поставкаИспользование
Технология призываTECH.flags, бит 4; единственная запись — TECH 134 «Политика»Общая проверка знания технологии; название Nationalism из базовой игры не используется
Доступные типыPRTO.ability_flags_hex, байт 1, бит 1Полный каталог помеченных наземных типов, общие требования технологий, цивилизации и ресурсов текущего города
Минимальный размерCivilopedia: население 8 или выше; RULE.town_max_size = 7Граница town_max_size + 1; связь с изменяемым параметром требует проверки на EXE
ЦенаCivilopedia: один жительУдаляется один житель национальности владельца, иностранные и сопротивляющиеся группы сохраняются
ОпытEXPR 0 «Рекрут», base_hp = 3Здоровье = EXPR.base_hp + PRTO.hp_bonus; у Стрелка 88 получается 5, не 2 из обычной Civ III
НедовольствоRULE.draft_unhappiness = 20Отдельный накопленный срок, не смешанный со сроком принудительного труда или военной усталостью

Дневные лимиты GOVT по идентификаторам 0–13: 0, 1, 0, 0, 1, 0, 1, 2, 1, 0, 1, 1, 1, 1. Лимит относится к каждому городу. Анархия, Республика, Демократия, Теократия и Социализм запрещают призыв. При Фашизме таблица разрешает два призыва, хотя текст Civilopedia перечисляет его среди форм с одним. В расчёте используется BIQ; наблюдение EXE остаётся обязательным.

Справка также упоминает копейщика и пикинёра, но их названия не заменяют фактические флаги PRTO. Текст, хеши и противоречия.

Первичное внешнее свидетельство о немедленном движении — проверка Chamnix в исходной Civ III: автор прямо пишет, что проверил появление юнита и возможность двигаться в ход призыва. Исследование флагов редактора подтверждает назначение Draft. Это не контроль нашей поставки Atlants. Семантика битов дополнительно сопоставлена с закреплёнными структурами QueryCiv3/OpenCiv3.

Общая команда и жизненный цикл

DRAFT_UNIT {playerId, params: {cityId}} проходит обычные проверки владельца, хода, ожидающих решений и завершения партии. draftQuote используется интерфейсом, командой и ИИ. Недопустимый приказ возвращает DRAFT_REQUIREMENTS со структурированными причинами и сохраняет исходное состояние.

Проверяются технология призыва, ненулевой лимит правительства, размер города, хотя бы один собственный житель, отсутствие сопротивления и доступность призывного типа. Ресурсы проверяются через ту же дорожную сеть, что производство. При исчезновении ресурса можно призвать более слабый тип, если его требования выполнены.

Текущий порядок выбора: защита по убыванию, нападение, бонус здоровья, затем идентификатор. Это предварительный порядок, а не доказанная функция EXE. В частности, Пулемётчик с защитой 8 предпочитается типам пехоты с защитой 6. Дубли записей с другими стратегиями ИИ сохраняются в исходном каталоге; названия не служат ключами выбора.

Исполнение сразу создаёт юнит в городе с собственным гражданством, EXPR 0, полным здоровьем рекрута и обычным запасом движения. Казармы не повышают его до ветерана. Казна, щиты, заказ и PRNG не расходуются. Население уменьшается на один, затем общий расчёт назначения жителей восстанавливает допустимые рабочие места и специалистов.

Лимит хранится в городе как lastDraftTurn и draftsThisTurn; повторная загрузка, переговоры о мире или изменение бюджета не обновляют его. Новый естественный ход разрешает использовать лимит снова. Счётчик привязан к сохранённому глобальному номеру хода; точное поведение смены владельца в этом же ходе требует оригинального контроля.

Настроение и экономика

Каждый призыв добавляет 20 к draftAngerTurns. Число отрицательных пунктов настроения — ceil(draftAngerTurns / 20): два последовательных призыва дают срок 40 и два пункта в начале. Срок уменьшается на один в конце собственного расчёта города; чужой ход и загрузка его не уменьшают.

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

Национальность конкретного рабочего места пока не хранится. Мы сохраняем правильные суммарные группы, но не утверждаем совпадение выбора конкретного портрета/клетки с оригиналом. Запрет призыва при сопротивлении пока также требует Windows-проверки; отдельный запрет из-за обычных беспорядков в эту итерацию не добавлен.

Простой ИИ рассматривает призыв при видимом враге в двух клетках и менее двух собственных защитниках в городе. Он проверяет последствия общим расчётом и избегает новых беспорядков. Это собственная базовая политика, не реконструкция стратегии ИИ Firaxis.

Сохранения и представление

Схема 15, atlants-drafting-v1, экономика city-economy-v10. Миграция 14 → 15 добавляет нулевое призывное недовольство и неиспользованные лимиты: в прежнем движке этой механики не было. География, старые национальности, дороги, незаконченные работы, договоры, решения и PRNG сохраняются. Проверка использует настоящий файл схемы 14, полученный обычными приказами неизменённых модулей сборки 6e60a8d03def7c14.

Из оригинала конвертированы восемь наборов для призывных типов двух фиксированных цивилизаций: 82, 85, 86, 88, 94, 95, 107, 109. Для каждого подготовлены default/run/attack1/death, восемь направлений, NTP 01 и 09. Это не включает обычное производство этих типов и полную реализацию всех их способностей. Весь подготовленный набор теперь содержит 471 графический ресурс, 126 атласов анимации, 252 цветовых варианта и 244 исходных WAV. Проверка реального Windows-воспроизведения и точных звуковых событий остаётся отдельной работой.

Проверки и остающиеся вопросы

18 проверок ядра проверяют исходные требования, границу населения 7/8, лимиты всех правительств, национальность, ресурсы, опыт/здоровье, немедленное движение, накопление/уменьшение срока, неизменность отклонённого приказа, миграцию, валидацию, ИИ и точное продолжение после загрузки.

Настоящий Chromium проверяет кнопку и причины запрета, отмену/подтверждение, сохранение иностранных групп, два призыва при Фашизме с перезагрузкой после каждого, запрет Республики и полный ход ИИ с призывом. Состояния сравниваются с ядром; это проверка нашего продукта, а не оригинального поведения.

R27/U20 в реестре контрольных случаев: оригинальный размер города и изменённая граница Town, гражданство, сопротивление/беспорядки, приоритет типов и ничьи, движение, точный порядок недовольства, перенос срока/лимита при захвате, расхождение Civilopedia с BIQ. Рубеж 4.3 остаётся в работе.

План · Ход разработки