DQ6戦闘部分解説11

各コマンド入力の詳細部分の続きです。今回は「とくぎ」「じゅもん」の表面部分まで。

dq戦闘画面4

  • SR:$0239D2 戦闘コマンド処理1人分_特技
0239D2JSL $C5F503SR: $05F503戦闘中特技選択画面を表示するか(c=onしない)
0239D6BCS #$15if(c==on) goto $0239ED
0239D8STZ $3AC4$3AC4=#$00
0239DBSTY $386E$386E=Y
0239DELDA #$00D7A=#$00D7
0239E1JSL $C37236SR: $037236ウィンドウ描画+ユーザー入力を得る(キャンセルc=on)
0239E5BCS #$06if(c==on) goto $0239ED
0239E7JSR $3A0ASR: $023A0A呪文特技対象選択処理
0239EABVS #$F9if(v==on) goto $0239E5
0239ECCLCc=off
0239EDRTSreturn

メインの処理自体は非常にシンプルで「習得している特技がなければメッセージを表示して終わり。習得していれば選択画面を出して対象選択処理をして終わり」というものです。ちなみに呪文も同じような構成です。

  • SR:$05F503 戦闘中特技選択画面を表示するか(c=onしない)
05F503PHPPush P Flag
05F504REP #$30m=off(A/M:16b) x=off(X/Y:16b)
05F506PHAPush A
05F507PHXPush X
05F508PHYPush Y
05F509PHBPush DB
05F50ALDX $386EX=$386E
05F50DJSL $C45BD1SR: $045BD1 引数:1#$02 引数:2#$FE 引数:3#$FF特技習得数取得
05F514CMP #$0000A==#$0000?
05F517BNE #$22if(z==off) goto $05F53B
05F519LDA #$0061A=#$0061
05F51CJSL $C37236SR: $037236ウィンドウ描画+ユーザー入力を得る(キャンセルc=on)
05F520JSL $C02A16SR: $002A16 引数:1#$01B6戦闘メッセージ表示「せんとうちゅうの とくぎを おぼえていない!」
05F526JSL $C31BD0SR: $031BD0キー入力を待つ(R,Y入力無視)
05F52ALDA $38B0A=$38B0
05F52DDECA–
05F52EJSL $C3B4F9SR: $03B4F9指定ページ以上の深さのバッファクリア
05F532PLBPull DB
05F533REP #$30m=off(A/M:16b) x=off(X/Y:16b)
05F535PLYPull Y
05F536PLXPull X
05F537PLAPull A
05F538PLPPull P Flag
05F539SECc=on
05F53ARTLreturn
05F53BSTA $3BB3$3BB3=A
05F53EPLBPull DB
05F53FREP #$30m=off(A/M:16b) x=off(X/Y:16b)
05F541PLYPull Y
05F542PLXPull X
05F543PLAPull A
05F544PLPPull P Flag
05F545CLCc=off
05F546RTLreturn

このSRについても特に解説することもなく特技習得数を取得して0でないかを調べているだけです。呪文もほぼ同じ構造です。セットしているウィンドウIDが違うだけ(呪文:#$D6、特技:#$D7)です。

  • SR:$0239EE 戦闘コマンド処理1人分_呪文
0239EEJSL $C5F547SR: $05F547
0239F2BCS #$15if(c==on) goto $023A09
0239F4STZ $3AC4$3AC4=#$00
0239F7STY $386E$386E=Y
0239FALDA #$00D6A=#$00D6
0239FDJSL $C37236SR: $037236
023A01BCS #$06if(c==on) goto $023A09
023A03JSR $3A0ASR: $023A0A呪文特技対象選択処理
023A06BVS #$F9if(v==on) goto $023A01
023A08CLCc=off
023A09RTSreturn

どちらも実行する特技・呪文を選択させた後、その対象を選択させるSR:$023A03 呪文特技対象選択処理をコールしているのですが、この中身が結構奥が深そうなのでちょっと中途半端ですが次回に回します。

コメント

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