Strong Level Ups
Non-automatic strong gains
As you may recall from my discussion about character level ups, a character still has a chance to gain a strong HP/MP gain, or a point in a given attribute, even if they don’t receive that automatically at any given level. The chance of an increase is 1 over a number governed by this half-word (16 byte statement):
0×06a1e6: 2107 — mov r1, 0×7Denotes a 1 in 8 chance. Trust me.
You could edit the 2107 to be 2103, and you would give players a 1 in 4 chance for a strong gain.
Classes that cannot gain MP
Warriors, Thieves, Monks, and Masters do not gain Magic Points in unmodded Final Fantasy. Even Warriors and Thieves who have reached level 15 are restricted from MP gains based on their class. This is driven by these four half-words:
0×06a264: 2f02 — cmp r7, 0×2Compares the data in register #7 (character class) with the number 2.
0×06a266: d901 — bls 0×0806a26cIf less than or equal (includes Warrior, Thief, Monk) then skip MP gain
0×06a268: 2f08 — cmp r7, 0×8Compares the data in register #7 (character class) with the number 8.
0×06a26a: d101 — bne 0×0806a270If not equal (precludes the Master) then gain MP
I apologize that I, again, do not have the actual hexidecimal code for most of the HP and MP algorithms handy.
0×06a236 and 0×06a238: Load Stamina into register #0.
0×06a23a: Divide this value by 4.
0×06a23c: Add 1 to this.
So, with every level up, characters receive a number of HP equal to 1 plus 1/4 of their Stamina. Additionally, if it is determined that this is a strong gain, then this statement comes into play:
0×06a252: 3614 — add r6, 0×14Add a 20 point bonus to the HP gain.
Strong MP bonus
0×06a272 and 0×06a274: Load Intellect into register #0.
0×06a276: Divide this value by 4.
0×06a278: Add 1 to this.
So, with every level up, characters receive a number of MP equal to 1 plus 1/4 of their Intellect. Additionally, if it is determined that this is a strong gain, then this statement comes into play:
0×06a28c: 3614 — add r6, 0×14Add a 20 point bonus to the MP gain.