DQ3 レベルに応じて経験値の配分を変える1

やろうかどうか迷っていたのですが、技術的に問題なさそう、ということに気がついたので実装することにしました。そもそもの出発点は「転職したキャラを育てているとその間に他のキャラも育ちすぎてしまう」「ボス戦前に転職すると戦力になるまでキャラを育てるのがしんどい」等の問題があり、何とかできないかなーと思ったのが始まりです。DQ3でパーティ内の1キャラクターを集中的に育てる一番簡単な方法は、「はぐれメタルを1,2匹狩ってから他のキャラクターが自殺」ということに最近気がついたわけですが、自殺はひどいわなあ、ということで、擬似的に似たような状況を作り出すことでほぼ同じ効率になるようにします。具体的には以下の式に従って経験値を配分するようにします。

  1. パーティ内最大レベル+1を最大値(A)とし、Aから各自のレベルを引いた値(B)を求める(死人は除外)
  2. Bが下記の条件を満たしていれば傾斜配分を実行する
    • ROM内の傾斜配分フラグがONである場合
    • 経験値配分対象(生存人数)が2人以上である場合
    • Bの最大値がAの10%+2 or 6以上である場合
  3. 配分の式はBの合計を分母とし、各自のBの値を分子とした割合で配分する

ややこしいように見えますが、要は「レベルの低いキャラクターに優先的に配分する」ということです。逆DQ9と言ってもいいかもしれません。具体的な例をあげると、

例:レベル50,45,40,1で全員生存の場合

レベル最大値+1(A):51

各対象者のレベルを引いた値(B):1,6,11,50

配分対象者のレベル最大値+1から各対象者のレベルを引いた値の最大値(C):50

配分対象者のレベル最大値+1の10%+2(D):7(51*0.1+2)

C>Dなので傾斜配分が発生する。

経験値1000の配分計算:

レベル50: 14= 1*1000/68(=1+6+11+50)

レベル45: 88= 6*1000/68

レベル40:161=11*1000/68

レベル1: 735=50*1000/68

となり、レベル1のキャラクターは通常得られる経験値の250よりはるかに大きい経験値を得ることができます。少しのレベル差で傾斜配分が起きてしまうことを防ぐため、レベル差が6以上にならないと発生しないようにしてあります。ただ、この仕組だと、レベルを配分率のベースとして使用しているため、レベルアップの遅い賢者が受ける恩恵が多くなってしまいます。これをごまかすために、装備すると上記計算の際にレベルがいくつであってもレベル1として判定される装飾品「独り占めベルト」(呪い有り)を用意し、高レベルになっても経験値の配分を操作できるようにします。呪い有りとしたのは簡単に付け替えできないようにするためです(転職すると消さずに外すことはできますが、DQ3において転職はかなりコストが高いので許容します)。当たり前ですが、全員が装備していた場合は全員レベル1として判定されるため、意味がなくなります。今のところ、クリア前には2個(バラモス以前で1個、アレフガルドのどっかで1個)、クリア後はモンスタードロップor第5すごろく場で取り放題、というようにするつもりです。この機能の是非が判断付きかねるので、ROM上にフラグを用意し、OFFになっている場合は傾斜配分が発生しないようにします。

コメント

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