Сражение ведётся путём поочерёдного обмена ударами между отрядами существ. При ударе атакованное существо получает урон и в зависимости от его количества могут погибнуть несколько существ отряда. Урон вычисляется следующим образом. 1. У каждого существа есть свой показатель урона — либо интервал, либо конкретное число. Первым делом случайным образом выбирается число из этого интервала. Оно может быть увеличено или уменьшено за счёт заклинаний. 2. Выбранное число умножается на количество существ в атакущем отряде. 3. Затем размер повреждения модифицируется в зависимости от разницы между параметрами Атаки нападающего героя и Защиты обороняющегося. • Если навык Атаки нападающего героя выше, то наносимый урон увеличивается на 5 % за каждое очко разницы, но не более, чем на 400 %. • Если навык Защиты обороняющегося героя выше, то наносимый урон уменьшается на 2,5% от номинального за единицу разницы, но не более, чем на 70% 4. Затем повреждения могут уменьшиться, если на обороняющийся отряд наложено заклинание Щит, Воздушный щит (это заклинание не работает при отражении атак городских башен — вместо снижения урона происходит его увеличение в два раза. Скорей всего — ошибка программистов игры) или у героя, под чьим руководством сражается отряд, есть навык «Оружейник». 5. Наконец, происходит нанесение повреждения. Если урон превосходит количество очков здоровья существа, то одно или несколько существ умирает, а следующее становится раненым. Возможно, что погибнут все существа в отряде, если размер урона превосходит их суммарное здоровье.
На величину урона может повлиять параметр удача, который может увеличить повреждение в 2 раза. Как и боевой дух, удача срабатывает не всегда, а лишь с определённой вероятностью, зависящей от величины удачи героя. Удача представляется целым числом от −3 до +3 и определяется навыком Удача, артефактами и посещением специальных строений на карте. Также уровень удачи может быть повышен или понижен заклинаниями «Удача» и «Неудача» соответственно.