Stat growth

Stat values in Fire Emblem Heroes are semi-random. They are determined by a unit's level 1 stats, rarity, and traits.

Level 1 stats
All units have predetermined stat values from level 1 to 40. Their stat values at level 40 are determined by their level 1 stats and their growth rates. Units will receive seemingly random stats as they level up (dependent on a unit's traits), but they will all end at their predetermined final stat values at level 40.

For example, Nowi: Eternal Youth has the following stats at level 1:

At level 40, her stats will be:

Regardless of how good or bad a character's level ups are, they will always converge to their base final values.

Stat totals / Rating
The stats total of a hero is the sum of all the hero's raw stats (HP + ATK + SPD + DEF + RES). This total is used mainly in Arena matchmaking to match teams with similar stat totals against each other. The rating of a hero is the sum of all the hero's base stats including stats from skills. There is an option under the Allies menu that allows heroes to be sorted by their rating, but there is currently no option for sorting heroes by their total base stats.

Rarity
Each hero has a set neutral stat line at, for example, the stat line of Virion: Elite Archer at is Increasing the rarity of a hero by 1 increases two or three of the base stats, depending on which rarities are involved.


 * Going to increases the two highest non-HP stats by one each.
 * Going to increases HP and the two remaining non-HP stats by one each.
 * Going to increases the two highest non-HP stats by one each.
 * Going to increases HP and the two remaining non-HP stats by one each.

In the case of a tie between two stats, the first one in the listed order will be chosen, Atk > Spd > Def > Res.

For our example Virion, this means his base stats over the other rarities will be as follows.

Traits
Traits are differences a unit's stats may have compared to their base values. A higher than usual stat is called an Asset; a lower than usual stat is a Flaw. They exist to recreate the variation in character growth stats present in the Fire Emblem series.

For example, three summoned Nowi: Eternal Youth units may have following stats at level 1:

The first Nowi has normalized base stats, meaning base stats with no variations. The second Nowi has one more Atk and one less Def than the neutral Nowi. This means her traits are +Atk/−Def. The last Nowi has one more HP and one less Res, or the +HP/−Res traits.

Traits affect a unit's stats at levels 1 and 40. At max level, the three units will have the following stats:

A unit can have either one Asset or one Flaw, or no Assets or Flaws at all; those units are said to have their traits normalized. A unit cannot have multiple Assets or Flaws in different stats. This produces a total of 21 different traits; all traits have equal probability of appearing on a summoned Hero. Reward units have normalized traits, but their Assets and Flaws can be changed by using s. Traits will be retained when a unit's rarity is increased.

When reading a unit's stat growth table, each stat will have three values: the flaw / normalized / asset value of that stat. For example, Nowi: Eternal Youth at level 1 has the following table:

16/17/18 are the flaw / normalized / asset stat values for her HP, respectively.

Level 40 stats
A Hero's stats at level 40 can be determined by looking at their level 1 stats, and a hidden stat called growth rate. Each hero has a growth rate value attached to each of their five stats, these growth rates are always the same for each specific Hero.

Each hero's set of growth rates can be seen on their respective Hero pages on the wiki. A table of all Heroes and their growth rates can be found at the growth rate table page.

These growth rates are distributed in a predetermined way across the hero's stats, to influence how much they will grow for each stat.

Example
In Jagen's case, the growth rates are distributed as follows.

If a hero has an Asset in a stat, that growth rate is increased by 5%, while the growth rate of their Flaw stat is decreased by 5% to balance it out. A Jagen with +HP and -Spd, for example, would have the following growth rate spread.

Growth rates
Growth rates determine by how much each stat will increase from level 1 to level 40. A growth rates increase by 5% for Assets and decrease by 5% for Flaws. The following are the steps to calculate the amount of increase for stats from level 1 to level 40, which will be called the growth value. For example, a unit with 43 HP at level 40 and 19 HP at level 1 will have a growth value of 24 (since 43 − 19 = 24).

Every Hero has their own level 1 stats and growth rates stored in the game files, equivalent to their stats. First, the game takes the starting growth rates stored in the Hero files, also known as pure growth rates, then multiplies the growth rates by a rarity factor, which changes depending on the unit's rarity. As with most calculations in the game like damage calculations, the result is truncated (all numbers after the decimal place is removed and the result is a whole number). Only growth rates in multiples of 5% are ever used for Heroes so far, but stat values for growth rates that are not multiples of 5 exist. This converts the growth rate into a master growth rate or applied growth rate, which is the growth rate that is used.

To get the growth value for playable stats, the master growth rate percentage is multiplied by 39 (and truncated, as before).

For an example, Micaiah: Summer's Dawn has an Atk growth rate of 60%. The steps to calculate her growth value for are the following:
 * $$\mathit{AppliedGrowthRate} = \operatorname{trunc}(\mathit{GrowthRate} \times \mathit{RarityFactor} )$$
 * $$\mathit{AppliedGrowthRate} = \operatorname{trunc}(60 \times 1.14 )$$
 * $$\mathit{AppliedGrowthRate} = \operatorname{trunc}(68.4)$$
 * $$\mathit{AppliedGrowthRate} = 68$$
 * $$\mathit{GrowthValue} = \operatorname{trunc}(39 \times \mathit{AppliedGrowthRate%} )$$
 * $$\mathit{GrowthValue} = \operatorname{trunc}(39 \times 68% ) = \operatorname{trunc}(39 \times 0.68 )$$
 * $$\mathit{GrowthValue} = \operatorname{trunc}(26.52)$$
 * $$\mathit{GrowthValue} = 26$$

Thus, this Micaiah will gain a total of 26 Atk from level 1 to level 40. Notice how there are 39 levels in the game to gain stats. The formula  can also be phrased as "68% of 39". It can also be said that for each level up, this Micaiah would have roughly a 68% chance of gaining Atk, though it is not actually random (see the section on level 2-39 stats for more information). In short, whereas the mainline Fire Emblem games level ups were truly random, Fire Emblem Heroes has the level 40 stats determined by what would be the average stat at level 40 (truncated).

The table below shows the values for different common growth rates and rarities.

In other words, growth values can be calculated directly as $$\mathit{GrowthValue} = \operatorname{trunc}(39 \times \operatorname{trunc}(\mathit{GrowthRate} \times (0.79 + (0.07 \times \mathit{Rarity})) ) )$$

Notice how the table is not uniform, which can lead to different stat totals at level 40, if a unit's Asset or Flaw shifts a growth rate so that the resulting growth value changes more (or less) than usual. An example of this would be Fae: Divine Dragon's HP growth rate, which is 70%, and can be shifted to 75% by a Asset, which at rarity and  increases the growth value by 3, as opposed to the standard 2.

Growth value example
Using the information about Jagen: Veteran Knight's rarity, base stats, growth rates and the table of growth values, his max stats can be determined by addition of each growth value to its respective base stat as follows. The first table on the left is Neutral, +HP/-Spd on the second right table.

Notice how the base stat difference of plus or minus 1 effectively combines with the growth value difference of (in this case) plus or minus 2, to modify the max stats by +3 HP and -3 Spd.

General level up formula
The formula described before for calculating level 40 playable unit growth values
 * $$\mathit{GrowthValue} = \operatorname{trunc}(39 \times \mathit{AppliedGrowthRate%} )$$

is actually a specific case of the general level up formula for calculating growth values between any level:
 * $$\mathit{GrowthValue} = \operatorname{trunc}((\mathit{NewLevel}-\mathit{OldLevel}) \times \mathit{AppliedGrowthRate%} )$$

However, the general level up formula is only applicable at level 40 for playable units, because playable units have a level cap of level 40. The formula is also not used for levels lower than level 40 for playable units, because the game calculates the stats at level 40, and then "randomizes" the order of stat level ups for the levels in between. This, along with Assets and Flaws, work to give the illusion of the unique stat randomness mechanic that is present in the mainline Fire Emblem series games.

This general formula is used for calculating the stats of automatically generated enemy units in modes such as Training Tower, and Tempest Trials (where levels actually exceed level 40, but are displayed as 40+ in game). OldLevel is set to 1 and NewLevel is the desired levels in these modes.

It is also used in modes like Chain Challenges that derive new stats off old stats (Squad Assault, etc.), where OldLevel would be the original level from the unit on the map that the Chain Challenge one is based off of.

Unlike playable units, since there is no need for the randomness facade for enemies, the formula is just used directly to give representative stats of the unit at the specified level.

Level 2-39 stats
Stat values at intermediate levels for playable units are derived using pseudo-random growth vectors, hardcoded strings that indicate whether a stat will increase by 1 on a given level. The growth vector for a stat is selected based on the stat's growth value, and the calculated growth vector ID, which determines which specific growth vector to use out of all the ones for a particular growth value. Growth vectors are stored in  of the game's data directory.

The formula for calculating the growth vector ID is
 * $$((3 \times \mathit{5StarLV1NeutralBaseStat}) + \mathit{StatOffset} + \mathit{AppliedGrowthRate} + \mathit{BVID}) \, \bmod \, 64$$
 * : The base stats with all skills unequipped at and level 1.
 * : A constant offset based on the stat being calculated for.
 * : A byte in the Hero's files, which will be referred to as the Base Vector ID.
 * :  is the modulo operator.

Example
Consider a Jagen: Veteran Knight's neutral HP stat. The growth value between level 40 and level 1 for that stat is 16.

Jagen: Veteran Knight's BVID is 0x02 (2 in decimal).

Now the growth vector ID is calculated:
 * $$((3 \times \mathit{5StarLV1NeutralBaseStat}) + \mathit{StatOffset} + \mathit{AppliedGrowthRate} + \mathit{BVID}) \, \bmod \, 64$$
 * $$((3 \times 20) - 35 + 42 + 2) \, \bmod \, 64$$
 * $$69 \, \bmod \, 64$$
 * $$5$$

After all calculations are done and the growth vector is retrieved from the resulting growth value and vector id, the growth vector can be applied as follows:

Any two identical heroes with the same IV and rarity will receive the same stat growths at all levels. Thus, all Jagen units with neither a HP Asset nor a HP Flaw will always have 27 HP at level 18. Because the contents of the growth vectors are seemingly random, it is possible that a hero's neutral stat is smaller than the Flaw stat or larger than the Asset stat on the same level.

There are 64 possible growth vectors for each growth value from 1 to 39, shared across all stats. The exact growth vector to use depends on the stat type, the neutral base stat value, the growth rate, the unit's rarity, plus another hidden hero parameter called base vector ID. This has several consequences:


 * The same growth vector could be used in different stats from multiple heroes.
 * Different stats of a hero never have identical growths if they have the same base values and growth rates. They may have identical growths if only the growth rates are equal; so far this applies to Chrom: Gifted Leader and Tiki: Dragon Scion.
 * Different heroes with identical stats and growth rates will have different stat growths if their base vector IDs differ, such as Robin: High Deliverer and Robin: Mystery Tactician.
 * It is possible that two different heroes have the same base vector ID, and also happen to share equal base values and growth rates for some stats. In these cases these stats will have identical values on all levels, all rarities, and all IVs. Examples are the Atk and Def stats of Leon: True of Heart and Luke: Rowdy Squire.

Patterns and other observations
There are patterns that have been observed from how Intelligent Systems decides to allocate unit stats. These patterns allow reasonable predictions to be formed about a unit's stats based on factors such as their movement type. This section will describe modifiers for units in relation to generation 1 infantry close units, such as an infantry sword unit. A list of Heroes and what modifiers they have based on this section can be seen on the growth rate patterns table.

Generations
The following sections will use the terminology generations to describe a divide between different types of Heroes.

All Heroes introduced before the New Heroes: World of Holy War summoning focus are generation 1.
 * Generation 1 Heroes:
 * Have lower total base stats than that of generation 2 Heroes.
 * Typically have exclusive weapons with lower rank effects than that of generation 2.
 * Do not have exclusive passive skills.
 * Were selected as a group to change the summoning rarities of -  Heroes to  -.

All Heroes introduced on New Heroes: Farfetched Heroes summoning focus and afterwards but before Legendary Heroes - Roy are generation 2.
 * Generation 2 Heroes:
 * Have higher total base stats than that of generation 1 Heroes.
 * Typically have exclusive weapons with higher rank or more effects than that of generation 1.

The Heroes introduced in between have stats classified as follows:
 * Ayra: Astra's Wielder: Generation 2
 * Tailtiu: Thunder Noble: Generation 1
 * Deirdre: Lady of the Forest: Generation 1
 * Arden: Strong and Tough: Generation 1
 * Henry: Happy Vampire: Generation 2
 * Jakob: Devoted Monster: Generation 2
 * Nowi: Eternal Witch: Generation 1
 * Sakura: Gentle Nekomata: Generation 1

All Heroes introduced on Legendary Heroes - Roy but before New Heroes: Brave Echoes are generation 3.

Heroes that do not fall within any particular pattern are as follows:
 * Sigurd: Holy Knight: Has 5% more growth than Generation 2 close cavalry units.

Modifiers
The table below will use the total level 1 stats and growth rates for an generation 1 infantry sword unit as the base value, with modifiers being relative to that. Modifiers in the table below are presented in the format +x, +y%. The first number is a flat change in total stats while the second number is the change in pure growth rates. Modifiers that are different than the previous generation are bolded. {| class="wikitable" style="display:inline; margin-left: 1em;" !colspan="2" rowspan="3"| !rowspan="3"|Close !colspan="2"|Ranged !Physical !Magical !rowspan="4" scope="row"|Generation 3 !Infantry !Armored !Cavalry !Flying !rowspan="4" scope="row"|Generation 4 !Infantry !Armored !Cavalry !Flying !rowspan="4" scope="row"|Generation 5 !Infantry !Armored !Cavalry !Flying * Generation 2 dancers/singers have their other stat modifiers set to Generation 1.
 * +Generation 3 - 5
 * +Generation 3 - 5
 * +2, +20%
 * ±0, +10%
 * −1, ±0%
 * +8, +20%
 * +6, +15%
 * N/A
 * −1, ±0%
 * −3, −10%
 * −4, −20%
 * ±0, +10%
 * −2, ±0%
 * −3, −10%
 * +4, +25%
 * +1, +20%
 * ±0, +10%
 * +9, +30%
 * +6, +25%
 * +5, +15%
 * ±0, +10%
 * −3, +5%
 * −4, –5%
 * +3, +15%
 * −1, +10%
 * −2, ±0%
 * +6, +30%
 * +3, +25%
 * +2, +15%
 * +10, +40%
 * N/A
 * N/A
 * ±0, +10%
 * N/A
 * -2, +5%
 * +4, +25%
 * +1, +20%
 * ±0, +10%
 * -}

To predict a Hero's level 1 total stats and growth rates, add up all factors that apply.

CYL1 Winner refers only to the Brave Heroes, Ike: Brave Mercenary and Lyn: Brave Lady, that came from first place winners of Choose Your Legends. It does not refer to second place winners or any other Choose Your Legends event after the first.

A Dancer/Singer is any unit with access to Dance or Sing (e.g. Olivia: Blushing Beauty).

A Ranged unit is any unit with a ranged weapon (e.g. Tomes, bows, daggers and staves).

Cavalry and Armored  are a unit's respective movement type, shown by their respective movement icon.

Whether a unit is a Veteran or a Trainee is not displayed in-game. The most notable difference between these the level 1 stats and the growth modifiers, is that veteran units, while starting strong, don't grow as much as trainees or young dragons, who instead start weak.

Example
Consider the example of a level 1 Jagen: Veteran Knight who is:
 * Veteran
 * Cavalry
 * Neither Ranged nor a Dancer.
 * Generation 1

Based on this, we can calculate his neutral level 1 total stats to be:

If we check Jagen's actual neutral level 1 stats, we find his level total stats matches with his Level 1 stat total:

For another example, consider a Lyn: Wind's Embrace who is:
 * Ranged
 * Armored
 * Generation 2

Based on this, we can calculate her pure growth rates to be:

If we check her actual total growth rates, they are 260%.

List of units by modifiers
The current list of veteran units includes:

The current list of trainee units includes:

Generation 1
{{#loop:i
 * 2
 * 3

Generation
}}