バイナリスレで指摘のあった「やまびこのぼうし装備時に複数対象の呪文の1発目で敵が全滅した場合に『じゅもんが やまびことなって こだまする!』のメッセージが余計に表示される」という問題を修正します。さらに追加で見つけた「やまびこ反響時にMPが引かれ、連続魔になっている」問題もあわせて修正します。やまびこのぼうしの効果については、オリジナルのDQ6と動作が異なる点(1体対象の呪文で1発目の発動で倒した場合にまだ敵が残っていても2発目が発動しない)もちょっと気になるのですが、とりあえず仕様ということで後回しにして、明らかにバグっている部分を修正します。久しぶりに戦闘部分に触ったので完全に忘れていてちょっとあせりました。
- SR: $02D8E8→$02DAB0に移動
- #$027974から3バイトを#$02DAB0に変更(上記SRの移動に伴う呼び出し部分の変更)
- SR: $02DAB0 再度行動を繰り返すか判断する(行動するc=off)
略 | |||
---|---|---|---|
02DABE | LDA $260A | A=$260A | |
02DAC1 | CMP #$0001 | A==#$0001? | やまびこのぼうしで反響する |
02DAC4 | BNE #$0C | if(z==off) goto $02DAD2 | |
02DAC6 | JSL $C2B32F | SR: $02B32F | 戦闘終了フラグ設定? |
02DACA | BCS #$06 | if(c==on) goto $02DAD2 | 戦闘終了条件を満たしている? |
02DACC | JSL $C1A867 | SR: $01A867 引数:1#$017C | 戦闘メッセージ表示「じゅもんが やまびことなって…」 |
02DAD2 | PLA | Pull A | |
02DAD3 | CLC | c=off | |
02DAD4 | RTS | return |
- SR: $027C68 MP切れ・マホトーン・呪いで行動できないか決定する
略 | |||
---|---|---|---|
027C78 | JSL $C2DAEB | SR: $02DAEB | 現MPが選択呪文の消費MPより上か |
略 | |||
027C89 | JSR $DAD5 | SR: $02DAD5 | やまびこのぼうしの反響中でなければMP消費 |
027C8C-D | NOP | ||
略 |
- SR: $02DAEB 現MPが選択呪文の消費MPより上か(該当c=on)(新SR)
02DAEB | JSL $C2DA1B | SR: $02DA1B | やまびこのぼうし反響中か(該当c=on) |
---|---|---|---|
02DAEF | BCS #$06 | if(c==on) goto $02DAF7 | |
02DAF1 | JSL $C2E71C | SR: $02E71C | 現MPが選択呪文の消費MPより上か |
02DAF5 | BRA #$01 | goto $02DAF8 | |
02DAF7 | SEC | c=on | |
02DAF8 | RTL | return |
- SR: $02DAD5 やまびこのぼうしの反響中でなければMP消費(新SR)
02DAD5 | JSL $C2DA1B | SR: $02DA1B | |
---|---|---|---|
02DAD9 | BCS #$05 | if(c==on) goto $02DAE0 | |
02DADB | JSL $C2BE8A | SR: $02BE8A 引数:1#$0E | |
02DAE0 | RTS | return |
- SR: $02DA1B やまびこのぼうしの反響中か(該当c=on)(新SR)
02DA1B | LDA $260A | A=$260A | |
---|---|---|---|
02DA1E | CMP #$0001 | A==#$0001? | |
02DA21 | BNE #$0B | if(z==off) goto $02DA2E | |
02DA23 | LDA $23D8 | A=$23D8 | |
02DA26 | CMP #$0001 | A==#$0001? | |
02DA29 | BNE #$03 | if(z==off) goto $02DA2E | |
02DA2B | SEC | c=on | |
02DA2C | BRA #$01 | goto $02DA2F | |
02DA2E | CLC | c=off | |
02DA2F | RTL | return |
改造スキルが上がっているせいか、修正は割と簡単にできました。全部の呪文の使用時のチェックをまだやっていないのでまだバグがあるかもしれません。もし見つけたら教えてください。
コメント
いつもお世話になっております。
もしかしたら別の記事で言及済かもしれませんが、
はやぶさの剣とやまびこのぼうしの装備者がどちらもいる場合
一度やまびこ対象の呪文を唱えてしまうと$260A=#$0001のままなので
その後はやぶさの剣で攻撃すると追撃時に「じゅもんが やまびことなって…」
のメッセージが表示されてしまいました。
メッセージ表示後あたりで$260Aをクリアすれば良いだけだと思うので
大した問題でもありませんが、一応ご報告しておきます。
手元では再現できませんでした。デバッガで該当のメモリを見ながら確認しましたが、やまびこ実行後にフラグがクリアされていました。お手数ですが現象発生前後のSnes9xのステートセーブをいただけないでしょうか?
早速ご確認いただきありがとうございます。
本来は特にケアしなくても自然にクリアされるのですね。。
k.mixではなく個人的に改造しているROMで発生した現象なので
自分の改造固有の問題かもしれません。
個人改造のROMのステートセーブを送られても困ると思いますので
もう少し自分のほうで見てみたいと思います。
お手数をおかけして申し訳ありませんでした。
>本来は特にケアしなくても自然にクリアされるのですね。。
DQ3 K.Mixではケアしてクリアしています。これはかなり古い実装なので現在はだいぶ変えています。