Damage: Difference between revisions
Line 74: | Line 74: | ||
=== Secondary skill factors – variables I<sub>2</sub> and I<sub>3</sub> ==== | === Secondary skill factors – variables I<sub>2</sub> and I<sub>3</sub> ==== | ||
Variable I<sub>2</sub> is related to secondary skills [[Archery]] and [[Offense]], and | Variable I<sub>2</sub> is related to secondary skills [[Archery]] and [[Offense]], and I<sub>3</sub> to heroes specializing in these skills. Archery and Offense cannot affect damage simultaneously, because they are related to [[ranged attack|ranged]] and [[melee]] attacks, respectively. For ranged attacks, Archery secondary skill may give 0, 0.10, 0.25 or 0.50 depending on whether the hero has the skill and on what level the skill is. Similarly, Offense may give 0, 0.10, 0.20 or 0.30 to melee attacks. | ||
Three heroes specialize in Archery or Offense. Orrin has Archery as a specialty while Gundula and Crag Hack has Offense. They | Three heroes specialize in Archery or Offense. Orrin has Archery as a specialty while Gundula and Crag Hack has Offense. They receive additional bonus from Archery or Offense secondary skill, as calculated with the following formula: | ||
<big><code>I<sub>3</sub> = 0.05 × hero level × I<sub>2</sub></code></big> | <big><code>I<sub>3</sub> = 0.05 × hero level × I<sub>2</sub></code></big> | ||
As can be seen from the formula, the specialty bonus requires that the hero has the appropriate secondary skill, otherwise | As can be seen from the formula, the specialty bonus requires that the hero has the appropriate secondary skill, otherwise I<sub>1</sub></code> will become 0, which leads to that I<sub>2</sub></code> will be 0 as well. In other words, Orrin does not receive his specialty bonus if he does not have Archery secondary skill; same applies to Gundula and Crag Hack with Offense. By default these heroes start with an appropriate secondary skill, but in custom maps the map-maker may change the starting skills. | ||
Additionally, [[Adela]] and her specialty to [[Bless]] spell is a special case of variable | Additionally, [[Adela]] and her specialty to [[Bless]] spell is a special case of variable I<sub>2</sub>. When creature stack blessed by Adela attacks, it recieves an additional damage from her specialty, that can be calculated with the formula: | ||
<big><code>SP = 0.03 × hero level '''÷''' creature level</code></big> | <big><code>SP = 0.03 × hero level '''÷''' creature level</code></big> | ||
Because of the division, Adela's Bless bonus is higher to low-tier creatures. First level creatures will | Because of the division, Adela's Bless bonus is higher to low-tier creatures. First level creatures will receive +3% bonus to damage per Adela's level, while fifth level creatures only recieve +0.6% bonus per Adela'a level. | ||
==== Luck as combat modifier – variable | ==== Luck as combat modifier – variable I<sub>3</sub> ==== | ||
The luck variable may be either 0 or 1.00, depending on whether or not the attacking creatures gets "a lucky strike". This is determined by the combat variable [[luck]], which may be 0 (neutral), +1 (positive), +2 (good) or +3 (excellent). These values determine how often lucky strikes occur. These probabilities are, respectively, 0/24 (0%), 1/24 (4.17%), 1/12 (8.33%) and 1/8 (12.5%). Luck may be affected by artifacts, adventure map locations, spells and the secondary skill [[Luck (secondary skill)|Luck]]. | |||
==== Creature abilities – variable | ==== Creature abilities – variable I<sub>4</sub> ==== | ||
Creature variable C is the last variable capable of increasing the final damage. [[Cavalier and Champion|Cavaliers and Champions]] have special ability to recieve jousting bonus when they attack. This gives them bonus which is calculated with the formula: | Creature variable C is the last variable capable of increasing the final damage. [[Cavalier and Champion|Cavaliers and Champions]] have special ability to recieve jousting bonus when they attack. This gives them bonus which is calculated with the formula: | ||
<big><code>C = 0.05 × squares travelled</code></big> | <big><code>C = 0.05 × squares travelled</code></big> | ||
[[Dread Knight]]s may cause [[Death Blow]] attack, which gives variable C value 1.00. Similarly, if [[Ballista]] causes double damage, the value variable C receives value of 1.00. Additionally, there are few creatures who [[hate]] | [[Dread Knight]]s may cause [[Death Blow]] attack, which gives variable C value 1.00. Similarly, if [[Ballista]] causes double damage, the value variable C receives value of 1.00. Additionally, there are a few creatures who [[hate]] each other, giving C a value of 0.50 when they attack a hated target. | ||
=== Defense variables === | === Defense variables === |
Revision as of 11:50, 22 July 2014
Damage is a general term for the amount of health loss a creature or a spell can cause to a single creature or to a creatures stack. If a creature suffers more damage than its current health, it is eliminated, while in a stack of creatures, the topmost dies. The remainder of the damage is dealt to the next one and so forth until all damage is dealt or the whole stack is eliminated.
Creature's ability to deal damage typically has a range, which means that it causes randomly chosen damage between the minimum and maximum value. Some creatures like Nagas do not have a damage treshold meaning they always do the same amount of damage. Creatures in a stack cause individual damages, and the combined damage of the stack is calculated by adding them together. However, the final damage can deviate from the combined damage greatly because of different additions and reductions, which are covered in the next section.
Spells can deal damage much like creatures do, except that the amount of inflicted damage does not vary within a range but is fixed. The exact amount of unmodified spell damage can always be calculated with a linear formula. For example, basic Lightning Bolt cast by a hero with 7 spell power does 7 × 25 + 10 = 185 damage. For other spells different values than 25 and 10 need to be substituted. The eventual amount of spell damage is modified as follows:
- The Sorcery secondary skill increases spell damage.
- Heroes increase spell damage with 3% per hero level when casting the spell they specialize in.
- Elementals take double damage from certain spells. Fire Elementals, for example, are vulnerable to Ice Bolt.
- The damage that Stone Golems, Iron Golems, Gold Golems and Diamond Golems take from spells is reduced by, respectively, 50%, 75%, 85% and 95%.
- Dwarves have a 20% chance and Battle Dwarves a 40% chance to completely resist any (damage) spells.
- Creatures adjacent to Unicorns and War Unicorns have a 20% chance to completely resist any (damage) spells.
- The Resistance secondary skill and resistance artifacts such as the Boots of Polarity provide each creature stack of a hero's army with a chance to resist any (damage) spell.
- Some creatures are naturally immune to certain (damage) spells.
Damage calculation of creature stacks
The damage calculation formula
Description |
---|
I1 = 0.05 × (Attack - Defense) (if A ≥ D) |
I2 = 0.10, 0.25, 0.50 for basic, advanced, expert Archery = 0.10, 0.20, 0.30 for basic, advanced, expert Offense |
I3 = 0.05 × I2 × hero level for Archery/Offense specialty |
I4 = 1.00 for lucky strikes |
I5 = 1.00 for Death Blow, Ballista double damage = 1.00 if Elemental attacks opposite Elemental type |
R1 = 0.025 × (Defense - Attack) (if D ≥ A) |
R2 = 0.05, 0.10, 0.15 for basic, advanced, expert Armorer |
R3 = 0.05 × R2 × hero level for Armorer specialty |
R4 = 0.15 for Shield, 0.30 at advanced, expert level = 0.25 for Air Shield, 0.50 at advanced, expert level |
R5 = 0.50 if attacker has range or melee penalty |
R6 = 0.50 if target is behind a wall (obstacle penalty) |
R7 = 0.50 for retaliation after being Blinded = 0.75 for retaliation after advanced Blind |
R8 = 0.50 for Psychic Elemental vs. mind spell immunity = 0.50 for Magic Elemental vs. lvl 1-5 spell immunity |
Mathematical formula for calculating the final damage (DMGf) is:
DMGf = DMGb × (1 + I1 + I2 + I3 + I4 + I5) × (1 - R1)×(1 - R2)×(1 - R3)×(1 - R4)×(1 - R5)×(1 - R6)×(1 - R7)×(1 - R8)
Primary determinant for the final damage is the base damage (DMGb), which is affected by the number of attacking creatures and their damage range. All other variables are basically modifiers of the base damage. Variables are denoted as I if they (i)ncrease damage and as R if they (r)educe it. I1 and R1 are mutually exclusive, but all other variables may simultaneously affect the final damage (DMGf). A brief summary of the variables have been given in the table on the right.
To summarize the above formula, the content of the first parentheses increase the base damage by multiplying it with a modifier varying from 1.00 to 8.00, and the content of the second parentheses reduces the damage with a modifier varying from 0.00 to 1.00.
Attack-Defense difference – variables I1 and R1
The Attack-Defense difference, denoted by I1 and R1 in the formula, is typically the main modifier of base damage. It is calculated as the difference between the attacker's attack value and the defender's defense value. These are determined by adding up the attack skill of the attacking hero and of the attacking creature type, and by adding up defense skill of the defending hero and defending creature type. Spells and creature abilities that affect attack or defense values, such as bloodlust and disease, are also taken into account in this part of the formula, as are any bonuses from native terrain or creature specialtiesy.
If the attacking creature's total attack value is higher than the defending creature's total defense value, in other words if the difference is positive, then the attacking creature receives a 5% bonus to its base damage for every point the attack value is higher. If the difference is negative, then the attacking creature receives a 2.5% penalty to its total damage for every point the attack value is lower. A positive Attack-Defense difference therefore increases damage, meaning that the variable I1 in the formula is positive while R1 is 0. Conversely, a negative Attack-Defense difference decreases damage, meaning that R1 is positive whereas I1 is 0. An Attack-Defense difference of 0 does not modify base damage.
The Attack-Defense difference can modify base damage only within a specific limit. This limit is reached by a positive Attack-Defense difference of +60 and a negative Attack-Defense difference of -28. This means that a high attack skill can grant no more than +300% bonus damage, whereas a high defense skill can grant no more than a -70% penalty. Thus, the Attack-Defense difference can modify a base damage of 100 to no more than 400, and to no less than 30.
Secondary skill factors – variables I2 and I3 =
Variable I2 is related to secondary skills Archery and Offense, and I3 to heroes specializing in these skills. Archery and Offense cannot affect damage simultaneously, because they are related to ranged and melee attacks, respectively. For ranged attacks, Archery secondary skill may give 0, 0.10, 0.25 or 0.50 depending on whether the hero has the skill and on what level the skill is. Similarly, Offense may give 0, 0.10, 0.20 or 0.30 to melee attacks.
Three heroes specialize in Archery or Offense. Orrin has Archery as a specialty while Gundula and Crag Hack has Offense. They receive additional bonus from Archery or Offense secondary skill, as calculated with the following formula:
I3 = 0.05 × hero level × I2
As can be seen from the formula, the specialty bonus requires that the hero has the appropriate secondary skill, otherwise I1 will become 0, which leads to that I2 will be 0 as well. In other words, Orrin does not receive his specialty bonus if he does not have Archery secondary skill; same applies to Gundula and Crag Hack with Offense. By default these heroes start with an appropriate secondary skill, but in custom maps the map-maker may change the starting skills.
Additionally, Adela and her specialty to Bless spell is a special case of variable I2. When creature stack blessed by Adela attacks, it recieves an additional damage from her specialty, that can be calculated with the formula:
SP = 0.03 × hero level ÷ creature level
Because of the division, Adela's Bless bonus is higher to low-tier creatures. First level creatures will receive +3% bonus to damage per Adela's level, while fifth level creatures only recieve +0.6% bonus per Adela'a level.
Luck as combat modifier – variable I3
The luck variable may be either 0 or 1.00, depending on whether or not the attacking creatures gets "a lucky strike". This is determined by the combat variable luck, which may be 0 (neutral), +1 (positive), +2 (good) or +3 (excellent). These values determine how often lucky strikes occur. These probabilities are, respectively, 0/24 (0%), 1/24 (4.17%), 1/12 (8.33%) and 1/8 (12.5%). Luck may be affected by artifacts, adventure map locations, spells and the secondary skill Luck.
Creature abilities – variable I4
Creature variable C is the last variable capable of increasing the final damage. Cavaliers and Champions have special ability to recieve jousting bonus when they attack. This gives them bonus which is calculated with the formula:
C = 0.05 × squares travelled
Dread Knights may cause Death Blow attack, which gives variable C value 1.00. Similarly, if Ballista causes double damage, the value variable C receives value of 1.00. Additionally, there are a few creatures who hate each other, giving C a value of 0.50 when they attack a hated target.
Defense variables
Secondary skill factors – variables D1 and D2
Similarly to attac variables, D1 and D2 are related to secondary skill and heros who specialize in them. The difference is, that secondary skill, Armorer reduces both melee and ranged damage. Three heroes specialize in Armorer: Mephala, Neela and Tazar. Armorer may give variable D1 values 0.05, 0.10 or 0.15. Heroes with Armorer specialty recieve additional bonus, which is calculated with the formula:
D2 = 0.05 × hero level × D1
Again, the specialty bonus requires that the hero has Armorer secondary skill, otherwise the bonus will be 0. By default Mephala, Neela and Tazar start with Armorer, but in custom maps the map-maker may change the starting skills.
Ohter factors – variables D3, D4, D5, D6, D7
- Spells
- Shield
- Air Shield
- Attack penalties:
- Range or obstacle
- Melee penalty
- Petrified
- Retaliate from blindness
- Creatures
- Attacker is Psychic Elemental, defender is immune to Mind spells
- Attacker is Magic Elemental, defender is Magic Elemental or the Black Dragon
Examples
No heroes are assumed to be present in the battle.
- 2 Nagas attack a stack of Pikemen.
- The Nagas have a single unit damage value of 20 and their Attack skill is 16.
- A Pikeman has 10 health and their Defense skill is 5.
- The base stack damage done by the stack of Nagas is 2 * 20 = 40.
- The Pikemen's Defense skill (5) is subtracted from the Nagas' Attack skill (16), which gives us 11, giving the nagas an att/def damage bonus.
- The dealt damage will after the att/def consideration thusly have the bonus percentage modificator of 5%, multiplied with the damage bonus number in this case, 11, resulting in 55% bonus percentage of the Nagas damage towards the Pikemen.
- So the damage is increased by a 55% increase and the nagas through superior attack skill have 155% damage on the Pikemen stack.
- The total damage thus is 40 * 1.55 = 62 damage points.
- 6 Pikemen will be killed, and the top Pikemen of the remaining stack will have 8 health left.
When the remaining (if any) Pikemen (attack points of 4) attack the nagas (sporting 13 points of defense):
- -22.5% damage would be dealt by the Pikemen to the 5 creature level higher naga chimera stack.
- The difference between the Pikemen attack (4) and the nagas defense (13) would mean 9 malus points with a malus point resulting in 2.5 % each malus point (the half of the bonus points).
- ((2.5)*-9)% is -22.5% damage the Pikemen can damage the nagas with.