BGwikiのSV関数の近似、または多くの人が扱ってるであろうDPSシートを少し見た感じでは思いのほかずれていたので検証してみたところほぼ正確な値が得ることができました。 ほぼというのは全部を検証したわけではないので確定できませんが検証した限りでは誤差を検出できていません。
ですが、これは私の扱っているダメージ算出での話ですのでご注意を。
結論から述べると所謂SV関数等に扱う値は等差数列を用いて算出が可能です。
攻防比と攻防関数についても副次的に検証できましたので報告。
SV関数
上限 (武器ランク+8)*2
下限 ー武器ランク*2
ランク0は上限 ー2
ランク1は下限 -3
上限 武器ランク+8
下限 ー武器ランク
ランク0は上限 -1
まず、SV関数と攻防比がキャップしてる場合のダメージ算出はそう難しくはありません。
SV関数はSV差とそれから導く変数を足して、近接遠隔によって決まった数値で割れば算出ができ、キャップは判明しているのでそれを扱えば誤差のないダメージを知ることができます。
WSではSTRを大幅に増加させる機会が多いので変数を4、キャップしているのなら関数の上限値を扱えばそれだけで正確な値がでるので既存の算出でも問題にならないのが現状ですね。
例えば武器ランク30の遠隔攻撃のSV関数の扱いはこうなります。
この変数を導くSV差の範囲が武器ランクで変動します。
武器ランク3からの変動の推移は等差数列を行えば知ることができると思います。
遠隔は公差が4なので武器ランク3、4、5、6が初項になり、それらから4ずつ増えていくという事。
その増えた回数が項数。 増加値に項数をかけたものを初項の範囲にたせばそのランクの範囲がでます。
もちろんどのランクからでも足し引きしたらでます。
遠隔は軽く検証した感じでは綺麗に収まっていたので多くは確かめていませんがいまのところは大丈夫です。
近接も基本は同じですが公差と増加させる値が違うのと一定区間での増加させる値が武器ランクで少し変わるのでちょっと面倒ですね。
それを確かめるために遠隔よりはかなり多くの検証を行いました。
閾値を整合させているか覚えていませんがざっくりと一覧にするとこんな感じなります。
整合させているかというのは閾値を上と下どっちで取るかという話なんですがたぶん伝わらないと思いますが一応説明しておきます(笑)
変数による算出ダメージの分布は遠隔、近接では下のようになっています。
青色が観測したダメージと等しい値です。
上が遠隔、下が近接ですが変数が変わる範囲があります。
これを上と下どっちで取るかといった話です。
検証内容には関係ない話なので気にしなくて大丈夫です(笑)
ちなみに上下左右が同じ数字になっているのはSV関数を導く際に数を丸めてるからだと思われます。
違う算出方法でも歯抜けになって整合するのもこういった理由ですね。
つまり、変数を正しく変動させずに同じ値を扱っていてもある程度は正しい値を算出できる、ということ。
攻防比
攻防比の上限は
現在検証中
攻防関数
攻防関数の上限
片手 3.25
格闘 3.5
両手 3.75
両手刀 3.5
両手鎌 4
弓術 3.25
射撃 3.5
あとがき
これで攻防比がキャップしている場合はSV差がいくつであろうと誤差のない正しい算出ができるようになりました。
あとは非キャップ時における攻防比からの正しい攻防関数を導く検証を行えば物理ダメージの算出は完成に至りますがSV関数より困難な気配。
コメント