I noticed that the experience and gil rewards for defeating an enemy can be altered by changing its 0x42e0 and 0x42c0 values.
this page similarly suggests that tha AP value resides at offset 0x42b0.
It however turned out that changing this value has no discernible effect at all. I first thought that it might be that something else has the final say in what the AP value will be, but upon checking the value stored at Actor<word>[0x42b0] with the following simple counter script, it appears that this isn't even set to the actor's AP value as set in scene.bin at all:
0000| 02 2060 # Push self mask value
0003| 02 42B0 # Push AP reward offset value
0006| 80 # Resolve AP reward value of self and push it onto the top of the stack (as a 16-bit word)
0007| 61 03E8 # Push constant 16-bit word value (1000; corresponds to actor AP value set in scene.bin)
000A| 40 # Push true if the top values of the stack (popped) are equal, or false otherwise
000B| 70 0015 # Jump to offset if the values were not equal
000E| 93 "Equal\0"
0015| 93 "Not equal\0"
0026| 73
Memory scanning further reveals that the actual location of the AP value once loaded into RAM is always 15 bytes prior to the gil value, which is 4 bytes wide and followed immediately by the EXP value, occupying another 4 bytes. It is off course possible that the actual memory used by the process does not reflect the actor-data offsets used by the 0x80 instruction and no, altering the value at Actor<word>[0x4248] does not change the AP value either.
Is the memory offset suggested by the above wiki link incorrect or is something else at play here? Any thoughts or theories?
Edit: and what the heck, when previewing this post I notice that it automatically shows "off course" as "off course" even though it doesn't say that in the textarea I submitted? Some easter egg trolling?
Edit 2: apparently it happens in the final post as well; just to be clear "of course" is spelled with an "of" not an "off", unless you want the whole meaning changed... x)