耐性変更 一覧

DQ3 攻撃呪文系の耐性を動的に変更

遊び人の追加職業特性とも絡むのですが、「モンスター側の攻撃呪文系の耐性(弱点化)を固定情報ではなく戦闘中に動的に変更する」を実装します。属性ごとに1ビットずつ弱点化、無効化の情報を持ち、4属性(炎系・ヒャド系・バギ系・デイン系)分1バイトで管理するようにします(この機能の実装後にイオ系の耐性の固定情報を炎系呪文から分離させましたが、この部分に関しては面倒なので分けることはしないで共通とします)。7E2640から24バイトに戦闘に参加しているキャラクターのインデックスに対応するデータを保持するようにし、モンスター側の耐性情報を取得する際にはまずこの部分を参照し、何も設定されていなければ固定情報から取得したデータを使用する、というようにします。

続きを読む


DQ3 まねまね習得レベルの変更と必中攻撃の変更

遊び人に追加したまねまねの習得レベルはもともとはLv30だったのですが、これにはわけがあって、甘い息、焼け付く息、毒の息をやり返した場合に必中になってしまうのためです。これらの効果が大きい序盤で習得してしまうとバランスが崩れてしまうため、仕方なくレベルを高めにしていました。DQ3にまねまねを導入してもダメージブレス系の攻撃は大抵もとのモンスターは耐性を持っているのでやり返しても効果がなく、逆に状態異常系のブレスは必中というアンバランスな状態になっていたのですが、モンスターに対する状態異常系の戦闘行動に確率判定を導入して必中でなくすると同時にまねまねの習得レベルを下げて序盤から使えるようにします。残念ながら各モンスターに耐性設定をするのはモンスターデータに余裕がないため、確率は全モンスター統一とします。今回はプログラム変更の必要はありません。甘い息、焼け付く息、毒の息の属性IDを21,22,23に変更するだけです。

続きを読む


スポンサーリンク

DQ3 オルテガのかぶとに補助呪文系の耐性設定

SFC版では名ばかりの「オルテガのかぶとの補助呪文耐性」を実装します。やってみたら意外と簡単でした。方針としては、

  • 耐性アイテムの残り2ビットを使い、6ビット目をラリホー・マヌーサ・ルカナン系、7ビット目をマホトーン・メダパニ系の耐性用とする。
  • オルテガのかぶとの耐性値は半減(128)とする

とします。 続きを読む


DQ3 アイテム耐性をダメージ系と確率系を同居させる

DQ3のアイテムに付与できる耐性は「ダメージ呪文+ブレス系」と「ザキ・メガンテの確率系」のどちらか一方しか設定できません。以前バイナリ神スレで「1つのアイテムに両方の耐性を持たせられないか」という話題が上がったことがあったのですが、あまり興味の無かった自分は完全スルーしていました。最近耐性計算の仕組みがいろいろとわかってきて、実はそれほど大変ではないということがわかったので説明します。

アイテムに付与されている耐性がダメージ系か確率系かは耐性アイテム($02D160-)*1の2バイト目5ビット目の1ビットで切り替えています。このビットがOFFの場合はダメージ系の耐性が有効になり、ONの場合は確率系の耐性が有効になる、というのがオリジナルの仕様です。このビットがチェックされるのは以下の部分です。

続きを読む


スポンサーリンク

DQ3 盾の耐性を定数ダメージカットに変更+耐性についてのお勉強他

今回の変更は個人的趣味というか別にやってもやらなくてもどうでもいいのですが、まあ勉強も兼ねてということでお付き合いください。

PC側の耐性によるダメージ減処理はSR:$02BBD5、そしてその内部でコールしているSR:$02BBF4で行っています。他の改造パッチでも実現されていますが、実は武器にも耐性を設定することが可能です。最初このSRを見たとき、「効果が重複する場合には効果が現れないのでは?」と思っていたのですが、大間違いでした。耐性によるダメージ減処理を開始する直前に元となるダメージ値が$7E2474-5にセットされ、武器→鎧→盾→兜→装飾品の順で装備品の耐性値を見て、耐性が存在する場合はこの$7E2474-5の値に対して減算処理を繰り返すため、効果が重複する場合はちゃんと重複して発生することになります。

続きを読む