Боевая Система

Данная статья составлена на основе игровых тестов, а так же информации полученной от разработчиков проекта. Сейчас данная информация претендует на самое достоверное описание боя "Один на Один", по мере эволюции системы боя в игре - статья будет обновляться.

## Алгоритм Боя

Весь бой в игре проходит по следуюму схемотичному алгоритму:

## Очередность Раундов

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

1. Атакующий Флот
2. Обороняющийся Флот
3. Оборона Обороняющегося

   Бой всегда начинается с первого раунда, то есть первый ход всегда делает атакующий. В дальнейшем раунды начинают сменяться в цикле **1->2->3->1 п**ри наличии участника раунда, если участника нет - то раунд пропускается.

* ***Пример 1:** Нет оборонительный построек, раунды чередуются: 1->2->1*
* ***Пример 2:** Нет флота обороны, раунды чередуются 1->3->1*

## **Очередность Хода**

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

Очередность актуальна для всех **доступных** во время боя кораблей, то есть если в составе флота, к примеру, нет ЛИ - это не означает пропуск хода, во время хода будет выбран следующий по объему тип кораблей.

**Гражданский флот (Транспорты)** - имеют исключения из логики описанной выше.

* Не участвует в бою, пока жив хоть один боевой корабль со стороны участника
* Не может быть выбран целью, пока жив хоть один боевой корабль со стороны участника.
* Не могут атаковать, наносят урон только контр-атакой (пропускают ход, если закончились боевые единицы)

Рассмотрим 2 примера выстраивания очередности вступления в бой участников. Для обоих примеров общие условия следующие:

* Обороняющийся: Все Типы кораблей, Все типы турелей
* Атакующий: Крейсеры, Линкоры, Дредноуты, Бомбардировщики

Аббревиатуры:

* А - Флот атакующего
* З - Флот защищающегося
* О - Оборонительные сооружения защищающегося

**Пример 1**: Все участники живут на протяжении 10 Раундов

* Все участники вступают в бой в соответствии с их очередностью
* В 10 раунде со стороны флота атакующего сделал ход самый большой корабль (Бомбардировщик) и в 13 раунде ход вернулся обратно к Крейсерам

**Пример 2**: В 5ом раунде ТИ(З) уничтожают все ДР(А), В 7ом раунде ББ(А) уничтожают всю оборону защищающегося (в теории это невозможно за 1 раунд, в данном примере это необходимо, что-бы не раздувать бой на 50+ раундов).

* Очередность ходов атакующего изменяется с ***КР->ЛК->ДР->ББ*** на ***КР->ЛК->ББ***, т.к. были полностью уничтожены все Дредноуты.
* Поскольку на 7 ходу оборона полностью уничтожена, она выбывает из дальнейшего боя и очередность раундов сменяется с ***А->З->О*** на ***А->З***.

## Контратака

Цель, которая была выбрана для атаки - всегда делает ответный выстрел по атакующему, нанося ему урон в ответ. Выстрелы атакующего и контр-атакующего происходят одновременно, то есть выстрел контратаки всегда наносит урон от всех боевых единиц.

**Исключение:** Выстрел оборонительных турелей во время раунда обороны.

Атакующий флот не делает "контратакующего выстрела" если у обороняющегося есть хотя бы 1 корабль. То есть оборона находится вне досягаемости (исключая атаки Бомбардировщиков/Титанов) до тех пор, пока не уничтожен весь флот обороняющегося.

## Скорострел (Увеличенный урон)

Каждая боевая единица имеет 2-7 целей, по которым она будет наносить увеличенный урон.

***Урон по цели = Урон Боевой Единицы \* Кол-Во Боевых \* % бонуса***

**Таблица Бонусов:** (Актуальна до 1.0.0.0, бонусы оборонительных сооружений не обновлены).

***Пример:** Линкор имеет 500% бонус урона по Крейсерам, базовый урон Линкора - 6750, с учетом бонуса урон по Крейсерам будет 33750, базовая броня Крейсера 5000. Таким образом Линкор 1 выстрелом уничтожает 6,75 Крейсеров*

## Выбор целей

При выборе цели - всегда выбирается только 1(!) цель, принцип ее выбора осуществляется по следующим параметрам:

1. Увеличенный урон **по** цели
2. Увеличенный урон **от** цели
3. Тип Цели
4. Размер Цели

Исходя из этих формируется следующая очередность:

1. Цели по которым есть увеличенный урон (все типы)
2. Боевые корабли от которых нет увеличенного урона
3. Боевые корабли от которых есть увеличенный урон
4. Транспортные средства
5. Оборона планеты, у которой нет приоритета атаки по атакующему типу кораблей
6. Оборона планеты, у которой есть приоритет атаки по атакующему типу кораблей

Скорострел определяет цель по которой будет нанесена атака в первую очередь (Максимальный урон при атаке) и цель, которая будет выбрана в последнюю очередь (Минимизация урона при контратаке). При нескольких целях попадающих под текущее условие атака всегда идет по наименьшему по размеру типу кораблей, к примеру:  *ЛИ атакует флот в котором есть КР, ББ,ТН, не взирая на то, что по ББ урон 400%, пока в бою будут КР - атака по ББ не начнется.*

Таблица очередности Атаки (не обновлено для 1.0.0.0, изменена Лазерная Установка):

## Нанесение/Получение урона

Как было сказано раньше, всегда выбирается только 1 цель и по ней осуществляется выстрел всех кораблей текущего участника раунда, цели наносится суммарный урон от всех боевых единицы. Данное утверждение актуально и для контратаки.

Весь избыточный урон уходит "в молоко", то есть если целью является 1 "Легкий Истребитель", а по нему стреляет 10000 Тяжелых Истребителей - то 99% урона уйдет "мимо".

Для уничтожения боевой единицы требуется нанести урон равный броне цели, в случае если нанесено хотя бы на 1 единицу меньше - боевая единица выживет.

## Подсчет Потерь

Потери подсчитываются в конце раунда, после того, как все участники сделали свои выстрелы. Все "недобитые" корабли переходят на следующий раунд. Если по итогам подсчета потерь одна из сторон теряет все боевые единицы (включая транспорты) - бой заканчивается.

## Теоретический пример боя:

120 ЛИ с базовыми параметрами атакуют 20 ТИ с базовыми параметрами и побеждают за 3 хода, потеряв 51 ЛИ, урон обороняющегося флота на каждом этапе был х3 за счет бонуса.

Увеличим размер атакующей волны до 150 ЛИ, теперь бой закончился за 2 хода, но все равно в первом раунде потери были идентичны 30 кораблей у атакующего.

Последний вариант - 250 ЛИ атакующего, в этот раз бой закончился за один ход, но атакующий попрежнему потерял 30 ЛИ в первом ходу.

Таким образом система "Контр Атаки" практически исключает возможность боев без потерь для атакующего, если только ваш здоровье 1 атакующего корабля не превосходит суммарный урон выбранной цели (с учетом модификаторов урона).