People keep asking me how to calculate damages. Here’s what i found.

::::::formula::::::

number of units * damage * (1+|atk-def|/30)^SIGN (atk-def) * (1 + class bonus) * (1 + feature bonus) * (1 – resistance) * (1 – Ranged unit’s Penalty)

::::::terms::::::

number of units : number of attacker’s units.

damage : damage of attacker. if attacker’s damage range is 10-14, that means it has 20% chance to deal one of 10,11,12,13 or 14 damage.

atk : attacker’s attack stat

def : defender’s defense stat

| x | : Absolute number of x ( x if x>=0 else -x)

SIGN x : sign of x (1 if x>0, 0 if x=0, -1 if x<0)

class bonus : Look at the diagram in army management screen. Outer arrow gives 15% bonus and inner arrow gives 7%. i.e) Healer deals 15% more dmg against mage, 7% more against defender, no bonus for others

feature bonus : some units have features. i.e)gunners have Heavy Missile, which gives 15% bonus on them against any immortals.

resistance : defender’s resistance for attacker’s attack type. Assassins have physical damage type, and Paladins have 40% physical resistance. so 40% of damage diminishes when assassins attack paladins.

Ranged Unit’s Penalty : Ranged unit deals 50% less damage on the targets out of their range, 30% less for targets next to it.

::::::Example::::::

when 50 druids attack Zombies next to them.(both of them have no items, and aren’t upgraded)

50 * (11~13) * ( 1 + |9(druid attack) – 10(Zombie’s defense)|/30)^SIGN (9-10) * (1 + 7%(Healer’s class bonus on Defender)) * (1+ 15%(druid’s Surge of Power feature bonus)) * (1 – 0%(Zombie’s magical resistance is 0)) * (1-30%(ranged units’ penalty when they attack units next to them))

= 50 * (11~13) * (1+ 0.0333)^-1 * 1.07 * 1.15 * 1 * 0.7

= (11~13) * 41.835

= 460.185~543.855

= 460~544(rounded)

if it crits, it deals 1.5X damage.

so it’s gonna be like..

460 dmg : 31.67%

502 dmg : 31.67%

544 dmg : 31.67%

690 dmg : 1.67%

753 dmg : 1.67%

816 dmg : 1.67%

If you find this formula doesn’t work for you, inform me what you found.

(but you’d better review it several times, since i tested it more than a hundred times. I found some round-up problems, which make around 0.05%~0.1% error. but I’m never gonna try to find out what’s wrong with it. :p )