# Обычный бой: раунды, HP и вероятность победы

Дата проверки: 26.10.2026. Область: Civ III; численные параметры целевого Conquests/Atlants проверяются отдельно.

## Найденные сведения

[Valant2: Combat System Explained](https://forums.civfanatics.com/threads/combat-system-explained.7679/) — ранняя сводка 2001 года, а не разбор Conquests. В ней раунд описан как испытание с вероятностью успеха атакующего `p = A / (A + D)`, где `D` уже включает модификаторы. Проигравший теряет один HP. Базовые уровни опыта: Conscript 2 HP, Regular 3, Veteran 4, Elite 5; укрепление даёт +25% защиты. Суммирование процентных защитных бонусов отмечено автором, но округление, некоторые сочетания и особенности неизвестны. Его итоговую формулу вероятности всего боя здесь не принимаем: исходная запись не учитывает все возможные длительности боя. В статье есть неподтверждённые предположения о крепостях и армиях; переносить их в C3C нельзя.

## Математическая проверка модели

Следующая рекурсия — наш математический вывод из описанной модели, а не найденный код Firaxis. Если `a` и `d` — оставшиеся HP, `W(a,d)` — шанс победы атакующего:

```
W(a,0) = 1
W(0,d) = 0
W(a,d) = p * W(a,d-1) + (1-p) * W(a-1,d)
```

Она предполагает постоянные силы и отсутствие отступления, поддержки, повышения и замены бойца армии. Для одинаковых сил и HP результат должен быть 50%; при `a=d=1` он должен равняться `p`. Эти проверки обнаружат ошибку, когда разработчик выдаёт вероятность одного раунда за вероятность всего боя.

## Что ещё проверить

В Atlants нужны базовые HP, прибавки отдельным типам, итоговые защитные множители и округление. Запись боя желательно хранить по событиям: выбранный защитник, модификаторы, случайное число, потерянный HP, итог. Отступление и бомбардировка описаны отдельно: [отступление](retreat.md), [бомбардировка](bombardment.md).
