Damage calculation

From Fire Emblem Heroes Wiki
(Redirected from Damage Calculation)
Jump to: navigation, search
Under construction icon-blue.svg
This article is under construction.
Please help review and edit this page.

This article may need cleanup to meet quality standards.
Please help improve this if you can. The Discussion page may contain suggestions.
Reason: "Use official terminology from What's In Store for the 2.10.0 Update (Notification)"

Notation[edit | edit source]

The ⌊⌋ and ⌈⌉ notation is used to mean the Floor and ceiling functions in these formulae. For example, ⌊2.4⌋ = 2 and ⌈2.4⌉ = 3.

The \operatorname{trunc}() notation is used to mean truncation in these formulae. This means that \operatorname{trunc}(-1.6) = -1, it is effectively dropping all numbers after the decimal point. To make the formulae more readable, this notation will only be used when floor is not sufficient to provide a visual shorthand for truncation.

The positive part of Positive and negative parts notation x^+ is used to set a number to 0 if it is negative.

Damage is calculated in these steps:[1]

  1. Base Damage
  2. Adjusted Damage
  3. Final Damage

Base Damage calculation[edit | edit source]

Simple hit[edit | edit source]

The damage calculation for a simple hit is:

(Atk − Mit)^+
Variable Description
Atk The Attack stat of the attacking unit.

Includes the might (Mt) of the equipped weapon, and any stat changes, such as buffs, debuffs, combat boosts, combat reductions, or boosts.

Mit The Mitigation stat of the defending unit.

Physical attacks are mitigated by Def, while magical attacks are mitigated by Res.

x^+ Positive part. In short, this is used in damage calculation formulas to say "if the number is negative, set it to 0, otherwise, keep it".
Note: Damage is never negative.
Example: A sword unit with an Atk of 15 attacks another red unit with a Def of 11.

Atk = 15
Mit = 11
Atk − Mit = 15 − 11
Atk − Mit = 4

Weapon-triangle advantage[edit | edit source]

Here the formula adds in weapon-triangle advantage ("Atk+20%"):

(Atk + trunc(Atk × (Adv × (Aff + 20)/20)) − Mit)^+

Variable / Notation Description
Adv The weapon triangle advantage a unit receives due to weapon-triangle advantage or disadvantage. It is currently always 0.2 if advantage, 0 if neither, −0.2 if disadvantage.
Aff Affinity from sources such as Triangle Adept and Icon Class Red Sword.png Ruby Sword and Icon Class Colorless Staff.png Trilemma+'s status effect. The default is 0, and only the highest value applies. Example values include 0, 15 (such as from Triangle Adept 2.png Triangle Adept 2), 20 (such as from Icon Class Red Sword.png Ruby Sword+), etc.
Example: A red sword unit with Atk 15 attacks a blue unit with Def 11. The red unit has a disadvantage, so Adv is negative.
(Atk + trunc(Atk × (Adv × (Aff + 20)/20)) − Mit)^+
(15 + ⌊15 × −0.2⌋ − 11
(15 - 3 - 11)^+

Important is that although weapon-triangle advantage is "Atk+20%" and Triangle Adept 3 will "boost Atk by 20%", these modifiers all affect the same component and do not act independently, thus, Atk + \operatorname{trunc}(Atk \times 0.2) + \operatorname{trunc}(Atk \times 0.2) is incorrect while Atk + \operatorname{trunc}(Atk \times 0.4) is correct.

To illustrate this point, take the example of a red unit with 54 Atk attacking a green unit with a Mitigation of 34.[2]



\mathit{Atk} + \operatorname{trunc}(\mathit{Atk} \times 0.2) + \operatorname{trunc}(\mathit{Atk} \times 0.2) - \mathit{Mit} \neq \mathit{Atk} + \operatorname{trunc}(\mathit{Atk} \times (0.2 + 0.2)) - \mathit{Mit}
54 + \operatorname{trunc}(54 \times 0.2) + \operatorname{trunc}(54 \times 0.2) - 34 \neq 54 + \operatorname{trunc}(54 \times 0.4) - 34
40 \neq 41
The correct formula is the one on the right.

Note: Triangle Adept does not stack with the gemstone weapons. Only the highest value from skills is applied.

Note: Cancel Affinity will reverse the affinity provided by skills or status effects, or cancel them depending on the level of the skill. Please read its skill description for more information. In the situation where affinity is reversed, make Aff negative.

Effectiveness[edit | edit source]

The formula including the weapon-triangle and factoring effective damage in is

(\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor + \operatorname{trunc}(\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor \times (\mathit{Adv} \times \frac{\mathit{Aff} + 20}{20})) - \mathit{Mit})^+
Variable Description
Eff The effectiveness multiplier a unit receives when using a

weapon effective against an enemy. Either 1 for normal attacks or 1.5 for effective attacks.

Note that effectiveness is first instead of weapon-triangle advantage. To illustrate this, take a look at the following example.

In this example, Merric: Wind Mage Merric: Wind Mage attacks Lance Flier and deals 57 damage.[3] Environment: The correct formula is displayed on the left while the incorrect one is on the right.
\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor + \operatorname{trunc}(\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor \times (\mathit{Adv} \times \frac{\mathit{Aff} + 20}{20})) - \mathit{Mit} \neq \big\lfloor(\mathit{Atk} + \lfloor \mathit{Atk} \times (\mathit{Adv} \times \frac{\mathit{Aff} + 20}{20})\rfloor) \times \mathit{Eff}\big\rfloor - \mathit{Mit}
\lfloor 44 \times 1.5\rfloor + \lfloor \lfloor 44 \times 1.5\rfloor \times 0.2\rfloor - 22 \neq \big\lfloor(44 + \lfloor 44 \times 0.2\rfloor) \times 1.5\big\rfloor - 22
57 \neq 56

Note that the formula cannot be simplified to \lfloor \mathit{Atk} \times \mathit{Eff}\rfloor + \lfloor \mathit{Atk} \times \mathit{Eff} \times (\mathit{Adv} \times \frac{\mathit{Aff} + 20}{20})\rfloor - \mathit{Mit}. This can be proven with the next example:

In this example, Marth: Altean Prince Marth: Altean Prince attacks Green Manakete and deals 88 damage.[4] Environment: The correct formula is displayed on the left while the incorrect one is on the right.
\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor + \operatorname{trunc}(\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor \times (\mathit{Adv} \times \frac{\mathit{Aff} + 20}{20})) - \mathit{Mit} \neq \lfloor \mathit{Atk} \times \mathit{Eff}\rfloor + \lfloor \mathit{Atk} \times \mathit{Eff} \times (\mathit{Adv} \times \frac{\mathit{Aff} + 20}{20})\rfloor - \mathit{Mit}
\lfloor 49 \times 1.5\rfloor + \lfloor \lfloor 49 \times 1.5\rfloor \times 0.3\rfloor - 6 \neq \lfloor 49 \times 1.5\rfloor + \lfloor 49 \times 1.5 \times 0.3\rfloor - 6
 88 \neq 89

Boosted Damage[edit | edit source]

If we also consider offensive skills which boost the damage of an attack by a percent of a certain stat (e.g. Icon Skill Special.png Glacies), the formula looks like this:

(\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor + \operatorname{trunc}(\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor \times (\mathit{Adv} \times \frac{\mathit{Aff} + 20}{20})) + BoostedDamage - \mathit{Mit})^+

Currently only specials use BoostedDamage in the game. Other extra damage skills use DealtDamage instead, described later. Note that BoostedDamage is added within the first set of parentheses that have positive part applied to them. This means, unlike the calculations that come afterwards, boosted damage from specials will need to "make up" negative damage.

Variable Description
Boosted Damage The damage added as a result of the Special.

Calculating Boosted Damage[edit | edit source]

This section describes how to calculate the boosted damage for various Specials. Some specials, like Icon Skill Special.png Blue Flame, tell the amount directly in the skill description.

Stat-based Specials[edit | edit source]

BoostedDamage = \lfloor \mathit{Stat} \times 0.5\rfloor

Luna[edit | edit source]
BoostedDamage = \lfloor \mathit{Mit} \times 0.5\rfloor

The formula above applies for similar skills such as Moonbow or Aether, simply replace 0.5 with the appropriate value.

Note that despite Luna stating that it treats foe’s Def/Res "as if reduced by 50% during combat", it does not actually do this, because the activation of Luna also does not change whether or not the condition "If foe's Def ≥ foe's Res+5" for Icon Skill Weapon.png Shining Bow+ or Icon Class Red Sword.png Light Brand is true or not.[5][6] In addition, the activation of Luna on a foe does not change the amount added to damage dealt for Lunar Brace.png Lunar Brace.[citation needed]

It is currently mathematically accurate to say adding 50% of foe's Def/Res to damage is identical to reducing foe's Def/Res by 50%, but only for the purpose of Base Damage calculation:

  1. \mathit{Atk} + \mathit{BoostedDamage} - \mathit{Mit} = \mathit{Atk} - (\mathit{Mit} - \lfloor \mathit{Mit} \times 0.5\rfloor)
  2. \mathit{Atk} + \lfloor \mathit{Mit} \times 0.5\rfloor - \mathit{Mit} = \mathit{Atk} - (\mathit{Mit} - \lfloor \mathit{Mit} \times 0.5\rfloor)
  3. \mathit{Atk} + \lfloor \mathit{Mit} \times 0.5\rfloor - \mathit{Mit} = \mathit{Atk} - \mathit{Mit} + \lfloor \mathit{Mit} \times 0.5\rfloor
  4. \mathit{Atk} + \lfloor \mathit{Mit} \times 0.5\rfloor - \mathit{Mit} = \mathit{Atk} + \lfloor \mathit{Mit} \times 0.5\rfloor - \mathit{Mit}
Variable Description
Mit Use the Def or Res stat, depending on the situation.
In this example, Lucina: Future Witness Lucina: Future Witness attacks Hector: General of Ostia Hector: General of Ostia while triggering Icon Skill Special.png Luna, and this results in 42 damage.[7] Environment:
  1. \mathit{BoostedDamage} = \lfloor \mathit{Mit} \times 0.5\rfloor
  2. \mathit{BoostedDamage} = \lfloor 37 \times 0.5\rfloor
  3. \mathit{BoostedDamage} = 18
  4. \mathit{Base Damage} = (\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor + \operatorname{trunc}(\lfloor \mathit{Atk} \times \mathit{Eff}\rfloor \times (\mathit{Adv} \times \frac{\mathit{Aff} + 20}{20})) + BoostedDamage - \mathit{Mit})^+
  5. \mathit{Base Damage} = (51 + \lfloor 51 \times 0.2\rfloor + 18 - 37)^+
  6. 42
Astra[edit | edit source]

Defensive terrain effects[edit | edit source]

Adjusted Damage calculation[edit | edit source]

Dealt Damage[edit | edit source]

Staff calculation[edit | edit source]

Damage-reducing skill effects[edit | edit source]

Final Damage calculation[edit | edit source]

References[edit | edit source]