Вот статья в которой подробно описано как он происходит и какие выводы можно из этого извлечь. ИМХО сделано все ужасно коряво, но статья крайне полезна, т.к. объяснеят как можно извлечь из этой системы максимальную выгоду. Суть в том что в некоторых случаях увеличение силы юнита на десятые доли процента может повысить вероятность победы в бою на десятки процентов (, просто ). Вечером постараюсь перевести, а пока линк: http://forums.civfanatics.com/showthread.php?t=137615

* * * * * *

Вот, перевел. Оригинал от Arathorn тут: http://forums.civfanatics.com/showthread.php?t=137615

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

Выражаю благодарности BomberEscort и Snell за их анализ в этой теме http://forums.civfanatics.com/showthread.php?t=137350 и этому описанию на аполитоне http://apolyton.net/forums/showthread.php?...threadid=140622.

Основы

Понимания этого в принципе не требуется, можно просто нажать Alt и навести мышку на вражеский юнит и посмотреть соотношение сил в левом нижнем углу экрана. В этом параграфе объясняется, как эти числа считаются.

Эффективная сила атакующего.
Она подсчитывается первой, к базовому значению прибавляются только те бонусы которые не зависят от защитника. (в немодифицированной игре только прокачки дающие общий бонус к силе - combat1, combat2..).

Эффективня сила защитника.
Она подсчитывается сложнее. Сначала складываются все бонусы защитника - от местности, общий бонус силы, бонус против типа юнита атакующего, от укрепления, и.т.п. Затем вычтете все бонусы который атакующий может иметь против данного защитника. Сюда включаются бонус против типа юнита защитника, бонус атакующего при атаке города, возмлжно также бонус от местности (?). Если сумма положительна, то нужно прибавить этот бонус к силе защитника, если отрицательна, то нужно силу защитника разделить на (1-сумма_бонусов)=(1+|сумма_бонусов|).

Пример 1:
Лучник (сила 3) с прокачками City Raider I (+20% при атаке города) и Combat I (+10% к общей силе) атакует дуболома (сила 2) на равнине. Эффективная сила атакующего подсчитывается просто прибавлением бонуса от Combat I, получается значение 3.3 (3+3*10%). Защитник не имеет бонусов, поэтому он имеет эффективную силу 2.

Пример 2:
Рыцарь (сила 10) с прокачками Combat I и Cover (+25% против лучников) атакует длиннолука (сила 6) в лесу. Эффективная сила атакующего опять вычисляется просто учитывая только прокачку Combat I. Она равна 11 (10+10*10%). Длиннолук получает бонус +50% от леса, но прокачка рыцаря Cover теперь влияет на защитника и дает -25%. Суммарный бонус для длиннолука теперь +25%, а его эффективная сила 7.5 (6+6*25%).

Пример 3:
Рыцарь (сила 10) с Combat I, Combat II и City Raider I атакует лесоруба (сила 5) в городе с бонусом от культуры 3%. Эффективная сила рыцаря 12 (10+10*20%) от двух Combat прокачек. Защитник получает 3% от города, но здесь вступает в игру бонус атакующего City Raider, который дает защитнику -20%. То есть сумма равна -17%. Эффективная сила защитника 5/(1+17%)=4.27.

Собственно сам бой

Теперь мы знаем эффективную силу атакующего и защитника. Назовеи их для краткости A и D. Если вас пугает алгебра переходите сразу к выводам...

Вероятность исхода одного раунда.
Вероятность победы атакующего A/(A+D), защитника D/(A+D). Введем переменную R=A/D, через R эти вероятности записываются как R/(R+1) и 1/(R+1).

Повреждения за один удар.
В начале боя и защитник и атакующий начинают с 100 хп, независимо от их силы и от того были ли они ранены до этого. Повреждения которые наносит атакующий за удар определяются по такой формуле: 20*(3*A+D)/(3*D+A), защитник: 20*(3*D+A)/(3*A+D). Округлить к меньшему целому. Или в R-представлении: 20*(3*R+1)/(3+R) и 20*(3+R)/(3*R+1). Если одна из сторон теряет все 100 хп, то она проигрывает. Победитель остается с силой равной стартовой_силе*хп/100. Точную вероятность можно посчитать используя этот калькулятор: http://c4combat.narod.ru/c4c_v0_13.htm.

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

Отступление.
Отступит атакующий юнит или нет определяется при окончании раунда который без отступоения стал бы для атакующего смертельным. Таким образом шанс отступления не уменьшает шанс победы в бою. (в отличие от civ3). Некоторые важные моменты по поводу отступления: юнит с шансом отступить Х% выживет с вероятностью строго больше Х%. Отступление возможно только для атакующего. Оно наиболее полезно для более слабых юнитЮ например для катапульт атакующих город.

Пример: катапульта (4) атакует лучника (3) укрепленного в городе.Соотношение сил 4 к 5.25. Без отступления катапульта выигрывает в 17.7% случаев и умипает в остальных. С 20% шансом отступления (одна прокачка) она побеждает все в тех же 17.7% случаев, отступает в 20%*82.3%=16.5% и умирает в 65.8%.

Выводы
Теперь я немного поговорю о стратегии. Перед тем как это читать полезно понять как устроен бой, но это вовсе не обязательно.

Точки скачков
Из за того как подсчитываются наносимые повреждения существуют естественные скачки при которых небольшое изменение R приводит к огромному изменению шансов победы и нужно стараться всегда при атаке быть с праильной стороны этих точек. Первая точка находится там где повреждения наносимые защитником падают с 15-и до 14-и. Это происходит когда атакующий в 1.8 раз сильнее защитника. При этом число раундов которые должен победить защитник возрастает с 7-и до 8-и. При R>1.8 атакующий побеждает в >99% случаев. Второй скачок происходит когда повреждения наносимые за раунд атакующим достигают 25-и. Это значит что он может уничтожить защитника всего за 4 раунда. Это происходит при R=11/7=1.5714..., вероятность победы при этом составляет 95%. Уменьшите это число до просто 1.57 и шанс победы упадет до 90%. Третий скачок происходит когда повреждения наносимые защитником падает от 17-и до 16-и. При этом R=1.387. При R>1.387 атакующий побеждает с вероятностью больше 87.5%, при R<=1.387 с вероятностью меньше 80%. И наконец самый важный скачок происходит при приблизительно равных сила. Даже небольшой перевес в силе дает огромное преимущество. Более сильный юнит, даже с перевесом в 0.01 победит с вероятностью не меньше чем 62.3%. Это потому что более сильный юнит наносит 20 повреждений за раунд и ему нужно нанести 5 ударов для победы, а более слабый наносит 19 повреждений и ему требуется 6 ударов для победы. При переходе от чуть более слабого юнита к чуть более сильному изменяет вероятность победы от 37.7% до 62.3%. 40% вероятность невозможна (без первых выстрелов).

Код:
R * * * * * * * вероятность победы
>1.8 * * * * * *99%+
1.58-1.79 * * * 95%-98%
1.39-1.57 * * * 87%-90%
1.01-1.38 * * * 62%-80%
1.00 * * * * * *50%
0.73-0.99 * * * 20%-38%
0.64-0.72 * * * 10%-13%
0.56-0.63 * * * 2%-5%
<0.56 * * * * * <1%
Странности с бонусами.
Из-за того что бонусы зависящие от ситуации применяются только к защитнику, к их использованию нужно подходить осторожно. Разница между 25% бонусом себе и 25% штрафом противнику может быть значительной. Например пусть юнит с силой 3.7 (раненный мечник) и прокачкой Cover (+25% против лучников) атакует лучника в лесу. Можно было бы предположить, что из-за этих 25% он будет иметь силу 4.6 проти 4.5 у лучника (3+50% от леса) и следовательно победит с вероятностью 64%. Но из-за странности с бонусами соостношение сил будет 3.7 против 3.8 (3+25%) и на самом деле вероятность победы будет всего 36%.

[Здесь я кусок пропустил, так как уде устал переводить. Дальше там идут менее выжные с моей точки зрения детали, к тому же автор по-моему не совсем прав в некоторых местах.]

График с вероятностью победы в зависимости от R.
http://www.civfanatics.net/uploads10/Civ4_...Win_Percent.jpg

Разным цветом нарисованы случаи с разным числом первых выстрелов.
Зеленый - +2 первых выстрела у атакующего
Синий - +1 у атакующего
Черный - по ровну первых выстрелов
Оранжевый - +1 у защитника
Красный - +2 у защитника.