DQ3 Lv40以上の賢者の消費MPを3/4にする

※リクエストがあったので掲載順を前倒しにします。

DQ6でも賢者は同じような特性をもっていましたが、Lv40をマスターレベルとしてLv40以上になると賢者の消費MPが3/4になるようにします。消費MPの計算は移動中/戦闘中共通なので1箇所だけ変えればOKになります。消費MPを3/4にする処理自体は「不思議なぼうし装備時の消費MP計算」の中で行われているのでそれをコピれば簡単です。

  • SR: $02B44A 消費MP計算
02B4A4JSR $D347SR: $02D347条件によるMP調整
02B4A7NOP
02B4A8NOP
02B4A9NOP

消費MPを決定するSRの中をまず書き換えます。$2B4A4から6バイトを上記のように書き換え、条件によって消費MPが変わる処理をまとめて別SRで行うことにします。

  • SR: $02D347 条件によるMP調整(新SR)
02D347JSR $D351SR: $02D351賢者がLv40以上の消費MP計算
02D34AJSR $B4C1SR: $02B4C1
02D34DJSR $B4DDSR: $02B4DD
02D350RTSreturn

MPの調整自体は不思議なぼうし装備時の消費MP計算 SR:$02B4C1や不思議なボレロ装備時の消費MP計算 SR:$02B4DDで行われているので、賢者の消費MP調整をその前で行うことにします。

  • SR: $02D351 賢者がLv40以上の消費MP計算(新SR)
02D351JSL $C46951SR: $046951 引数:1#$06 引数:2#$FE 引数:3#$FF職業ID取得
02D358CMP #$0007A==#$0007?
02D35BBNE #$1Aif(z==off) goto $02D377
02D35DJSL $C42FEBSR: $042FEB 引数:1#$06 引数:2#$FE 引数:3#$FFレベル取得
02D364CMP #$0028A>=#$0028?レベル40以上
02D367BCC #$0Eif(c==off) goto $02D377
02D369LDA $2480A=$2480
02D36CASLA<<1
02D36DCLCc=off
02D36EADC $2480A+=($2480+c)
02D371LSRA>>1
02D372LSRA>>1
02D373INCA++
02D374STA $2480$2480=A
02D377RTSreturn

職業IDを取得する SR:$046951で職業IDをAレジスタに取得し、賢者(#$0007)と同じか比較します。賢者の場合は今度はレベルを取得するSR:$042FEBでレベルをAレジスタに取得し、レベル40(#$0028)以上の場合は消費MP($7E2480)を3/4(+1)にしてセットしなおして終わりです。それ以外の場合は何もしないでSRの最後に処理を飛ばします。スタックも使わないので簡単ですね。

コメント

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