DQ3 「みのまもり」を導入する5

前回はレベルアップのところで力尽きてしまったので今回は転職時、すごろく!マークでの変更を行います。

  • SR: $0469C9 転職時ステータス変更
0469F6 JSL $05FCD8 SR: $05FCD8 転職時身の守り変更
  • SR: $05FCD8 転職時身の守り変更(新SR)
05FCD8 LDA $001D,X A=$7E001D+X
05FCDB XBA Exchange A(HighByte) and A(LowByte)
05FCDC SEP #$20 m=on(A/M:8b)
05FCDE LDA $001E,X A=$7E001E+X
05FCE1 AND #$01 A&=#$01
05FCE3 REP #$20 m=off(A/M:16b)
05FCE5 XBA Exchange A(HighByte) and A(LowByte)
05FCE6 JSL $05FDA6 SR: $05FDA6 身の守りをシステム最大値でクリップする
05FCEA LSR A>>1
05FCEB JSL $041F3B SR: $041F3B 身の守り変更
05FCEF RTL return

特にこれといったことも無し。次はすごろく場ですが、結局最大HPは除外し、身の守りを出目の3に割り込ませ、体力、賢さ、運の良さをそれぞれ1ずつ後ろにシフトします。ステータス変更時の出目の値と対応するステータスは以下のとおり。

出目 ステータス
1
2 素早さ
3 身の守り(体力から変更)
4 体力(賢さから変更)
5 賢さ(運の良さから変更)
6 運の良さ(最大HPから変更)

  • SR: $05868B すごろく強さ変化処理(さいころ/種類確定)
058773 JSL $0737BE SR: $0737BE 引数:1#$10E9 メッセージ表示「…のみのまもりが」
058788 JSL $07CC2B SR: $07CC2B すごろく身の守りアップ処理
058795 JSL $07CC61 SR: $07CC61 すごろく身の守りダウン処理
0587AF CMP #$0004 A==#$0004? 出目4なら体力変更処理にジャンプ
0587B7 CMP #$0005 A==#$0005? 出目5なら賢さ変更処理にジャンプ
0587BF CMP #$0006 A==#$0006? 出目6なら運のよさ変更処理にジャンプ
0587C7 CMP #$0003 A==#$0003? 出目3なら身の守り変更処理にジャンプ
  • SR: $07CC2B すごろく身の守りアップ処理(新SR)
07CC2B STZ $C175 $7EC175=#$00
07CC2E JSR $8DB8 SR: $078DB8
07CC31 LDX #$0000 X=#$0000
07CC34 LDA $C0FF,X A=$7EC0FF+X
07CC37 BEQ #$20 if(z==on) goto $07CC59
07CC39 JSL $041EF3 SR: $041EF3 引数:1#$06 引数:2#$FF 引数:3#$1A 身の守り取得
07CC40 JSL $041F6B SR: $041F6B 引数:1#$06 引数:2#$FF 引数:3#$18 すごろく場・種使用時の身の守りステータスアップ処理
07CC47 PHA Push A
07CC48 JSL $041EF3 SR: $041EF3 引数:1#$06 引数:2#$FF 引数:3#$FF 身の守り取得
07CC4F SEC c=on
07CC50 SBC $1A A-=$00001A
07CC52 STA $C175 $7EC175=A
07CC55 PLA Pull A
07CC56 JSR $8D83 SR: $078D83 行動主体の情報セット?
07CC59 INX X++
07CC5A INX X++
07CC5B CPX #$0008 X>=#$0008 ?
07CC5E BCC #$D4 if(c==off) goto $07CC34
07CC60 RTL return
  • SR: $07CC61 すごろく身の守りダウン処理(新SR)
07CC61 STZ $C177 $7EC177=#$00
07CC64 JSR $8DB8 SR: $078DB8
07CC67 LDX #$0000 X=#$0000
07CC6A LDA $C0FF,X A=$7EC0FF+X
07CC6D BEQ #$24 if(z==on) goto $07CC93
07CC6F JSL $041EF3 SR: $041EF3 引数:1#$06 引数:2#$FF 引数:3#$1A 身の守り取得
07CC76 JSL $041FCA SR: $041FCA 引数:1#$06 引数:2#$FF 引数:3#$18 すごろく場の身の守りステータスダウン処理
07CC7D PHA Push A
07CC7E JSL $041EF3 SR: $041EF3 引数:1#$06 引数:2#$FF 引数:3#$FF 身の守り取得
07CC85 PHA Push A
07CC86 LDA $1A A=$00001A
07CC88 SEC c=on
07CC89 SBC $01,S A-=Stack($01)
07CC8B STA $C177 $7EC177=A
07CC8E PLA Pull A
07CC8F PLA Pull A
07CC90 JSR $8D83 SR: $078D83 行動主体の情報セット?
07CC93 INX X++
07CC94 INX X++
07CC95 CPX #$0008 X>=#$0008 ?
07CC98 BCC #$D0 if(c==off) goto $07CC6A
07CC9A RTL return

20110312030251.jpg

これまた特筆すべき点はなし。さて、次回は残りの登録所での身の守りの扱いについて登録所での性格決定ルーチンの解析もしながら作業していきます。

コメント

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