ちょっと間があいてしまいました。ようやく幽霊船編の変更が一通り終わったので余裕ができました。演出的にはまだ不満はありますが。さて、前回は中途半端なところで止まっていたので、今回は一気にイベントを実装してしまいたいと思います。
- SR: $0BF059 ロマリア追加処理(新SR)
| 0BF059 |
LDA $3619 |
A=$3619 |
|
| 0BF05C |
AND #$0002 |
A&=#$0002 |
|
| 0BF05F |
BNE #$1F |
if(z==off) goto $0BF080 |
|
| 0BF061 |
LDA $35B0 |
A=$35B0 |
|
| 0BF064 |
AND #$0020 |
A&=#$0020 |
|
| 0BF067 |
BNE #$17 |
if(z==off) goto $0BF080 |
|
| 0BF069 |
LDA $35B0 |
A=$35B0 |
|
| 0BF06C |
AND #$0010 |
A&=#$0010 |
|
| 0BF06F |
BEQ #$12 |
if(z==on) goto $0BF083 |
|
| 0BF071 |
BRK $0FE8 ($0B0FE8) |
goto $00FFE6(メッセージ表示) #$0FE8 |
|
| 0BF074 |
JSL $CDACD2 |
SR: $0DACD2 |
|
| 0BF078 |
LDA #$0020 |
A=#$0020 |
|
| 0BF07B |
TSB $35B0 |
A or $35B0 |
|
| 0BF07E |
SEC |
c=on |
|
| 0BF07F |
RTS |
return |
|
| 0BF080 |
JMP $F0A5 ($0BF0A5) |
goto $0BF0A5 |
|
| 0BF083 |
LDA $35B0 |
A=$35B0 |
|
| 0BF086 |
AND #$0008 |
A&=#$0008 |
|
| 0BF089 |
BNE #$1A |
if(z==off) goto $0BF0A5 |
|
| 0BF08B |
JSL $CDADD8 |
SR: $0DADD8 |
|
| 0BF08F |
LDA $35B0 |
A=$35B0 |
|
| 0BF092 |
AND #$0004 |
A&=#$0004 |
|
| 0BF095 |
BEQ #$0E |
if(z==on) goto $0BF0A5 |
|
| 0BF097 |
LDA #$0008 |
A=#$0008 |
|
| 0BF09A |
TSB $35B0 |
A or $35B0 |
|
| 0BF09D |
LDA #$0002 |
A=#$0002 |
|
| 0BF0A0 |
TSB $3619 |
A or $3619 |
|
| 0BF0A3 |
SEC |
c=on |
|
| 0BF0A4 |
RTS |
return |
|
| 0BF0A5 |
LDA $354F |
A=$354F |
|
| 0BF0A8 |
AND #$0004 |
A&=#$0004 |
|
| 0BF0AB |
CLC |
c=off |
|
| 0BF0AC |
RTS |
return |
|
- SR: $0CF280 NPC1_MoveSR_0572(新SR) イベント時の王様のNPC
| 0CF280 |
JSL $CCDADF |
SR: $0CDADF |
|
| 0CF284 |
COP |
goto $00FFE4 |
|
| 0CF285 |
JSL $CDAEB1 |
SR: $0DAEB1 |
カウンタが1000になるまで待機 |
| 0CF289 |
JSL $CCD847 |
SR: $0CD847 |
キャラクターを下に向かせる |
| 0CF28D |
RTL |
return |
|
- SR: $0CF300 NPC1_MoveSR_056E(新SR) イベント時のPC1人目のNPC
| 0CF300 |
COP |
goto $00FFE4 |
|
| 0CF301 |
JSL $CCD392 |
SR: $0CD392 |
|
| 0CF305 |
JSL $CDAEB1 |
SR: $0DAEB1 |
カウンタが1000になるまで待機 |
| 0CF309 |
JSL $CCD46A |
SR: $0CD46A |
PC1人目を行動対象にする? |
| 0CF30D |
JSL $CDADBB |
SR: $0DADBB |
|
| 0CF311 |
LDA $3434 |
A=$3434 |
|
| 0CF314 |
CMP #$0578 |
A>=#$0578? |
|
| 0CF317 |
BCC #$03 |
if(c==off) goto $0CF31C |
|
| 0CF319 |
JMP $F320 ($0CF320) |
goto $0CF320 |
|
| 0CF31C |
COP |
goto $00FFE4 |
|
| 0CF31D |
JMP $F311 ($0CF311) |
goto $0CF311 |
|
| 0CF320 |
JSL $CDE09B |
SR: $0DE09B |
視点移動をキャラクターの移動にあわせる? |
| 0CF324 |
LDX #$0035 |
X=#$0035 |
|
| 0CF327 |
LDA #$0027 |
A=#$0027 |
|
| 0CF32A |
JSL $C75474 |
SR: $075474 |
キャラクター移動先座標を指定 |
| 0CF32E |
JSL $CCD59D |
SR: $0CD59D |
指定座標にY軸→X軸の順でキャラクター移動 |
| 0CF332 |
JSL $CCD837 |
SR: $0CD837 |
キャラクターを上に向かせる |
| 0CF336 |
LDX #$09A8 |
X=#$09A8 |
|
| 0CF339 |
STX $C5E5 |
$C5E5=X |
|
| 0CF33C |
LDA #$0928 |
A=#$0928 |
|
| 0CF33F |
STA $C625 |
$C625=A |
|
| 0CF342 |
LDX #$0024 |
X=#$0024 |
|
| 0CF345 |
STX $C725 |
$C725=X |
|
| 0CF348 |
LDA #$0011 |
A=#$0011 |
|
| 0CF34B |
STA $C765 |
$C765=A |
|
| 0CF34E |
STZ $CFA5 |
$CFA5=#$00 |
|
| 0CF351 |
JSL $CDADE6 |
SR: $0DADE6 |
|
| 0CF355 |
JSL $CDAF41 |
SR: $0DAF41 |
|
| 0CF359 |
JSL $C75930 |
SR: $075930 |
キャラクター消滅 |
| 0CF35D |
JSL $CDAE1E |
SR: $0DAE1E |
|
| 0CF361 |
RTL |
return |
|
- SR: $0CF385 NPC1_MoveSR_056E(新SR) イベント時のPC2人目のNPC
| 0CF385 |
COP |
goto $00FFE4 |
|
| 0CF386 |
JSL $CDAEB1 |
SR: $0DAEB1 |
カウンタが1000になるまで待機 |
| 0CF38A |
JSL $CCD4AA |
SR: $0CD4AA |
PC2人目を行動対象にする? |
| 0CF38E |
JSL $CDADBB |
SR: $0DADBB |
|
| 0CF392 |
JSL $CCD392 |
SR: $0CD392 |
|
| 0CF396 |
LDX #$0035 |
X=#$0035 |
|
| 0CF399 |
LDA #$0029 |
A=#$0029 |
|
| 0CF39C |
JSL $C75474 |
SR: $075474 |
キャラクター移動先座標を指定 |
| 0CF3A0 |
JSL $CCD59D |
SR: $0CD59D |
指定座標にY軸→X軸の順でキャラクター移動 |
| 0CF3A4 |
JSL $CCD837 |
SR: $0CD837 |
キャラクターを上に向かせる |
| 略 |
|
|
|
| 0CF3C3 |
JSL $CDAF41 |
SR: $0DAF41 |
|
| 0CF3C7 |
JSL $C75930 |
SR: $075930 |
キャラクター消滅 |
| 0CF3CB |
RTL |
return |
|
- SR: $0CF400 NPC1_MoveSR_056F(新SR) イベント時のPC3人目のNPC(省略)
- SR: $0CF480 NPC1_MoveSR_0570(新SR) イベント時のPC4人目のNPC(省略)
まだイベントのさわりなのですが、この時点でかなりの分量なのでまたここで一旦切ります。3人目、4人目は移動先の座標が違うだけなので省略しました。この時点でやっていることは2点
- 話し掛けたタイミングで王様を下に向かせる
- 話し掛けたタイミングでパーティを王様の前に整列させる
です。パーティの整列はすごろく場で先頭のキャラクターがすごろくを開始した後の残りのパーティーの処理を参考にしました。
イベント開始前
|
イベント開始時
|
コメント