Level Up Patterns (FE1-3)
This content was originally provided by Nitrodon.
This is a phenomenon that occurs in Dark Dragon and Sword of Light, Fire Emblem Gaiden and Mystery of the Emblem due a fallacy in the Random Number Generator (RNG) when continuous strings of Random Numbers (RNs) are created.
Although every character has a defined set of growth rates for each stat, which are the percentage chance of them gaining a point in that stat during a Level Up, in practice the stats gained during a Level Up fall into only a limited set of patterns.
During a Level Up, one RN (with a value from 0-99) is "rolled" for each stat; if the RN is lower than the growth rate for the stat, that stat will increase. In these three games specifically, the value of the next RN is simply the value of the previous RN plus a constant.
Normally, the game relies on the element of time to create variety in the value of RNs, but this is not the case during a Level Up where multiple RNs need to be generated in a very short time period. The close relationship between each RN in the RN string used in Level Ups leads to observable stat gain patterns.
Dark Dragon and Sword of Light
Next raw RN = [Previous raw RN (range: 0-255) + 55] If the value is over 256, subtract 256 from it
Next usable RN = Next raw RN * (10 / 25) rounded down <Max value 100> A RN of 100 is treated as being 99
Order of stats during Level Up: MHP DEF LCK SPD WLV SKL STR
Gaiden
Next raw RN = [Previous raw RN (range: 0-255) + 55] If the value is over 256, subtract 256 from it
Next usable RN = Next raw RN * (100 / 256) rounded down <Max value 99>
Order of stats during Level Up: MHP DEF LCK SPD SKL STR
Mystery of the Emblem
Next raw RN = [Previous raw RN (range: 0-255) + 143] If the value is over 256, subtract 256 from it
Next usable RN = Next raw RN * (100 / 256) rounded down <Max value 99>
Order of stats during Level Up: STR SKL SPD LCK DEF RES MHP WLV
Examples
Using Mystery of the Emblem as an example, say the first (raw) RN is 45. The next 7 RNs can be calculated as follows:
2nd raw RN = [45 + 143] = 188 3rd raw RN = [188 + 143] = 331 - 256 = 75 4th raw RN = [75 + 143] = 218 5th raw RN = [218 + 143] = 361 - 256 = 105 6th raw RN = [105 + 143] = 248 7th raw RN = [248 + 143] = 391 - 256 = 135 8th raw RN = [135 + 143] = 278 - 256 = 22
Multiplying the raw RNs by 100/256 gives us these usable RNs:
45 -> 17 188 -> 73 75 -> 29 218 -> 85 105 -> 41 248 -> 96 135 -> 52 22 -> 8
Comparing with Marth's growth rates during a Level Up:
GROWTH RN RISE? STR 50 17 Y SKL 40 73 SPD 50 29 Y LCK 70 85 DEF 20 41 RES 3 96 MHP 90 52 Y WLV 40 8 Y