DQ3 復活した敵の経験値を入手できるようにしたい

久しぶりの質問コーナーです。お題は

DQ3で復活した敵の経験値を入手できるようにしたい

です。あまり気にしたことのない場所なのでまじめに解析したことはないのですが、戦闘中に倒したモンスターの経験値を加算する部分を見れば事足ります。

  • SR: $02B1B4 獲得経験値・ゴールド加算
02B1B4LDX $2428X=$2428
02B1B7JSL $C2CAD9SR: $02CAD9 引数:1#$2052 引数:2#$0010
02B1BFBNE #$1Aif(z==off) goto $02B1DB復活済み(=一度経験値を加算済み)?
02B1C1JSL $C2CAD9SR: $02CAD9 引数:1#$203C 引数:2#$00FF
02B1C9CMP #$0004A>=#$0004?グループ番号取得
02B1CCBCS #$0Dif(c==on) goto $02B1DB格闘場で賭けた敵orPC側なら加算処理スキップ
02B1CEJSL $C2CAD9SR: $02CAD9 引数:1#$2051 引数:2#$0001
02B1D6BNE #$03if(z==off) goto $02B1DB?
02B1D8JSR $B1DCSR: $02B1DC獲得経験値・ゴールド加算
02B1DBRTSreturn

ぱっと見て怪しいのは$02B1B7-C0で、戦闘中のキャラクター用のメモリの$22バイト目の5ビット目です(バイナリwikiでも「不明」扱いになっています)。恐らくこのフラグは「一度復活したことがある」なのでは、と思います。というわけで、一番簡単なのは$02B1BF-C0をNOPで潰してしまうことです。潰してテストをしたところ、一応期待通りの動作をしているようです。

コメント

タイトルとURLをコピーしました