DQ3 モンスターの素早さ値調整

以前PC側のステータスの最大値を511まで引き上げたわけですが、モンスター側の素早さがそのままなので成長したPCは理屈では素早さ255のモンスターよりも先手を取れる確率が高くなることになります。モンスターの素早さの値は1Byteしかないため、戦闘中にモンスターの素早さを取得する部分で調整することにします。

  • SR: $02C31A モンスター情報設定SR_SR_0004(素早さをAレジスタにセットして返す)
02C31A JSR $E1D0 SR: $02E1D0 モンスター素早さ値調整
02C31D-21 NOP
02C322 RTS return
  • SR: $02DBB9 モンスター素早さ値調整(新SR)
02E1D0 JSL $C2CC92 SR: $02CC92 引数:1#$000A 引数:2#$00FF モンスター素早さ値取得
02E1D8 INC A++ 1を足す
02E1D9 ASL A<<1
02E1DA DEC A– 1を引く
02E1DB NOP
02E1DC NOP
02E1DD NOP
02E1DE RTS return

これといって難しいことはないです。

(オリジナルの素早さ値+1)×2-1

で実際に使用される素早さ値を作成しています。他に漏れはないとは思いますが、もし漏れてたら指摘してください。

仕組み自体はこれでいいのですが、バランス的には不十分かもしれません。例えば序盤ではホイミスライム(15→調整後31)、まほうつかい(13→調整後27)など、全モンスターの素早さが約2倍になるので、それを見越して各モンスターの素早さの個別の調整が必要です。これはPC側の成長バランスをどうするかとの兼ね合いになるのでPCの成長バランスのところで一緒に調整することにします。