前回はレベルアップのところで力尽きてしまったので今回は転職時、すごろく!マークでの変更を行います。
- 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 |
これまた特筆すべき点はなし。さて、次回は残りの登録所での身の守りの扱いについて登録所での性格決定ルーチンの解析もしながら作業していきます。
コメント