On this page
  1. Related
  2. Games
  3. References
  4. Sources

A growth rate is the chance that a level-up raises one stat. Fire Emblem: The Sacred Stones rolls each of seven stats on the character’s own percentage at every level, and rerolls up to twice when nothing rises1. Non-player units placed with autoleveling, other than bosses and units with character numbers below 0x40, get their levels at once instead: one roll per stat on the class’s growth times their levels, moved at random by up to an eighth2.

Games

GameYearHowNote
Fire Emblem: The Sacred Stones2004A roll per statplayer units · each level rolls each of seven stats on the character's own percentage
Fire Emblem: The Sacred Stones2004Growth times levelsautoleveled enemies · one roll per stat on the class's growth times its levels, moved by up to an eighth
Every claim about this mechanic, by game (2)

References

  1. ^ abIn the North American build, a level-up rolls each of seven stats on the character's own growth rate, with one random number from 0 to 99; each full 100 of a rate is a sure point, and if no stat rises, the game rerolls the stats in order up to twice, stopping at the first that does.Codefireemblem8u
    How we know
    1227int GetStatIncrease(int growth) {
    ⋮
    1230    while (growth > 100) {
    1231        result++;
    1232        growth -= 100;
    ⋮
    1235    if (Roll1RN(growth))
    1236        result++;
    
    src/bmbattle.c lines 1227–1238 at 04d1edb · upstream ↗
    1275        growthBonus = (bu->unit.state & US_GROWTH_BOOST) ? 5: 0;
    ⋮
    1278        bu->changeHP  = GetStatIncrease(bu->unit.pCharacterData->growthHP + growthBonus);
    ⋮
    1281        bu->changePow = GetStatIncrease(bu->unit.pCharacterData->growthPow + growthBonus);
    
    src/bmbattle.c lines 1275–1281 at 04d1edb · upstream ↗
    1299        if (statGainTotal == 0) {
    1300            for (statGainTotal = 0; statGainTotal < 2; ++statGainTotal) {
    1301                bu->changeHP = GetStatIncrease(bu->unit.pCharacterData->growthHP);
    ⋮
    1303                if (bu->changeHP)
    1304                    break;
    
    src/bmbattle.c lines 1299–1304 at 04d1edb · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  2. ^ abIn the North American build, a non-player unit placed with autoleveling, unless it is a boss or its character number is below 0x40, adds to each stat one roll on its class's growth times its levels above 1, moved at random by up to an eighth of that product either way.Codefireemblem8urevised
    How we know
    617    if (uDef->autolevel) {
    618        if (UNIT_FACTION(unit) == FACTION_BLUE) {
    ⋮
    622            if ((UNIT_CATTRIBUTES(unit) & CA_BOSS) || (unit->pCharacterData->number < 0x40)) {
    ⋮
    638                UnitAutolevel(unit);
    
    src/bmunit.c lines 617–638 at 04d1edb · upstream ↗
    823void UnitAutolevel(struct Unit* unit) {
    ⋮
    827    UnitAutolevelCore(unit, unit->pClassData->number, unit->level - 1);
    
    src/bmunit.c lines 823–827 at 04d1edb · upstream ↗
    776void UnitAutolevelCore(struct Unit* unit, u8 classId, int levelCount) {
    777    if (levelCount) {
    778        unit->maxHP += GetAutoleveledStatIncrease(unit->pClassData->growthHP,  levelCount);
    779        unit->pow   += GetAutoleveledStatIncrease(unit->pClassData->growthPow, levelCount);
    
    src/bmunit.c lines 776–779 at 04d1edb · upstream ↗
    1241int GetAutoleveledStatIncrease(int growth, int levelCount) {
    1242    return GetStatIncrease((growth * levelCount) + (NextRN_N((growth * levelCount) / 4) - (growth * levelCount) / 8));
    
    src/bmbattle.c lines 1241–1242 at 04d1edb · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Revised after a check by a second AI model, 2026-10-21.

    In the claim ledger

Sources

Code