>>627
性格値:0x0123ABCD
ID値:0xDEADFACE
だとして、この2つをXORすると
0x0123ABCD ^ 0xDEADFACE = 0xDF8E5103
この0xDF8E5103が暗号化定数となる

48バイトデータは、4バイト毎に暗号化定数とXORされて暗号化されている
例えば、ジラーチ(0x0199)がヤタピの実(0x00AB)を持っていたとすると、暗号化前の値は0x00AB0199[99 01 AB 00]であるが、実際のメモリ上は
0x00AB0199 ^ 0xDF8E5103 = 0xDF25509A
という計算で0xDF25509A[9A 50 25 DF]となる

逆に、メモリ上に0xDE8D5194[94 51 8D DE]というデータがあったとすれば、
0xDE8D5194 ^ 0xDF8E5103 = 0x01030097
という計算で復号化出来、これはミュウ(0x0097)がマッハバイク(0x0103)持っているのだと分かる

ミュウ(0x0097)をジラーチ(0x0199)に変化させる場合、暗号化後の値で比較すると[94 51]→[9A 50]という変化になるので、メモリ上は[+06 −01]という操作をする
しかし、チェックサムの計算は暗号化前のデータで比較して行うので、チェックサムの調整は[97 00]→[99 01]ということで[+02 +01]と操作する
こうすることでダメタマゴ化を回避してデータを好きなように弄れる