Система боя

В Mapper сражение происходит мгновенно, атакующая и обороняющаяся стороны терпят потери в зависимости от типа и количества юнитов, их прокачки и параметра Уклонение, заданного атакующим игроком. Приведённые ниже формулы описывают случай, когда никакие войска атакующей стороны не были направлены на разрушение защитных башен.

Формулы расчёта потерь при атаке:

Суммарная сила атаки total_attack_strength равна сумме атаки всех юнитов атакующей армии.

Взвешенная сила защиты weighted_defence_strength зависит от доли каждого типа атаки атакующей армии.

Если положить, что процент пехотной атаки составляет Winf, конной – Wcav, лучной — Warc, то:

weighted_defence_strength = (Winf*Dinf + Wcav*Dcav + Warc*Darc) / 100%

где Dxxx – суммарная сила защиты обороняющейся армии против соответствующего типа атаки (infantri, cavalry, arcehrs).

R – соотношение сил сильной и слабой стороны сражения. Вычисляется так:

R = (total_attack_strength / weighted_defence_strength) ** 1.5;

Если R<1, берём в качестве R значение 1/R.

Формула потерь:

потери слабой стороны: casualty_weak = R / ( evade + R );

потери сильной стороны: casualty_strong = 1 / ( evade + R );

Пример 1

1000 крестьян атакуют 1000 крестьян. Сила атаки равна силе защиты.

При этом ratio R=1.

При evade=0: потери сильной стороны составляют 100%, слабой стороны — тоже 100%.

При evade=1: потери сильной стороны составляют 50%, слабой стороны — тоже 50%.

При evade=2: потери сильной стороны составляют 33%, слабой стороны — тоже 33%.

Пример 2

1000 крестьян атакуют 500 лучников.

Суммарная атака total_attack_strength = 60*1000 = 6000.

Взвешенная защита weighted_defence_strength = 50*500 = 2500.

При этом ratio R=(6000/2500)**1,5 = 3,718

При evade=0: потери сильной стороны составляют 26,9%, слабой стороны — 100%.

При evade=1: потери сильной стороны составляют 21,2%, слабой стороны — 78,8%.

При evade=2: потери сильной стороны составляют 17,5%, слабой стороны — 65%.

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