DQ3 きせきのつるぎ実装一部修正+回復量ランダム化

DQ6のDSリメイクがとんでもないことになっているようですね。流石に今回の変更は明らかな改悪としか言いようがないだろ、常識的に考えて…。とかいって自分もスライムナイトとキラーマシン2くらいしか使ってなかったわけですが(腐った死体最強伝説を知ったのはつい最近)。初の移植なわけだから特技と呪文のバランスを直してベタ移植すれば合格点だと思うんですけどね。あとはムドー戦後に急に存在感がなくなる仲間との絡みとか。固定キャラと仲間モンスターとのうまい融合がDQ6の醍醐味だと思うんですがね。まあいいやどうせ買わないしやらないし。

さて、先日コメ欄で指摘のあった奇跡の剣がらみの修正と、回復量を1/4の確率で1/2にする変更を行います。手元で確認したんですが、指摘の現象(攻撃による回復時に攻撃対象が回復したようなメッセージが表示される)は再現しませんでした。テストをしたはずなのに…とちょっと落ち込んで恥ずかしくなったのはここだけの秘密です。とはいえ、行動主体と行動対象を入れ替えたり元に戻したりと余計なバグの入る余地がある実装だったので新たに戦闘メッセージを追加して代わりに「〇〇(行動主体)の キズが 回復した」を表示するようにします。

  • SR: $02D385 奇跡の剣装備時の回復処理
02D385LDA $23F2A=$23F2
02D388BNE #$4Bif(z==off) goto $02D3D5
02D38ALDX $23EEX=$23EE
02D38DJSL $C2CC25SR: $02CC25 引数:1#$0079 引数:2#$0008
02D395BEQ #$3Eif(z==on) goto $02D3D5
02D397LDX $23E4X=$23E4
02D39ASTX $2428$2428=X
02D39DJSL $C2CB2BSR: $02CB2B 引数:1#$2050 引数:2#$0002
02D3A5BEQ #$2Eif(z==on) goto $02D3D5
02D3A7LDA #$00E5A=#$00E5
02D3AASTA $242C$242C=A
02D3ADJSL $C2B87ASR: $02B87Aアイテム装備チェック
02D3B1BVC #$22if(v==off) goto $02D3D5
02D3B3LDA $23FAA=$23FA
02D3B6BEQ #$1Dif(z==on) goto $02D3D5
02D3B8JSR $DF92SR: $02DF92奇跡の剣回復量決定
02D3BBJSL $C2BE8ASR: $02BE8A 引数:1#$04
02D3C0JSL $C2BE8ASR: $02BE8A 引数:1#$00
02D3C5JSL $C1E32ESR: $01E32E 引数:1#$00C4
02D3CBJSL $C2B977SR: $02B977
02D3CFJSL $C1A867SR: $01A867 引数:1#$01AA戦闘メッセージを表示
02D3D5RTSreturn

  • SR: $02DF92 奇跡の剣回復量決定(新SR)
02DF92PHAPush A
02DF93JSL $C012D1SR: $0012D1乱数発生 $00-FF
02DF97AND #$0003A&=#$0003
02DF9ABEQ #$07if(z==on) goto $02DFA3
02DF9CPLAPull A
02DF9DLSRA>>1
02DF9ELSRA>>1
02DF9FINCA++
02DFA0STA $00DP($00)=A
02DFA2RTSreturn
02DFA3PLAPull A
02DFA4BRA #$F8goto $02DF9E

以前存在した「行動主体を行動対象にセットしてメッセージ表示し、その後行動対象に元の値をセットする」というコードが無くなっている分処理がすっきりしました。この代償として新規に追加したメッセージ分だけ使用バイト数が増えるわけですが、実装のシンプルさを考えるとこっちのほうがいいですね。回復量決定については特に難しいことはありません。

コメント

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