FF2のHP/MPを最大にしたい(FC)
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

FF2のHP/MPを最大にしたい(FC)

2019-03-02 23:09

    10年ほど前に「FF2の4人(フリオニール、マリア、ガイ、レオンハルト)のステータスを最大にしたい」と思ったが、HPとMPを65535にするのがすごく面倒なためにやらなかった。まずは以下の条件の下で必要な戦闘回数を算出する。

    • たいりょく/まりょくは途中で下がらない(実際には、たいりょくは下がりうるが、ひとまず考えない)
    • HPとたいりょく(MPとまりょく)は同時に上がる(うまくやると片方だけ上げられるらしいが、確認できていない)
    • HPが上昇してからたいりょくは上がる(MPとまりょくについても同じ)
    初期HP初期MP初期たいりょく初期まりょく
    フリオニール305105
    マリア20555
    ガイ405155
    レオンハルト109854632

    これらの初期ステータスより、例として、初期MPが5, 初期まりょくが5の場合に何回の戦闘でMPが65535になるか計算する。

    MP ≡ 初期MP + (まりょくが初期まりょくから99になるまでの和) + 99*k (mod 65536)
      ≡ 5 + (5 + 6 + ... + 99) + 99k (mod 65536)
      ≡ 4945 + 99k (mod 65536)
      ≡ 65535 (mod 65536)

    なので、 99k ≡ 60590 (mod 65536) となる最小のkを求めればよい。愚直にループでも回して求めると k=1274 (とその倍数)である。これに (5 + 6 + ... + 99) の項数を足すと、必要な最小の戦闘回数は 1274 + (99 - 5 + 1) = 1369回 である。

    この結果を見て、当時はあきらめた。時間がかかりすぎるから。
    他のキャラクターについて同様の計算をした結果は下の表に示す。

    HP[回]MP[回]
    フリオニール46741369
    マリア291721369
    ガイ212191369
    レオンハルト4435631136

    これはきつい。やってられない。

    たいりょく・まりょくのみ上げられる場合(確認できていません)

    この場合はもっと楽になる、例として、初期MPが5, 初期まりょくが5の場合に、何回の戦闘でMPが65535になるか計算する。

    初期MP + (まりょくが初期まりょくから99になるまでの和) + 99*k
    が 65535 以上になる最小のkについて、そのときのMPを m とおく。

    次に、 m - 65535 を計算し、その値を n とおく。

    n が分かったなら、たいりょく(まりょく)が n のときはたいりょく(まりょく)のみ上昇させる(HP/MPは上昇させない)。

    この場合の、戦闘回数とnの値は下の表に示す。

    HP(回、スキップするたいりょく)MP(回、スキップするまりょく)
    フリオニール703回, 87708回, 97
    マリア707回, 13708回, 97
    ガイ698回, 37708回, 97
    レオンハルト666回, 66685回, 7

    レオンハルトのMPについてはさらに調整が必要である(初期まりょくが32なので、『まりょくが7のときにMPを上げない』ことができない)。これについては、以下のようにする。

    1. 686回戦闘する。このときのMPは 65641 となる。
    2. 65641 - 65535 = 106 だから、2回の戦闘で合計106のMPを上げずにまりょくのみ上げる。
    3. 具体的には、例えば、まりょくが52と54のときはMPを上げずにまりょくのみ上げる。

    この計算が間違っていたら泣ける……


    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。