DQ3 ひとさらいのアジトイベント解析

今回も改造無しで解析のみ行います。

前回の解析でキャラクターの動かし方は大体わかりましたが、「はじめはいなかったキャラクターが後からマップに登場する」やり方がまだわかりません。そういう条件に該当するイベントがないか調べてみると、「ひとさらいのアジトB2F」のイベントが思い当たりました。このイベントは、最初はマップにはいなかったカンダタ(2回目)と子分二人がグプタとタニアを牢から出した後マップに現れます。というわけでこの部分を真似ればよさそうです。

  • SR: $0CCDE9 ひとさらいのアジトB2FNPC情報設定
0CCE37LDA #$04FCA=#$04FCグラフィック=カンダタ
0CCE3AJSL $C75828SR: $075828NPC1設定
0CCE3ELDA #$04FDA=#$04FDグラフィック=子分
0CCE41JSL $C75828SR: $075828NPC1設定
0CCE45LDA #$04FEA=#$04FEグラフィック=子分
0CCE48JSL $C75828SR: $075828NPC1設定
0CCE4CRTLreturn

この3人の初期座標をNPC1($1A08DA-)で見てみると、#$FFになっています。さらにキャラクターグラフィックも合致しています。どうやら、最初は画面隅(右下)に配置しておいて必要になったら所定の位置に出現させるということのようです。早速これらのキャラクターのMoveSRを見てみます。

  • SR: $0D486F NPC1_MoveSR_04FC
0D4877COPgoto $00FFE4
0D4878LDA $3555A=$3555
0D487BAND #$0010A&=#$0010
0D487EBEQ #$03if(z==on) goto $0D4883
0D4880JMP $4887 ($0D4887)goto $0D4887
0D4883COPgoto $00FFE4
0D4884JMP $4878 ($0D4878)goto $0D4878
0D4887JSL $CDAFA1SR: $0DAFA1カウンタが15000になるまで待機
0D488BLDA #$002DA=#$002D
0D488ELDX #$004BX=#$004B
0D4891JSL $C75305SR: $075305出現座標を指定
0D4895JSL $CCD847SR: $0CD847下を向く

というわけでSR: $075305でAレジスタをX座標、XレジスタをY座標とした位置に出現する座標を指定し、SR: $0CD847で下を向いた状態で出現させる、という仕組みになっているようです。とりあえずこれでいろいろネタが揃ったので次回から実装に移ります。

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