回復魔法

求まったので書いておこう。


エクスヒーリングレベル10の回復量計算式完成Ver
対象の最大HP * 0.8 + 1000
端数四捨五入


最大HPが低いほど係数が上がるのは、
最大HPに反比例しているのではなく定数を加算しているからでした。
最大HPが1のエッジにエクスヒーリングを使うと1001回復しましたよ。


定数の1000はレベルによって影響を受ける可能性が高いです。
100n になるのか n^2 * 10 になるのか、はたまたそれ以外の数になるのか、
私のデータでは調べることが出来ません。


端数が四捨五入とはまた珍しいですね。
SOシリーズは全て切り捨てていたような気がするのですが。


これによりエクスヒーリングレベル10でHP回復77777を目指すなら、
最大HPを95971にしなければならないことが判明しました。


今日の日記はまた夜に書きます。

                                                                                                                  • -


DAMのメンバーズカードを購入しました。
500円。
いきつけのカラオケ屋が春休み期間のため昼のフリータイムを廃止しました。
うぜぇ。
仕方が無いので3時間だけ歌ってきました。


愛と誠:音程81%
ハレ晴レユカイ:音程82%
少女貴族:音程81%


上出来。


SO4
ヒーリング
最大HP * 0.4 + 100


フェアリーヒール
最大HP * 0.35 + 100


フェアリーライト
最大HP * 0.6 + 500


フェアリースター
最大HP * 0.9 + 1000


ヒーリングとフェアリーヒールは定数が無ければ最大HPが1のとき回復量が0です。
まさかの0回復。
RPG史上こんなものが存在しただろうか。
まぁ嫌でも100回復しやがるんですけどね。


これで準備が整った。
HP回復77777の計算をするぞ。
ということで久し振りにプログラムを組んでみる。
こんなもの自力じゃ計算できませんって。


どんなアルゴリズムにしようかと考えていたときに気付いた。
何通りある? これ。


まずパラメータの算出方法の確認です。


ベースの最大HPに最初に絡んでくるのは装備のファクターです。
ここで四則演算は乗除が優先されます。
つまり、+10%と+100では、+10%した後+100されます。
ここで注意すべきことは、ファクターによって発生した小数点以下の端数は保持されることです。
9999で+10%をすると10998.9となります。
次はスキルの効果が出ます。
HPブーストですね。
これは整数値しか出ないのでそのまま加算します。
最後にBEATの効果です。
ノーマルかブーストのとき最大+20%です。
この計算が終われば端数を四捨五入します。


一番最初にファクターが絡んでくるのでこれから計算しなければなりません。
HPに変化の起こるファクターは、
鎧が{ +40, +200, -800, +3%, +10%, -30% }
アクセサリが{ +20, +100, -500, +2%, +5%, -20% }
です。
同じファクターを重複して付ける事ができるので、
上記の6種類+何も付けない場合の計7種類から選択することになります。
鎧の場合4種類。
7 ^ 4。
次にアクセサリ。
アクセサリは2個装備出来ますが元々1つファクターが付いているので計6個のファクターを付けることが出来ます。
エナジーリングは元々HP+5%のファクターが付いていますが複雑になるので省きます。
7 ^ 6。


この時点で既に7 ^ 10。
2億8247万5249通り。
順番が違うだけで同じ組み合わせや意味の無い組み合わせなんかが含まれています。
それを削る枝刈りのアルゴリズムも考えなければなりませんので今は無視です。
次はHPブーストです。
未使用からレベル10までで計11段階。
実際に行うことはほぼ無理でしょうがBEATも21段階セットすることが出来ます。


652億5178万2519通りです。


レベルアップの影響やドーピングアイテムの使用で組み合わせは更に増えていきます。


計算すらお断りですか、AAA。


HP回復77777は想像以上に強敵です。


因みにHP回復77777をやろうと思ったら、
最大HP95971のときにエクスヒーリング、
最大HP85308のときにフェアリースター、
最大HP77777のときに完全回復アイテムを使う。
この3パターンしかありません。