DQ3 ストーリー変更(光の鎧入手3)

さて、ずいぶん間があいてしまったどこまでやったか忘れたのですが、なんだかんだであとちょっとなので一応最後までやります。実際に変更したモノが皆さんの手元にあるので今までよりはわかりやすいかもしれません。ネタバレ防止進行でいきます。

前回の実装でバラモスの間の特定座標に達すると下から骸骨が出てきて消えるところまで終わっています。次はバラモスの間を出て左に移動するとこれまた特定座標に到達すると骸骨が移動して消える、という実装を行います。

  • SR: $0A5936 バラモス城進入時初期化処理
0A5957 JSL $CCF921 SR: $0CF921 バラモス城イベント・NPC等設定処理
0A595B-D NOP
  • SR: $0CF921 バラモス城イベント・NPC等設定処理(新SR)
0CF921 JSL $C77843 SR: $077843 引数:1#$CAA01E 移動・宝箱・ドア・NPC情報設定用SRアドレス設定
0CF928 JSL $C7785F SR: $07785F 引数:1#$CDEF82 イベント設定
0CF92F RTL return
  • SR: $0AA01E バラモス城移動・宝箱・ドア・NPC情報設定用SRアドレス設定
0AA086-9 NOP
0AA089 JSL $CCFEB4 SR: $0CFEB4 バラモス城NPC設定
  • SR: $0CFEB4 バラモス城NPC設定(新SR)
0CFEB4 LDA #$007B A=#$007B
0CFEB7 JSL $C758DE SR: $0758DE
0CFEBB JSL $CDEF3A SR: $0DEF3A バラモス城(外観)追加イベント1発生条件か(該当c=on)
0CFEBF BCC #$07 if(c==off) goto $0CFEC8
0CFEC1 LDA #$059C A=#$059C
0CFEC4 JSL $C75828 SR: $075828 NPC1設定
0CFEC8 RTL return
  • SR: $0DEF3A バラモス城(外観)追加イベント1発生条件か(該当c=on)(新SR)
0DEF3A JSL $CDEF25 SR: $0DEF25 バラモス城追加イベント1発生条件か(該当c=on)
0DEF3E BCC #$13 if(c==off) goto $0DEF53
0DEF40 LDA $3638 A=$3638 バラモス城で骸骨が消えるイベント終了済み
0DEF43 AND #$0004 A&=#$0004
0DEF46 BNE #$0B if(z==off) goto $0DEF53
0DEF48 LDA $3638 A=$3638 バラモスの間で骸骨が出現済み
0DEF4B AND #$0002 A&=#$0002
0DEF4E BEQ #$03 if(z==on) goto $0DEF53
0DEF50 SEC c=on
0DEF51 BRA #$01 goto $0DEF54
0DEF53 CLC c=off
0DEF54 RTL return
  • SR: $0DEF55 バラモス城(外観)追加イベント1実処理(新SR)
0DEF55 COP goto $00FFE4
0DEF56 JSL $CCD276 SR: $0CD276
0DEF5A LDA #$08F8 A=#$08F8
0DEF5D LDX #$0918 X=#$0918
0DEF60 LDY #$0A20 Y=#$0A20
0DEF63 JSL $C753A2 SR: $0753A2 PCが指定座標(Y座標は範囲指定)に到達しているか(該当c=on)
0DEF67 BCS #$02 if(c==on) goto $0DEF6B
0DEF69 BRA #$EB goto $0DEF56
0DEF6B JSL $CDADD8 SR: $0DADD8 カウンタに1000セット
0DEF6F JSL $CDAED1 SR: $0DAED1 カウンタが2000になるまで待機
0DEF73 LDA #$0004 A=#$0004
0DEF76 TSB $3638 A or $3638
0DEF79 JSL $CDD65C SR: $0DD65C PC表示
0DEF7D JSL $CCD298 SR: $0CD298 イベント終了時処理
0DEF81 RTL return
  • SR: $0CFEC9 NPC1_MoveSR_059C(新SR)
0CFEC9 COP goto $00FFE4
0CFECA JSL $CDAEB1 SR: $0DAEB1 カウンタが1000になるまで待機
0CFECE JSL $CCD392 SR: $0CD392 キャラクターイベント中移動フラグON?
0CFED2 JSL $CCD35E SR: $0CD35E 移動速度4/3倍速セット?
0CFED6 LDX #$0027 X=#$0027
0CFED9 LDA #$0026 A=#$0026
0CFEDC JSL $C75474 SR: $075474 キャラクター移動先座標指定
0CFEE0 JSL $CCD58C SR: $0CD58C 指定座標にX軸→Y軸の順でキャラクター移動
0CFEE4 JSL $C75930 SR: $075930 キャラクター消滅
0CFEE8 JSL $CDADE6 SR: $0DADE6 カウンタに2000セット
0CFEEC RTL return

あとは再度バラモス城1F-2(バリアと玉座があるフロア)で骸骨に話しかけてメッセージを表示、フラグをONにして骸骨を消す実装をするだけなのでこれといって特筆するべき点はないので省略します。さて、次回は山場のひとつだった「5人目をパーティに追加する実装」をします。