Understanding how stats increase in Fire Emblem Engage is critical for optimizing your units, especially on Maddening difficulty. Unlike standard RPGs where stats might be fixed, Fire Emblem uses a probability-based system (or a strict internal counter in Fixed Mode) determined by "Growth Rates."
How Growth Rates Work
Every time a unit gains a level, the game checks their Total Growth Rate for each stat (HP, Strength, Magic, Dexterity, Speed, Defense, Resistance, Luck, and Build). If the percentage is met, the stat increases by 1.
Total Growth Rate = Character Base % + Class Base % + Skill Modifiers
For example, if Alear has a base Speed growth of 50% and is in a class that provides a 15% Speed growth bonus, their total Speed growth is 65%. This means they have a 65% chance to gain +1 Speed every level up.
Using this Calculator
This tool helps you theory-craft builds without needing to manually do the math for every level. Here is how to use the inputs:
Current Value: (Optional) Enter the unit's current stat if you want to predict their future stats.
Char Base %: The inherent growth rate of the character (e.g., Alear, Diamant, Ivy).
Class Base %: The bonus growth rate provided by their current class (e.g., Divine Dragon, Successeur).
Starsphere/Tiki: Check this box if the unit has the Starsphere skill equipped (from the Tiki Emblem), which adds a flat +15% to all growth rates.
Interpreting Results
Total Growth %: This is the actual percentage chance your unit will gain a stat point upon leveling up. If this number exceeds 100%, the unit is guaranteed +1, and has a chance for +2 (e.g., 120% = guaranteed +1, and 20% chance for +2).
Expected Value: This is a statistical average of what the stat will look like after gaining the specified number of levels. In "Fixed Growth" mode, this number is exactly what you will get. In "Random Growth" mode, your actual results may vary slightly due to RNG.
function calculateGrowth() {
var stats = ['hp', 'str', 'mag', 'dex', 'spd', 'def', 'res', 'lck', 'bld'];
var levelsToGain = parseFloat(document.getElementById('levels_gain').value);
var hasStarsphere = document.getElementById('starsphere_check').checked;
// Validate levels input
if (isNaN(levelsToGain) || levelsToGain < 0) {
levelsToGain = 0;
}
var modifier = hasStarsphere ? 15 : 0;
for (var i = 0; i 100, color it green
if (totalRate >= 100) {
document.getElementById(stat + '_total').style.color = "green";
} else {
document.getElementById(stat + '_total').style.color = "black";
}
}
}