Heroes of Gaia Wiki
Register
No edit summary
Line 78: Line 78:
   
 
===In-game results comparison===
 
===In-game results comparison===
Stack of 500 Priests against NPC Monsters
+
Stack of 500 Priests against NPC Colossus
   
 
Priest base UATK = 72
 
Priest base UATK = 72
   
Monster base UDEF = 109
+
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.