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

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

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

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

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