# Железные дороги форты и зона контроля

Продолжение рубежа 4.5. В общем меню работ появились железная дорога, форт и баррикада. R на дороге или Shift-R выбирает железную дорогу, Ctrl-F строит форт либо улучшает существующий до баррикады. Все команды используют тот же сохранённый прогресс, что остальные работы.

| TFRM | Требования Atlants | Объём работы |
| --- | --- | --- |
| 4 Железная дорога | TECH 121 «Взрывчатка», железо GOOD 1 и уголь GOOD 3, существующая дорога | 24 × движение местности |
| 2 Форт | TECH 26 «Строительство», флаг юнита BuildFortress и разрешение AllowForts местности | 8 × движение местности |
| 12 Баррикада | TECH 59 «Правильная осада», флаг юнита BuildBarricade, разрешение местности и существующий форт | 8 × движение местности |

Проверяется и технология раскрытия ресурса: железо требует TECH 9, уголь — TECH 143. Ресурсы рабочего теперь вычисляются от его клетки по дорожной/железнодорожной сети, а не объединением всех городов. Ресурс из изолированного города больше не разрешает работу на другом участке. Разрыв местного пути прерывает работу, сохраняя незавершённый прогресс. Проверка города использует тот же обход сети. Морские связи, торговля и право прохода пока не реализованы полностью.

## Движение и хозяйство

На шахте железная дорога добавляет один щит, на орошении — одну пищу; без этих улучшений прибавки нет. Бонус проходит обычный штраф правительства и экономические расчёты. Это не процентное увеличение: [первичные наблюдения для Civ III и DyP](https://forums.civfanatics.com/threads/railroad-enhances-food-production-by-how-much.99570/).

Переход между доступными клетками железной дороги не расходует движение. Город служит соединительным узлом. Юнит с уже исчерпанным движением всё равно не получает новый приказ. Дороги чужого владельца не дают ускорения без ещё не реализованного права прохода. Баррикада на чужой или нейтральной клетке исчерпывает оставшееся движение вошедшего, включая победившего атакующего с Blitz; собственная не мешает. [Наблюдения об ownership и остановке](https://forums.civfanatics.com/threads/do-fortressess-and-barricades-work-for-enemy-units-who-are-within-your-border.117678/).

TECH.flags, бит 2, у исходной TECH 75 «Инженерное дело» разрешает дорожную скорость через реку. До открытия действует обычная цена местности. Для рек используется общая проверка границы с боевым бонусом, включая замыкание карты. Железная дорога считается мостом. Точные особенности исходной клетки города, ресурсов на ней и редкие исключения требуют Windows-контроля.

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

## Защита и обстрел

RULE.fortress_defense = **75**. Форт даёт +75%, баррикада добавляет ещё +75%; бонус складывается с местностью, укреплением юнита и прочими применимыми факторами. Его получает находящийся в сооружении защитник независимо от владельца территории. Исходная Civilopedia прямо указывает эти значения: [текст и хеши](data/infrastructure-sources.json).

Наземный юнит с PRTO.zone_of_control или занявший форт/баррикаду может обстрелять противника, который начинает и заканчивает перемещение на соседних с ним клетках. Пустой форт не стреляет. В одном стеке выбирается максимальная сила `A = max(attack, bombard_strength)`. Вероятность попадания `A / (A + 16D)` взята из [разбора кода игры Flintlock](https://forums.civfanatics.com/threads/zones-of-control.682034/). Успех снимает одно здоровье, оставляя минимум одно; обычная атака, повышение опыта и золотой век не запускаются.

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

## Данные графика и проверки

Схема 17, `rail-and-forts-v1`, работы `native-terrain-work-v4`, экономика `city-economy-v11`. Реальный файл схемы 16 из сборки `71b4c748de677536` мигрирует без изменения карты, городов, призыва, старой дороги и PRNG. Прежние результаты ходов не пересчитываются.

Используются исходные Conquests/Art/Terrain/railroads.pcx и TerrainBuildings.PCX: сетка рельсов и четыре эпохи форта/баррикады. В работах воспроизводится исходная fortress-анимация там, где она разрешена INI. Значки меню взяты из Civilopedia; для баррикады явно повторно используется родной значок строительства форта. Сверка исходного выбора эпохи, соседств и смещений остаётся открытой.

[21 проверка ядра](data/infrastructure-verification.json) проверяет требования/изолированные сети, прерывание, доходы, движение/реки/города, укрепления, Blitz, обстрел, сохранения и выбор рабочих ИИ. [Chromium](data/browser-infrastructure-verification.json) проверяет шесть полных ходов строительства железной дороги с промежуточной загрузкой, Ctrl-F и улучшение форта, движение по рельсам, нейтральную баррикаду, обстрел и экспорт/загрузку с точным совпадением ядра. При проверке исправлен сброс сообщения об обстреле после перемещения.

R29/U22 в [реестре оригинальных контролей](reference-cases.md). Рубеж 4.5 остаётся в работе: колонии, аванпосты, радары, аэродромы и их поведение, автоматизация человека, загрязнение, болезни и природные события ещё не завершены. Проверки нашего движка не подтверждают исходную случайную последовательность или полное совпадение с Windows.

[План](../development-plan.md) · [Ход разработки](../development-progress.md)
