DQ3 ストーリー変更(ラスボス2)

携帯版DQ3も発売されて結構経ったのでそろそろ偽装モードも解除できるかなあと思ったら今度はau向けにリリースされるようですね。DQ1-3はもう家庭用ゲーム機で本腰入れてリメイクするにはボリュームが足らなすぎるっていうことなんですかね。これといって追加できる新要素もないし、本家なのであまりドラスティックに変えるわけにもいかないし、まあしょうがないのでしょう。

まずは、「フラグがONになるまで竜の女王を石化させる」を実装します。竜の女王のNPCは通常の16×24のキャラクターグラフィックではなく、スプライトを使用して描画しているため、動かないようにするには1枚のスプライトを別途用意しないといけないかなーと思っていたのですが、割とさっくり実装できました。

  • SR: $0CC8BC 竜の女王の城NPC情報設定
0CC8BCJSL $CDF61CSR: $0DF61C竜の女王の城NPC設定(サブ)

  • SR: $0DF61C 竜の女王の城NPC設定(サブ)(新SR)
0DF61CLDA $3551A=$3551
0DF61FAND #$0001A&=#$0001竜の女王が死亡している?
0DF622BNE #$18if(z==off) goto $0DF63C
0DF624LDA $35B4A=$35B4
0DF627AND #$0020A&=#$0020オルテガが竜の女王の石化の呪いを解いた
0DF62ABEQ #$09if(z==on) goto $0DF635
0DF62CLDA #$0398A=#$0398
0DF62FJSL $C75828SR: $075828NPC1設定
0DF633BRA #$07goto $0DF63C
0DF635LDA #$05A4A=#$05A4
0DF638JSL $C75828SR: $075828NPC1設定
0DF63CRTLreturn

  • SR: $0DF5FB NPC1_TalkSR_05A4(新SR)
0DF5FBJSL $C737BESR: $0737BE 引数:1#$1056メッセージ表示
0DF601RTLreturn
  • SR: $0DF602 NPC1_MoveSR_05A4(新SR)
0DF602LDA #$0093A=#$0093スプライト番号
0DF605LDX #$0A10X=#$0A10X座標指定?
0DF608LDY #$0AC8Y=#$0AC8Y座標指定?
0DF60BJSL $C73C42SR: $073C42 引数:1#$03BBスプライト配置?(引数はパレットアクセスID)
0DF611LDA #$0000A=#$0000
0DF614LDX #$000AX=#$000A
0DF617JSL $C73CEDSR: $073CED
0DF61BRTLreturn

止まったまま動かない竜の女王を実装するには、基本もともとの実装SR: $0B98C4(NPC1_MoveSR_0398)を参考にすればOKです。SR: $0B98C4の先頭部分は以下のようになっています。

  • SR: $0B98C4 NPC1_MoveSR_0398
0B98C4JSL $CCDADFSR: $0CDADF
0B98C8JSL $CCD784SR: $0CD784
0B98CCLDA #$0093A=#$0093スプライト番号
0B98CFLDX #$0A10X=#$0A10X座標指定?
0B98D2LDY #$0AC8Y=#$0AC8Y座標指定?
0B98D5JSL $C73C42SR: $073C42 引数:1#$038Eスプライト配置?(引数はパレットアクセスID)
0B98DBLDA #$0000A=#$0000
0B98DELDX #$000AX=#$000A
0B98E1JSL $C73CEDSR: $073CED
0B98E5COPgoto $00FFE4
0B98E6LDA $3434A=$3434
0B98E9CMP #$03E8A>=#$03E8?カウンタが1000以上か?
0B98ECBCC #$03if(c==off) goto $0B98F1
0B98EEJMP $98F9 ($0B98F9)goto $0B98F9
0B98F1JSL $C73E69SR: $073E69次のスプライトを表示?
0B98F5COPgoto $00FFE4
0B98F6JMP $98E6 ($0B98E6)goto $0B98E6

このNPCは話し掛けるとカウンタに1000がセットされ、イベント(会話+エフェクト後消滅+卵表示など)が発生するわけですが、話し掛ける=カウンタに1000がセットされるまでは上記$0B98E6-F6の間を延々とループするわけです。この際実行されるSR: $073E69がどうやら次のスプライトを1枚表示する、と推測できます。動かないNPCにするにはこのループ部分を省けばいい、ということなのでその部分をばっさりカットすれば実装終わりです。あとは石化っぽくみせるために灰色のパレットを追加するとか、城内の他のNPCの台詞を条件に応じて変えるとかする作業があるのですが、特筆すべき点も無いので省略します。

20100403130129.jpg

コメント

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