ページ

2014年3月14日金曜日

計算式再考、速射補正・距離補正位置での切捨て

[[攻撃力 ×弾物理 ×速射補正] ×距離補正] ×弾肉質 =物理ダメージ

※[ ]は少数切り捨て

旧版Googleスプレッドシートのtrunc関数がポンコツだったため、1から計算式の再チェックをします。
特に切捨ての位置は誤差の元になるため、順番にチェックしていきます。


最も単純化したダメージ計算式のコア部分は

 攻撃力 ×弾物理威力 ×弾肉質 =物理ダメージ

となります。
これに最低限、ほぼすべての弾で関係する補正を入れると

 攻撃力 ×弾物理威力 ×速射補正 ×距離補正 ×弾肉質 =物理ダメージ

となります。
特にこの2つの補正の直後に切捨てが入る入らないで微妙な誤差が出ます。

そのため、取り敢えずこの2箇所にそれぞれ切捨てが有・無で4パターンの計算式を用意し、差が出る威力を探して実測と比較します。

無・無  攻撃力 ×弾物理威力 ×速射補正  ×距離補正  ×弾肉質 =物理ダメージ
有・無  [攻撃力 ×弾物理威力 ×速射補正] ×距離補正  ×弾肉質 =物理ダメージ
無・有  [攻撃力 ×弾物理威力 ×速射補正  ×距離補正] ×弾肉質 =物理ダメージ
有・有 [[攻撃力 ×弾物理威力 ×速射補正] ×距離補正] ×弾肉質 =物理ダメージ

 210(表示攻撃力273)
 NBリミカ炎天(200)、攻撃UP小(+10)
 村☆4ズワロ(HP92、全体防御100)@胴(弾70)

 ・試算
  無・無 =34 ×不一致
  有・無 =34 ×不一致
  無・有 =33 ○一致
  有・有 =33 ○一致

 ・実測
  通常2*2、小樽*1、石*6
  通常2 =(92-20*1-1*6)/2 =33

 215(表示攻撃力279)
 NBリミカ炎天(200)、攻撃UP小(+10)
 村☆4ズワロ(HP92、全体防御100)@胴(弾70)

 ・試算
  無・無 =35 ×不一致
  有・無 =34 ×不一致
  無・有 =34 ×不一致
  有・有 =33 ○一致

 ・実測
  通常2*2、小樽*1、石*6
  通常2 =(92-20*1-1*6)/2 =33

という2つの結果から、有・有が最も一致するため、切捨ては両方の補正後に行われている可能性が高いものと思われます。

この試算はリミッター解除(=速射非対応)で行っていますが、炎天はリミッター取り付け時に通常2速射対応銃の為、リミッター解除時にも速射周りの処理が行われているだけの可能性もあります。

そこで、速射が元から不可能なヘビィでも同様の検証を行います。

 220(表示攻撃力374)
 NBリミカブレイズヘル(200)、攻撃UP大(+20)
 村☆4ズワロ(HP92、全体防御100)@胴(弾70)

 ・試算
  無・無 =47 ×不一致
  有・無 =46 ○一致
  無・有 =46 ○一致
  有・有 =46 ○一致

 ・実測
  通常2*1、小樽*2、石*6
  通常2 =92-20*2-1*6 =46

 215(表示攻撃力365)
 NBリミカブレイズヘル(200)、攻撃UP中(+15)
 村☆4ズワロ(HP92、全体防御100)@胴(弾70)

 ・試算
  無・無 =46 ×不一致
  有・無 =44 ○一致
  無・有 =45 ×不一致
  有・有 =44 ○一致

 ・実測
  通常2*1、小樽*2、石*8
  通常2 =92-20*2-1*8 =44

 230(表示攻撃力391)
 NBリミカブレイズヘル(200)、攻撃UP超(+25)、猫飯攻撃中(+5)
 村☆4ズワロ(HP92、全体防御100)@胴(弾70)

 ・試算
  無・無 =49 ×不一致
  有・無 =48 ×不一致
  無・有 =48 ×不一致
  有・有 =47 ○一致

 ・実測
  通常2*1、小樽*2、石*5
  通常2 =92-20*2-1*5 =47

結果をまとめると
 無:無 × × ×
 有:無 ○ ○ ×
 無:有 ○ × ×
 有:有 ○ ○ ○

となり、最も一致するのはライト検証時と同様、有・有になります。

そのため、速射補正・距離補正直後の切り捨ては非対応弾、非対応銃にかかわらず(たとえヘビィであっても)必ず行われる、という結果になり、現状での実測に最も一致する式は、最初に掲載した通りとなります。以下再掲。

 [[攻撃力 ×弾物理 ×速射補正] ×距離補正] ×弾肉質 =物理ダメージ

厳密には攻撃力と肉質は百分率ですので

 [[攻撃力/100 ×弾物理 ×速射補正] ×距離補正] ×弾肉質/100 =物理ダメージ

となりますが、可読性の為に特段の必要が無い場面では省略します。