DQ3戦闘部分解説14

今回からは最重要部分の戦闘行動実行部分を見ていきます。毎回「重要」とかいって詐欺っぽいのですが、ここはRPGであるDQ3のコアといってもいい部分だと思います。この部分が理解できれば戦闘中のギミックの追加はかなり思い通りにできるでしょう。

  • SR: $027939 1キャラクター分の戦闘行動実行処理
027939JSR $79D5SR: $0279D5攻撃ターゲット決定処理
02793CJSR $7BBFSR: $027BBF戦闘行動がはやぶさのけんに依存する場合ははやぶさのけん装備をチェックし行動回数を確定
02793FSTZ $23D8$23D8=#$00
027942JSL $C1AE9FSR: $01AE9F
027946JSL $C2CDACSR: $02CDACモンスターアニメーションメイン
02794AJSR $7983SR: $027983戦闘行動開始時の効果音を鳴らす
02794DJSR $7BE8SR: $027BE8ファーストメッセージ表示のタイミングにあわせてメッセージを表示する
027950JSR $7C41SR: $027C41戦闘行動を実行可能か判定
027953BCS #$2Aif(c==on) goto $02797F
027955JSR $7D53SR: $027D53戦闘行動実行処理メイン
027958LDX $23E4X=$23E4
02795BSTX $2428$2428=X
02795EJSL $C2CB2BSR: $02CB2B 引数:1#$2050 引数:2#$0002戦闘中キャラクター情報取得
027966BEQ #$17if(z==on) goto $02797F
027968JSL $C2BE8ASR: $02BE8A 引数:1#$1C戦闘中情報取得変更
02796DBCS #$10if(c==on) goto $02797F
02796FJSR $7A9FSR: $027A9F
027972BCC #$0Bif(c==off) goto $02797F
027974INC $23D8$23D8++
027977LDA $23D8A=$23D8
02797ACMP $23D6A>=$23D6?
02797DBCC #$D6if(c==off) goto $027955
02797FJSR $8D78SR: $028D78戦闘中アイテム消費
027982RTSreturn

$7E23D8は行動済み回数で、$7E23D6には行動できる回数がセットされます。DQ3では1回の戦闘行動で2回動けるのははやぶさの剣装備時のみなので$7E23D6に2が入るのは他にはありません。

  • SR: $027BBF 戦闘行動がはやぶさのけんに依存する場合ははやぶさのけん装備をチェックし行動回数を確定
027BBFLDA #$0001A=#$0001通常の行動回数
027BC2STA $23D6$23D6=A
027BC5LDX $23EEX=$23EE
027BC8JSL $C2CC47SR: $02CC47 引数:1#$007A 引数:2#$0080戦闘行動がはやぶさのけん装備に依存するか
027BD0BEQ #$15if(z==on) goto $027BE7
027BD2LDA $23E4A=$23E4
027BD5STA $2428$2428=A
027BD8LDA #$0019A=#$0019はやぶさのけんのアイテムID
027BDBSTA $242C$242C=A
027BDEJSL $C2B87ASR: $02B87Aアイテム装備チェック
027BE2BVC #$03if(v==off) goto $027BE7
027BE4ASL $23D6$23D6<<1行動回数を2倍にする
027BE7RTSreturn

コメント

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