改造 一覧

DQ3成長限界上昇パッチの拡張3

前回の実装で新規に作成した職業別ステータス最大値構造体から力を取得するSRの定義は終わりました。次にこのSRを45氏が拡張した部分に埋め込みます。

  • SR: $04F82F 力取得
04F82FXBAExchange A(HighByte) and A(LowByte)
04F830SEP #$20m=on(A/M:8b)
04F832LDA $0011,XA=$0011+X
04F835AND #$01A&=#$01
04F837REP #$20m=off(A/M:16b)
04F839XBAExchange A(HighByte) and A(LowByte)
04F83AJSL $C5FCF0SR: $05FCF0
04F83ENOP
04F83FNOP
04F840NOP
04F841NOP
04F842RTSreturn

変更している部分は後半部分です。変更前は$04F839で作成した力の値(9ビット)が500以上かを調べて500以上だったら500を返すという処理をしていました。というわけでこの部分を変更してSR: $05FD4Bを呼ぶように変えます。これで職業別ステータス最大値構造体の力の値でクリップされるようになるはずです。というわけで早速試してみました。

20090509203120.jpg

続きを読む


DQ3 転職時に一部呪文を使用不可にする

順番が変ですがまあ気にしない。

改造人間氏のSFCドラクエ3改造版パッチでも転職による習得呪文の使用不可は実現されていましたが、転職すると覚えた呪文が一部使えなくなるようにします。呪文の習得状態は$7E3949~52*1の10バイトにそれぞれ1ビットずつ覚えている(on)/覚えていない(off)の状態が保存されています。順番は$121D00-*2の呪文基本情報の並び順と同じです。というわけで転職時にこれらのビットの一部をoffにしてやれば「特定の職業専用呪文」が実現できます。これも比較的簡単ですね。ただ、スロットがあまり空いてないのでいくらでも追加できるというわけではありません。また、やろうと思えば、DQM*3のように「覚えられる呪文の数を??個に制限」とかもできると思いますが、忘れる呪文の選択インターフェースを用意しないといけないのでいまのところ実装予定はありません。さて、転職時のステータス変更はSR: $0469C9で行っています。「各ステータスを取得してASLで1/2にしてセット」の処理が続きますが、最後に$046A25で習得可能呪文のチェック?を行っているところがあるので、この部分を別SRに置き換えて対応することにします。

続きを読む


スポンサーリンク

DQ3成長限界上昇パッチの拡張2

今回から実装を行います。実装は大きく分けて以下の3つに分けられます。

  • 職業別ステータス最大値構造体の定義とそのアクセスSR実装
  • 成長限界パッチとの連動
  • その他ステータス変更部分との調整

というわけでまずは1番目から実装していきます。構造体の場所ですが、バンク$04は結構余裕がないのでバンク$05の後ろを使うことにしました。構造体の定義は以下のようにします。

続きを読む


DQ3 シャナクの効果変更2

前回は講釈をたれただけで終わってしまったので実装に取り掛かることにします。気をつける点は「はんにゃのめんを装備している場合は混乱ステータスは解除しない」くらいです。DQバイナリ改造Wikiに各種ステータス異常のビットの情報が公開されているので、いてつく波動の実装を見ながら実装していきます。

続きを読む


スポンサーリンク

DQ3成長限界上昇パッチの拡張1

ある程度実装の目途が立ったのと、単独で公開できる変更なので順番を前倒しにしました。45氏作成のDQ3成長限界上昇パッチを拡張して以下のことができるようにします。

  • 職業別のステータス最大値を個別に設定できるようにする。
  • ステータス最大値の設定はデータ構造体にして簡単に変更できるようにする。
  • 86氏の拡張パッチにも対応する。
  • 職業別のステータス最大値の設定に加えて「システム最大値」を別途設定できるようにする。

職業別ステータス最大値を個別に設定できるようにすれば、例えば守備力に関係するステータスを戦士と魔法使いで差(戦士はMAX400,魔法使いはMAX200とか)をつけることにより、重装備と紙装甲のアクセントをよりつけやすくなるので、職業間のメリットデメリットを強調できるようになります。改造人間氏のDQ3改造版のように種・すごろくでのステータスアップを禁止して各職業の成長データをいじれば同様のことができますが、DQ3に関しては自分が余りに好き過ぎてステータスMAX厨なので*1こういう仕様にしました。さて、最大値の設定に関してはデータを1ヵ所に固めて構造体にすることでプログラムをいじらないでも最大値を変えられるようにします。また、86氏の拡張パッチで設定されている追加職業についても設定できるようにします。最後にもう1点、「システム最大値」という考えを導入することにしました。ステータス画面で表示されるステータス値は地のステータス+装飾品による上昇値分の合計値ですが、オリジナルのDQ3ではシステム上の最大値とステータスの最大値がどちらも255なので、地のステータスが255になるとこれらの装飾品は装備する意味がありません。しかし、例えばシステム上の最大値が511だった場合、例えば運のよさ255のキャラクターが幸せの靴(運のよさ+50)を装備した場合に、ステータス画面上の表示は305になります。こうすることでステータスがMAXになっても装飾品が意味をなくすことを防ぐことができます。これは1つの案でベストかどうかわからないですが、試行錯誤を簡単にできるようにするのは意味はあると思います。

*1:種集めは苦しい作業ではありませんww


1 60 61 62 63 64 65 66 67