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

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

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

とします。 補助呪文として2つに分けたのは、僧侶の底上げとしてマホトーン・メダパニ耐性の高い(70%カット)専用防具を追加するためです。耐性アイテムのレコードサイズ(3バイト)を拡張して個別に耐性を設定できるようにしてもそれほど手間にはならないのですが、まあこんなもんでいいでしょう。さて、まず何をするかと言うと、各補助呪文について耐性値取得SR(配列)を変更し、6ビット目を参照するSR、7ビット目を参照するSRを呼ぶようにします。(オリジナルでは何もしないSRしか参照していない)。全ての戦闘行動には属性ID(22バイト目3ビット目から5ビット)が設定されています。今回対象になる行動の属性IDはそれぞれ以下の通り。

系統属性ID変更後のSR開始アドレス
ラリホー*110DBB9
マホトーン11EA14
マヌーサ12DBB9
ルカナン13DBB9
メダパニ14EA14

したがって、順番が前後しますが、耐性設定値取得SRの配列($02BCB7-)の20バイト目から28バイト目までのSR開始アドレスを変えてやればいいことになります。

  • SR: $2DBB9 耐性設定値取得SR_SR_000A(新SR)
02DBB9JSL $C90566SR: $090566 引数:1#$00 引数:2#$0003 引数:3#$C2D160 引数:4#$0002 引数:5#$000040
02DBC8RTSreturn
  • SR: $2EA14 耐性設定値取得SR_SR_000B(新SR)
02EA14JSL $C90566SR: $090566 引数:1#$00 引数:2#$0003 引数:3#$C2D160 引数:4#$0002 引数:5#$000080
02EA23RTSreturn

これで各種補助呪文の閾値を作成する際に耐性アイテム($2D160-)*2の2バイト目6ビット目、7ビット目をそれぞれ参照するようになるので、耐性アイテムにオルテガのかぶとを追加し、耐性種類(2バイト目5ビット目)、ラリホー・マヌーサ・ルカナン系(2バイト目6ビット目)、マホトーン・メダパニ系(2バイト目7ビット目)をONにし、耐性値に128を入れればOK、ということになります。

*1:アイテム使用効果等も含む

*2:拡張パッチ使用のためアドレスが移動しています

コメント

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