NPC Combat MechanicsEdit

Global Damage FormulaEdit

The damage formula has four factors:

Base Damage * Hero Factor * Damage Modifier * # of Attacking Units

Base DamageEdit

Represents the role that Unit Stats play in the formula and its value is equal to:
UATK = attacking unit attack
UDEF = defending unit defense

Example : Ghost Dragon vs. Common Ghost
UATK = Ghost Dragon ATK
UDEF = Common Ghost DEF
UATK * (UATK/(UATK + UDEF)) = 165 * (165/(165+5)) = 160.15

Hero FactorEdit

Represents the way that hero's stats affects the formula and its value is:

(HATK + 100) / (HDEF + 100)

But when fighting NPC, HDEF = 0, then final Hero Factor for NPC mechanics would be: (HATK+100) / 100

This means when using 200 attack versus an NPC, the total damage will be 3 times the damage done with 0 attack.

A unit will never deal less than 30% of the base damage (base damage is the damage without modifiers).

Damage ModifierEdit

There are several buffs that modify damage as part of this multiplier:

Increases damage caused by melee (ranged) units: X

Decreases damage received by melee (ranged) units: X

Just add together all the damage increased buffs and subtract the damage decreased and HP buffs and you have the damage modifier.

Example: I have 3 buffs of "Increases damage caused by melee units:4" and my opponent has two buffs of "Decreases damage received by melee (ranged) units: 5". The damage modifier will be 1 + 12/100 - 10/100 = 1.02

(note: you can only consider the enemies "Decreases damage received by melee (ranged) units" when it is another player, and are able to search their hero to determin their bonuses.)

General Damage FormulaEdit

( UATK * UATK / (UATK + UDEF) ) * ( (HATK + 100) / (HDEF + 100) ) * (Damage Modifier) * (# of attacking units)

Spells that modify ATK or DEF modify base UATK or UDEF.

Spells that modify damage dealt add to the damage modifier.

ALL modifiers of the same type are added/subtracted together before being applied.

In-game results comparisonEdit

Stack of 500 Priests against NPC Colossus

Priest base UATK = 72

Colossus base UDEF = 109

Player Hero HATK = 168

NPC Hero HDEF = 0

Level 10 Rain of Arrows: Priest UATK +15% = 82.8

In-game result: 47897 damage

Formula result: 47897.95 damage

Note that all attack buffs modify UATK before any calculation, same happens with UDEF.

PvP Combat MechanicsEdit

This formula offers a good estimation of damage that a certain stack of units would do to another one just knowing a few variables, however, game options offers a lot of ways of modifying this stats and an 100% accurate formula for PvP Combat Mechanics is still under development and needs lots of research. This research is mostly stymied by the very large number of bugs associated with buffs on items. Some buffs (such as "Increases melee unit DEF: X" don't work at all), whereas others (such as "Lich King's ATK Increases : X") only work on some items but not on others. The only way to know whether a given buff works is to test it out

More formulaeEdit

Holding place for information pending article. Watch this space!

Formula that seems to work:

Eds note: have confirmed that some of the equation that follows below is absolutely wrong. Use at your own risk.

Uatk = attacking unit's base ATK
Udef = defending unit's base DEF

Hdef = defending hero's DEF

Hatk = attacking hero's ATK

Iatk = Items that adds ATK to specific units, ex: +2 atk to melee (it does stack!!! 2 + 2 = 4 etc.)

Idmg = Items that adds damage to melee/ranged units, ex: increase damage caused by melee units: 2 (doesn't stack, take highest #)

Idef = Items that adds DEF to specific units (It DOES stack)

Ired = Items that reduce damage taken from defending side, such as reduced damage received by ranged units: 3

Iatk% = Items that adds specific unit's attack by percentage, ex: add 2% ATK to ranged units

Satk = skills that adds attack percentage, ex: rain of arrows adds 1.5% attack per level to ranged units when activated in combat

Sdef = skill that adds defending units' Def by percentage, ex: fortifying defence adds 5% def per level for units waiting for their turn to attack

units = number of attacking units

Final damage calculation vs npc w/o hero will be as follows: [IT'S WRONG FORMULA. Putin.--> Vive moi :)]

[ Uatk * (1+ Iatk / 100) ]^2 / [ Uatk * (1+ Iatk / 100) + Iatk + Udef ] * (1 + Hatk/100 + Iatk% / 100) * (1 + Idmg / 100) * (1 + Satk / 100) * units

PvE Formula (+ some def bonuses):

damage = integer { (1 - hp/100) * integer [ mUatk^2 / (mUatk + mUdef) * (1 + Hatk / 100) * (1 + (Idmg - rdam) / 100) * units] }


mUatk = Uatk * [1 + (Satk + Iatk + Iatk%) / 100] + batk

mUdef = Udef * [1 + (ldef%) / 100]

Uatk= attacking unit's base ATK

batk = item that adds a specific unit's ATK bonus

Udef = defending unit's base DEF

Hatk = attacking hero's ATK

Hdef = defending hero's DEF

Idmg = Items that adds damage to melee/ranged units, ex: Increase damage caused by melee units: 2 (stackable, adds up)

rdam = total damage reduction for ranged units, ex: reduces damage recieved by ranged units by: 3

Iatk = Items that adds ATK to melee or ranged, ex: Increases melee unit ATK: 3 (I have yet to find 2 items with this bonus to prove it is stackable)

Iatk% = Items that adds specific unit's attack by percentage, ex: Fairy Dragon's ATK increases %: 6 (stackable)

ldef% = Items that adds specific unit's defense percentage

Satk = skills that adds attack percentage, ex: rain of arrows adds 1.5% attack per level to ranged units when activated in combat

hp = sum of all hp bonus items for the defending units, (if it is Ghost Dragons, both melee and "Ghost Dragon hp" will apply, and there's no distinction between the absolute and the percentage)

NOTE: This currently only works against enemies without heroes. Check the discussion if you want to help calculate the almighty formula for PVP.

CASIMODO 12:55, May 3, 2010 (UTC)

Increase Atk or Def

Frequently, a player may either increase the attack or defense the units. A good calculation to do is whether or not the increase in attack and the increase in your opponent's defense will result in more damage or less damage than the original.

If A is the attack modifier, and B is the defense modifier, then

More damage will be done if and only if ATK>((B-A²)/(A²-A))*DEF




A²/(ATK*A+DEF*B) > 1/(ATK+DEF)




(A²-A)*ATK > (B-A²)*DEF

ATK > ((B-A²)/(A²-A))*DEF

Therefore (ATK*A)²/(ATK*A+DEF*B)>(ATK²)/(ATK+DEF) is logically equivalent to ATK>((B-A²)/(A²-A))*DEF.

A corollary to this is that if B<A², then the scenario with both the attack modifier and the defense modifier will always do more damage regardless of AATK and DEF.


If B<A², then


Since A²-A>0, then (B-A²)/(A²-A)<0.

Since DEF is greater than 0, then (B-A²)/(A²-A)*DEF<0

Since ATK>0, and 0>(B-A²)/(A²-A)*DEF,

then ATK>((B-A²)/(A²-A))*DEF.

From above, we know that if that is true, then (ATK*A)²/(ATK*A+DEF*B)>(ATK²)/(ATK+DEF) is true.

Community content is available under CC-BY-SA unless otherwise noted.