Runa Does an ASM

I think that just modifying mss_threepageconditional will not work.
Because the size of the structure is different.

@ r5 = StatScreenStruct. Preserve no scratch registers!
ldr  r0,[r5,#0x0C] @ r0 = character struct.
ldr  r1,[r0]       @load character pointer
ldrb r1,[r1,#0x4]  @load character number
mov  r0,#16      <<<<
mul  r1,r0
adr  r0,PersonalInfoTable  @load first like
ldr  r0,[r0]
ldrh r0,[r0,r1]

In the version of SkillSystems, it is committed with “#12”.
Therefore, strange phenomena occur when only mss_threepageconditional is modified.

SkillSystems version

@ Autohook to 0x08088690. r0 should equal the number of stat screen pages to have upon hitting the strb r0, [ r5, #0x01 ].
@ r5 = StatScreenStruct. Preserve no scratch registers!
ldr  r0,[r5,#0x0C] @ r0 = character struct.
ldr  r1,[r0]       @load character pointer
ldrb r1,[r1,#0x4]  @load character number
mov  r0,#12 <<<<
mul  r1,r0
adr  r0,PersonalInfoTable  @load first like
ldr  r0,[r0]
ldrh r0,[r0,r1]

FEBuilderGBA also uses SkillSystems, so it uses “#12”.
However, since only mss_threepageconditional was updated to the latest version, the fix of “#16” was applied.
That has caused an accident.