DQ3 仲間呼びのパターンを増やす2

メインの部分の説明は前回で終わりなのですが、まあ一応実装までやってしまいます。今回は前回の3,4にあたる配列の拡張がメインです。「実行後追加処理を行う戦闘行動配列の拡張」は以前ぐんたいよびの実装で既に行っていたので割愛します。

  • 敵の対象決定処理SRアドレスリストの移動→$0237FCに移動、配列サイズを128に拡張
  • SR: $02695A モンスター行動選択?
02695ACMP #$004DA>=#$004D?←思考ルーチンのインデックスの最大値?これも変えないと次の行でフリーズする?
02695DBCS #$FEif(c==on) goto $02695D
02695FASLA<<1
026960TAXX=A
026961LDY $2428Y=$2428
026964JSR $37FCSR: $($0237FC+X)
026967BCC #$07if(c==off) goto $026970
026969LDA #$0040A=#$0040
02696CSTA $2430$2430=A
02696FSECc=on
026970RTSreturn

Xには戦闘行動の「思考ルーチンのインデックス×2」が入ります。$02695B-Cの値はおそらく思考ルーチンのインデックス最大値+1を設定しないといけないみたいです。この値を変えずに思考ルーチンを追加していくとフリーズします。思考ルーチンを1つ追加するごとにこの値もインクリメントしていくのが安全でしょう。

尻すぼみな印象がぬぐえませんが、他に特に説明することもないのでこれで終わります。質問があれば米欄もしくはメールでどうぞ。

スポンサーリンク

コメントを書く

メールアドレスが公開されることはありません。コメントは管理者の承認後表示されます。