Gaige-計算式あれこれ

2015年3月8日

Gaigeのダメージ計算式とか。

 

はじめに

自分で検証して、forumの記事を参考にして、再度検証したので大体正しいはず。

色々なレリックや装備で検証したところ、理論値と実測がほぼおなじになった。

また例外(DLC4mod)も発見された。

参考

Understanding- Smaller Lighter Faster and the effects of Reload

Breakdown of Gun Damage


実際の計算式

$$Reload=\\ \frac{Reload Time}{\left ( 1+ReloadBonus+SLFBonus \right )}$$

Reload:リロード1回にかかる理論上の時間

Reload Time:武器の表示スペック(weapon-card)
ReloadBonus:装備補正分(ex.35%ならば0.35)
SLFBonus:Smaller, Lighter, Fater(ex.lv5+30%ならば0.30)

$$EmptyMag=\\ \frac{\left [ \frac{\left ( \left \lceil \frac{MagSize}{Ammo1sh} \right \rceil+1 \right )}{2} \right ]}{FireRate*\left ( 1+RateBonus \right )}+\frac{\left [ \frac{\left \lceil \frac{Magsize}{Ammo1sh} \right \rceil}{2} \right ]}{FireRate*\left ( 1+RateBonus+BFBonus \right )}$$

EmptyMag:1マガジンが空になるのにかかる理論上の時間

MagSize:マガジン減少ボーナスをうけた現在の1マガジンサイズ
Ammo1sh:一発あたりに消費される弾数
FireRate:武器の表示スペック(weapon-card)
RateBonus:装備補正分、Discord分(ex,35%ならば0.35)
BFBonus:The Better Half(ex,lv5 +60%ならば

0.60)
 

BetterHalfの補正があるので計算式が前後に分かれている
ガウス記号内部の括弧は切り上げ記号

$$FullCycle=\\ \frac{FPS}{\left [ \frac{FPS}{EmptyMagFormer} \right ]}+\frac{FPS}{\left [ \frac{FPS}{EmptyMagLatter} \right ]}+Reload$$

FullCycle:1マガジンを空にしてリロードがおわるまでの1サイクルの時間

FPS:プレイしてる環境(ex.CS機なら30)
EmptyMagFormer:EmptyMagの計算式の前半
EmptyMagLatter:EmptyMagの計算式後半

射撃時間にはFPSによってフレームの丸め込みが発生する
誤差修正みたいなもんなのでシンプルEmptyMag+Reloadでもいいとおもう。

$$TrueRate=\\ \frac{\lceil \frac{Magsize}{Ammo1sh} \rceil*Ammo1sh}{FullCycle} $$

TrueRate:1秒間に実質消費する弾数

MagSize:マガジン減少ボーナスをうけた現在の1マガジンサイズ

Ammo1sh:一発あたりに消費される弾数
FullCycle:1マガジンを空にしてリロードがおわるまでの1サイクルの時間(1サイクルの時間)

分子:1サイクルで消費される弾数
分母:1サイクルの時間

$$Acc=\\ Card* \frac{1+Bonus+Discord}{1+0.0175*Stacks} $$

Acc:実質の命中率

Card:武器表示の命中率(weapon-card)
Bonus:装備やらスキルボーナス(ex.65%ならば0.65)
Discord:Discord発動中のみ(0.65) 
Stacks:AnarchyStack(ex.400ならば400)

あってるかどうかわかりません。
この命中率の計算式は、命中の定義がそもそも曖昧な上に検証方法も怪しい。
Forumメンバーと意見は一致したけどあまり当てにしない方がいい計算式

検証方法は各々の実験環境でレティクルの直径を計測する。それから計算式を推測。

$$SplashDamage =\\ BaseDmg*(1+GunDmgBonus+Stacks*0.0175) * SplashAmount * (1 + GrenadeBonus)$$

SplashDamage:射撃ダメージのスプラッシュダメージ部分のこと

BaseDmg:武器の表示ダメージのこと(weapon-card)
GunDmgBonus:射撃ダメージの総和のこと(ex.50%ならば0.50)
Stacks:AnarchyStackのこと(ex.400ならば400)
SplashAmount:splash武器のベースダメージに対する倍率のこと(ex.75%ならば0.75)
GranadeBonus:グレネードボーナスのこと(ex.75%ならば0.75)

SplashAmountについてはReaper Resource Roundup

$$FinalDamage=\\ \left [ \left \{ BaseDmg*\left ( 1+GunDmgBonus+Stacks*0.0175 \right )+AmpDamage \right \}\\* crit+SplashDamage \right ]\\*(1+EleBonus)*Elemental Multiplier*Slag$$

FinalDamage:最終的に目に見えるダメージ。レベル差がある場合は減衰がかかる

BaseDmg:武器の表示ダメージのこと(weapon-card)

GunDmgBonus:射撃ダメージの総和のこと(ex.50%ならば0.50)

Stacks:AnarchyStackのこと(ex.400ならば400
AmpDamage:アンプダメージのこと
crit:通常時は1,クリ時は 2*(1+CritA)*(1+CritB)/(1+CritC)
ややこしいので後述url参照
Elebonus:エレメンタルボーナスの総和(ex.ショック属性+65%ならば0.65)
Elemental Multiplier:敵のタイプと属性の倍率(wikiにあるからさがして)
slag:スラグ状態ならば3、そうじゃないなら1(これは周回によって違う)

Critについて
https://oldforums.gearboxsoftware.com/showthread.php?t=384719
https://oldforums.gearboxsoftware.com/showpost.php?p=3758072

$$TheoreticalDPS\simeq \\ \left [FinalDamage*Acc+\left \{ FinalDamage-(FinalDamage*acc) \right \}*CE*0.5  \right ] *TrueRate$$

TheoreticalDPS:理論上のDPS

FinalDamage:最終的に目に見えるダメージ。レベル差がある場合は減衰がかかる
Acc:実質の命中率
CE:CloseEnoughによる跳弾確率(ex.50%ならば0.50)
TrueRate:1秒間に実質消費する弾数

跳弾発生しない時は普通の命中判定で、跳弾発生のときは別途計算しますと、ということ。
命中率の定義が曖昧すぎるので、あまりこの式はあてにならない。

なんかややこしいことあれこれ書きましたがDPSはシンプルに

$$DPS\simeq \\FinalDamage*TrueRate$$

 

と考えればいいとおもいます。

おわりに

この計算式をすごく簡単にいうと次のことを意味しています。

  • FibberとBeeの相性はいい。
  • アナーキーとBeeの相性はよくない。(あくまでもFibberとシナジーがあるだけ)
    低スタックにおいてはBeeは有能だが高スタックではあまり意味が無い。またCC/Twisterなどとも相性が悪い。
  • 火力を出すには武器も大切だけど、クリティカル、リロード、レート速度、属性をバランスよく伸ばすのがとても大切。