DQ3 まんたん処理改造1

オリジナルの処理の解析内容を踏まえてどう変えるか方針を決めます。DQ3 K.Mixでは職業によって回復量が異なるので若干複雑になります。また、ベホマズンはベホマ4回分と効果は同じでベホマ4回分のほうがコストパフォーマンスが良く(40vs28)、ベホマラーはベホイミ4回分と同じで消費MPに2しか差がないため(18vs20)ここは目をつぶり、単体回復でカバー可能ということにします。そもそも1回の行動で4回分の行動に相当するベホマラー・ベホマズンは戦闘中で使ってこそ意味があるわけで、移動中なら4回単体回復を唱えても多少メッセージ表示が長くなるくらいで問題ないわけです。というわけで処理の単純化のためにもベホマラー・ベホマズンはいかなる状況でも使用しないことにしました。DQ3 K.Mixでの回復呪文の仕様は以下のとおり(消費MPはレベル40以上の賢者だったり消費MPが減る装備をしていたりすると重複で消費MPが減ったりするので基本値のみ記載)。

呪文名消費MP回復量(非専門職)
ホイミ330~39(22~29)
ベホイミ575~94(56~70)
ベホマ7999(術者の賢さ依存)
ベホマラー(参考値)1875~94(56~70)
ベホマズン(参考値)40999

単体回復しか使わないので、特定の1人に対してどの回復呪文を誰が使うかということだけ考えればいいということになります。処理の流れとして、特定の1人の1回の回復に着目した場合に、パーティ全員のホイミ・ベホイミ・ベホマに関して

  • HP差分/各PCの各回復行動の回復量最小値による充填率(回復倍率)
  • 現MP/各回復行動の消費MP(MP倍率)

を算出し、各人の一番効果の高い行動を選択します。その後、誰の行動が一番効率がいいかを選択する、とすればOKなはず。オリジナルと異なり、MP倍率も見ることになるので、特定の1人のMPを集中的に使うケースが少なくなります(複数人が回復呪文を習得している場合)。必要なメモリ領域が足りないので例によって戦闘中のメモリの7E2640-87をテンポラリで使用することにします。結構大掛かりな変更なのでバグが入りそうな予感ですが*1、これが完成すればまんたん使いの方々にも満足してもらえるのではないかと思います。

追加で使用するメモリ

7E2640-7 HP差分/ホイミ回復量(回復倍率) #$0100以下の場合は#$0100に調整 使用不能の場合は#$FFFF(2Byte*4)

7E2648-F 現在MP/ホイミ消費MP(MP倍率) 使用不能の場合は0000(2Byte*4)

7E2650-7 HP差分/ベホイミ回復量(回復倍率) #$0100以下の場合は#$0100に調整 使用不能の場合は#$FFFF(2Byte*4)

7E2658-F 現在MP/ベホイミ消費MP(MP倍率) 使用不能の場合は0000(2Byte*4)

7E2660-7 HP差分/ベホマ回復量(回復倍率) #$0100以下の場合は#$0100に調整 使用不能の場合は#$FFFF(2Byte*4)

7E2668-F 現在MP/ベホマ消費MP(MP倍率) 使用不能の場合は0000(2Byte*4)

7E2670-7 候補回復倍率 いずれの呪文も使用不能の場合は#$FFFF(2Byte*4)

7E2678-F 2670-7に応じたMP倍率 いずれの呪文も使用不能の場合は0000(2Byte*4)

7E2680-7 2670に応じた戦闘行動ID ホイミ:#$001F ベホイミ:#$0022 ベホマ:#$0025 いずれの呪文も使用不能の場合は0000(2Byte*4)

ここで言う使用不能とは「その呪文を習得していない、MPが足りない、死亡中、麻痺から回復していない、般若の面装備中」の理由によりその呪文が使用できない状態にあることを指します。方針が決まったので次回から実装に移ります。

*1:大当たりwww rc公開中に見つかったバグは正式リリース版の1.4.4では修正済みです

スポンサーリンク

コメントを書く

メールアドレスが公開されることはありません。コメントは管理者の承認後表示されます。