Самый первый удар наносит напавшая армия (если сражаются 2 армии) или гарнизон базы (если речь идет о нападении на базу). Далее все удары наносятся в порядке очереди.
Но если, к примеру, в армии A разновидностей войск больше, чем в армии B, то когда все юниты из армии B уже нанесли по удару, оставшиеся юниты из армии A лупят без очереди.
Когда все юниты обеих армий уже сделали по удару, то начинается следующая фаза боя.
Приоритеты нападения определяются перед каждой фазой боя. Подсчитывается "мощность" каждого из классов юнитов в обеих сражающихся армиях. Под мощностью тут поразумевается суммарная броня всех юнитов данного класса в армии. Обратите внимание, что речь идет именно о классе юнитов (пехота, техника и т.д.), а не о разновидности войск (ЛП, ТП, танки и т.д).
Итак, мощность подсчитали. Первыми бьют юниты "мощнейшего" класса вашей армии по юнитам "мощнейшего" класса противника. И так в порядке очереди по убыванию мощности.
Обратите внимание, что приоритеты нападения юнитов в классе не зависят от их мощности. Т.е. если дошла очередь бить пехоте, то первыми ударят в любом случае ЛП (независимо от их количества в армии), затем ТП и т.д.
Если группа войск, нанося удар по вражеской группе, полностью её добивает, то оставшийся урон достается следующей группе войск противника.
Наносимый урон атакующей группой войск:
demage = ceil(att * num * (1 + rang / 100) * (1 + t_attack / 10) * k)
att - урон, наносимый одним юнитом по классу противника
num - кол-во юнитов в армии
rang - ранг вашей армии
t_attack - уровень технологии атаки данного класса юнитов
k - коэффициент случайности (от 0.5 до 1.5)
ceil - функция округления числа в большую сторону
Расчет брони одного юнита в атакуемой группе:
defense = def * (1 + t_defense / 10)
def - броня одного защищающегося юнита
t_defense - уровень технологии защиты этого класса юнитов
Количество убитых юнитов расчитывается так:
killed = demage / defense
Обратите внимание, что количество убитых не округляется до целого числа, следовательно в бою участвуют и половинки юнитов :)
С Сониками все просто - они бьют сразу по всем группам войск противника, т.е. чем больше групп войск у противника, тем Соники эффективнее.
Девиаторы переманивают вражеских юнитов. Обратите внимание, что девиаторы не могут переманить половину танка, а вторую половину оставить противнику. Поясню на примере. Если до удара девиаторов в армии противника было 8,5 танка, и девиаторы, нанося удар, "убили" 2,5 танка, то переманятся 3 танка. А если девиаторы "убили" 2 танка, то переманятся только 2.
Когда Девастаторов убивают, они взрываются, нанося урон противнику:
demage = ceil(def * num * (1 + rang / 100) * (1 + t_attack / 10) * k)
def - защита Девастатора
num - количество взорвавшихся девастаторов (целое цисло)