No edit summary |
|||
Line 78: | Line 78: | ||
===In-game results comparison=== |
===In-game results comparison=== |
||
− | Stack of 500 Priests against NPC |
+ | Stack of 500 Priests against NPC Colossus |
Priest base UATK = 72 |
Priest base UATK = 72 |
||
− | + | Colossus base UDEF = 109 |
|
Player Hero HATK = 168 |
Player Hero HATK = 168 |
||
Line 97: | Line 97: | ||
Note that all attack buffs modify UATK before any calculation, same happens with UDEF. |
Note that all attack buffs modify UATK before any calculation, same happens with UDEF. |
||
+ | |||
==PvP Combat Mechanics== |
==PvP Combat Mechanics== |
||
Revision as of 14:24, 15 June 2010
NPC Combat Mechanics
Global Damage Formula
The damage formula has four factors:
- Base Damage * Hero Factor * Damage Modifier * # of Attacking Units
Base Damage
- Represents the role that Unit Stats play in the formula and its value is equal to:
- UATK * (UATK / (UATK + UDEF) )
- 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 Factor
Represents the way that hero's stats affects the formula and its value is:
(1 + HATK/100) / (1 + HDEF/100)
Why do people make formulas so complicated? The hero factor can be simplified to be:
(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 Modifier
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
Unit HP +%: X (This works as damage reduction)
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 "Increases melee unit HP: 5". The damage modifier will be 1 + 12/100 - 10/100 = 1.02
General Damage Formula
( 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 increase unit HP affect the Damage Modifier
ALL modifiers of the same type are added/subtracted together before being applied.
In-game results comparison
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 Mechanics
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 formulae
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.]
[ 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] }
Where
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^2)/(A^2-A))*DEF
Proof (ATK*A)^2/(ATK*A+DEF*B)>(ATK^2)/(ATK+DEF)
ATK^2*A^2/(ATK*A+DEF*B)>ATK^2/(ATK+DEF)
A^2/(ATK*A+DEF*B)>1/(ATK+DEF)
A^2(ATK+DEF)>ATK*A+DEF*B
A^2*ATK+A^2*DEF>ATK*A+DEF*B
A^2*ATK-A*ATK>DEF*B-A^2*DEF
(A^2-A)*ATK>(B-A^2)*DEF
ATK>((B-A^2)/(A^2-A))*DEF
Therefore (ATK*A)^2/(ATK*A+DEF*B)>(ATK^2)/(ATK+DEF) is logically equivalent to ATK>((B-A^2)/(A^2-A))*DEF.
A corollary to this is that if B<A^2, then the scenario with both the attack modifier and the defense modifier will always do more damage regardless of AATK and DEF.
Proof
If B<A^2, then
B-A^2<0
Since A^2-A>0, then (B-A^2)/(A^2-A)<0.
Since DEF is greater than 0, then (B-A^2)/(A^2-A)*DEF<0
Since ATK>0, and 0>(B-A^2)/(A^2-A)*DEF,
then ATK>((B-A^2)/(A^2-A))*DEF.
From above, we know that if that is true, then (ATK*A)^2/(ATK*A+DEF*B)>(ATK^2)/(ATK+DEF) is true.