PSO2ダメージ計算式(途中経過) | 月灯籠の島で
このテーマについては様々なブログで既に調査が進んでいることと思います。
当記事ではそうした先達の検証、推論、仮説、噂話なんかをいいとこどり参考にして、
私なりに検証した内容を書いていきたいと思っています。

※以下は飽くまで、実際にゲーム中でのダメージ等を記録し、そこから推測したものです。
 解析等ではありませんので、誤った内容が多分に含まれている可能性があります。
 ご覧になる場合は、どうかその点を十分にご了承ください。





結論から書くと、敵への与ダメージは次のようになっていると考えられます。



与ダメージ=(a)基本ダメージ+(b)属性ダメージ

(a)基本ダメージ
基本ダメージ=[{基本攻撃値+(武器攻撃値×ランダム値)-敵防御値}÷5]×攻撃倍率

(b)属性ダメージ
属性ダメージ={(武器攻撃値×属性値)÷(5×敵属性抵抗値)}×攻撃倍率



・基本攻撃値
  種族性別による攻撃値、マグによる攻撃値、スキルによる攻撃値(射撃Ⅰなど)、
  能力による攻撃値(パワーⅢなど)、シフタライドによる攻撃値 の合計値
・武器攻撃値
  武器の攻撃値(強化による追加値を含む)
・属性値
  武器に付与されている属性値
・攻撃倍率
  PAの威力÷100 の値。通常攻撃にも個別に設定されている
・ランダム値
  100%を上限として、今回の検証では下限に90%~88%程度の値をとる
  技量による補正値と思われるが不明
・敵防御値
  PCと同様、攻撃種に対応した個別の防御値が設定されていると考えられる
・敵属性抵抗値
  各属性に対応した個別の属性値抵抗値が設定されていると考えらえる


----------

(a)基本ダメージ
攻撃ダメージ=[{基本攻撃値+(武器攻撃値×ランダム値)-敵防御値}÷5]×攻撃倍率



基本ダメージについては、ほぼ、やゑ氏による仮説の通りです。


やゑ氏の仮説と異なるのは以下の二点です。

(1)2種類の攻撃値(基本攻撃値・武器攻撃値)
(2)ランダム補正値の係る場所

まず(1)について解説します。
攻撃値には、それに起因するダメージに振れ幅ある有るか無いかで2つに分けられます。
振れ幅がない攻撃値を「基本攻撃値」、振れ幅がある攻撃値を「武器攻撃値」とここでは呼称します。

「基本攻撃値」についてですが、先述の通りこの値に起因するダメージは振れ幅がありません。
例えば、一切の補正がない状態で素手で敵を攻撃するとダメージが一定なのが確認できますが、
これは、種族・性別・職業・Lvで決定する基礎ステータスによる攻撃値が「基本攻撃値」に属するためです。

また、マグ、スキル(射撃Iなど)、能力(パワーIなど)による攻撃値もこれに含まれます。
つまり、これらで攻撃値を増加させた場合、ダメージの最小値と最大値が等しく上昇し、振れ幅は変わりません。

「武器攻撃値」についでですが、これに起因するダメージには振れ幅があります。
武器を攻撃値の高いものに新調したり、強化した場合にダメージの振れ幅が増えるのはこのためです。

次に(2)について解説します。
ランダム補正(技量補正?)の係る場所については、最終ダメージ説と武器攻撃力説がありますが、
先述したように、攻撃値には増加すると振れ幅の増す(=ランダム補正の係っている)攻撃値と、
振れ幅の変わらない(ランダム補正の係っていない)攻撃値が存在しています。
よって、あらゆる攻撃値の増加で振れ幅が広がることになる最終ダメージ説は正しくないことが分かります。

上述の結果を示すサンプルを以下に記します。

***
攻撃側:ニューマン♀、レンジャー(Lv40)
防御側:ザウーダン討伐(ノーマル)出現Mob/射撃防御:20

すべて非弱点・非JA
また、(A)~(B)はエイミングショット(威力272)によるもの
(C)~(E)はスニークショット(威力264)によるもの

(A)min-265 MAX-274
  アルバホーク
  総攻撃力523【基礎(367)+武器(156)】
(B)min-461 MAX-469
  アルバホーク/炎50
  総攻撃力789【基礎(367)+武器(156)+武器能力(20)+ユニ能力(90)+マグ(106)+スキル(50)】
(C)min-623 MAX-648
  ティグリドル+10/闇49
  総攻撃力1012【基礎(367)+武器(274+205)+武器能力(60)+マグ(106)】
(D)min-245 max-251
  ブラスター
  総攻撃力496【基礎(367)+武器(129)】
(E)min-258 max-266
  ブラスター+5
  総攻撃力524【基礎(367)+武器(129+28)】
***

(A)、(B)において、攻撃値の増加に伴って与ダメージの上昇が見られますが、
ダメージの振れ幅については(A)が10、(B)が9で殆ど変化が見られません。
(B)の振れ幅が10ではなく9なのは、小数点以下の操作(おそらく四捨五入)による誤差と考えられます。
これにより、武器能力、ユニ能力、マグ、スキルによる攻撃値増加は振れ幅の増加を伴わないとわかります。
また、詳しくは後述しますが、属性によるダメージも振れ幅が無いことがわかります。

武器能力による攻撃値増加が小さいので、念のため(C)を併記しました。
実測の結果、(F)の最小実測値は623となりました。
これは武器能力の攻撃値がダメージに振れ幅を持たない場合の理論値622と近い値です。
理論値はおよそ622.48なので、622は極めて出難い(処理方法によっては出ない)と考えられます。
もし武器能力の攻撃値がダメージに振れ幅を持つ攻撃値である場合、(F)の最小値は619になるはずです。

<2012/7/24 追記>-----------------------
小数点以下の処理について、やゑ氏による新たな仮説が提示されました。

やゑ氏のブログ 「始末屋-幽玄花-の散策日記」
ブログ内記事 《PSO2 ダメージ計算式の小数点以下処理方法》

これは小数点以下の処理を基礎攻撃力、武器攻撃力、オプション攻撃力、敵防御力で個別に行うという仮説です。
本稿で示したサンプル(C)における最小値の誤差は、このやゑ氏の仮説で示された計算式に従うことで解消できました。
----------------------------------------



(D)、(E)からは武器強化での攻撃値上昇が振れ幅の増加を伴うことが分かります。
先述した(A)、(B)間では攻撃値266に対して振れ幅は1の減少ですが、
(D)、(E)間では攻撃値28に対して振れ幅2の増加を見ることが出来ます。
+10のブラスターを用意すれば、より明らかに振れ幅の増加を確認できるはずです。


以上により、

 ・武器の攻撃値(強化による攻撃値を含む)は、
  それに起因するダメージに振れ幅を持つ(=ランダム補正が係る)
 ・その他の攻撃値(武器能力、ユニ能力、マグ、スキル)は、
  それに起因するダメージに振れ幅を持たない(=ランダム補正が係らない)


ことが確認できました。


----------

(b)属性ダメージ
属性ダメージ={(武器攻撃値×属性値)÷(5×敵属性抵抗値)}×攻撃倍率



属性についてもいくつかの説がありましたが、aksly氏による仮説がおおよそ正しいと考えます。
これは、武器攻撃力と属性値、および敵の属性抵抗に依存した追加ダメージが与えられる、というものです。


私の仮説は、aksly氏による仮説に以下の点を付け加えたものです。

 (1)敵の属性抵抗値とそれに係る係数を推測した
 (2)武器強化による攻撃値も属性ダメージに関係することを示した

(1)について、以下にサンプルを記します。

***
攻撃側:ニューマン♀、レンジャー(Lv40)
防御側:ザウーダン討伐(ノーマル)出現Mob/射撃防御:20

すべて非弱点・非JA
(F)~(J)はスニークショット(威力264)によるもの
(K)はエイミングショット(威力272)によるもの
(L)はランチャー通常攻撃初段(威力119)によるもの

(F)min-223 MAX-227
  ライフル
  総攻撃力450【基礎(367)+武器(83)】
(G)min-229 MAX-234
  ライフル/光15
  総攻撃力450【基礎(367)+武器(83)】
(H)min-230 MAX-234
  ライフル/闇15
  総攻撃力450【基礎(367)+武器(83)】
(I)min-229 MAX-234
  ライフル/氷15
  総攻撃力450【基礎(367)+武器(83)】
(J)min-231 MAX-235
  ライフル/炎15
  総攻撃力450【基礎(367)+武器(83)】
(K)min-331 MAX-340
  ヴィタスラッシュ/炎50
  総攻撃力541【基礎(367)+武器(174)】
(L)min-130 MAX-133
  タグバルブ/闇50
  総攻撃力509【基礎(367)+武器(142)】
***

(F)~(J)はライフルの無・光・闇・炎属性を比較したものです。
(G)~(I)は(F)に比べて、最大値が7、最小値が6~7増加しています。
(H)は実測最小値が230ですが、これは最小値が出なかったのでしょう。

一方、炎属性の(J)は(F)に比べて、最大値、最小値ともに8の増加が見られます。

(K)のヴィタスラッシュは無属性を実測していませんが、
基本ダメージ計算式による理論値ではmin-274、MAX-283となります。
つまり、(K)は無属性に対して最大値、最小値ともに57増加しているものと考えられます。

(L)のタグバルブも同様に、無属性を実測していませんが、
基本ダメージ計算式による理論値ではmin-113、MAX-116となります。
つまり、(L)は無属性に対して最大値、最小値ともに17増加しているものと考えられます。


以上で得た増加値を属性ダメージとします。
これをaksly氏による仮説を参考にして、以下の式に代入します。

(武器攻撃力 × 属性値 × 攻撃倍率)÷ R = 属性ダメージ (Rは敵の属性抵抗値とする)

【非弱点属性】
(G)~(I) R = 469.54
(L)    R = 497

【弱点属性】
(J)    R = 410.85
(K)    R = 415.15

以上の値が属性抵抗値となる数値だと考えられます。
一見バラバラですが、非弱点属性では500弱、弱点属性では410台となっています。
このままでは使えないので、仮に非弱点属性のRを500、弱点属性のRを415とした場合、
属性ダメージの値はどうなるでしょうか。

【非弱点属性】
(G)~(I) 属性ダメージ = (83×15×2.64)/500 = 6.57 ≒ 7
(K)    属性ダメージ = (142×50×1.19)/500 = 16.89 ≒ 17

【弱点属性】
(J)    属性ダメージ = (83×15×2.64)/415 = 7.92 ≒ 8
(L)    属性ダメージ = (174×50×2.72)/415 = 57.02 ≒ 57

やや強引ですが、以上のように実測した属性ダメージの値とほぼ等しくなります。
また、このRを基本ダメージと同様に定数5で割ると以下のようになります。

【非弱点属性】
R = 100

【弱点属性】
R = 83

これなら敵の属性抵抗値として設定されていても納得できる数値でしょう。

以上により、次のように推測します。

 ・敵には非弱点属性=100を基準として、それぞれの属性に抵抗値が設定されている。
  (属性抵抗値が低いほど、その属性に弱い)
 ・属性ダメージ計算式には基本ダメージと同様に定数5が含まれる。



次は(2)について、つまり武器強化による攻撃力が属性ダメージに関係しているか否かについてです。
もう一度、(C)のサンプルに登場してもらいます。

(C)min-623 MAX-648
  ティグリドル+10/闇49
  総攻撃力1012【基礎(367)+武器(274+205)+武器能力(60)+マグ(106)】

無属性ティグリドル+10を属性以外は同じ条件で使った場合、
基本ダメージ計算式による理論値はmin-498、MAX-524となります。
つまり、(C)は闇属性49によって124の属性ダメージが追加されていることになります。

この属性ダメージの値と、ティグリドル未強化時の攻撃値(274)、+10強化の攻撃値(479)でそれぞれ
先ほどのRを求める式に代入した場合のRを以下に示します。

【未強化時の攻撃値】
(274 × 49 × 2.64) ÷ R = 124
R = 285.84

【+10時の攻撃値】
(479 × 49 × 2.64) ÷ R = 124
R = 499.70

このティグリドルは闇属性なので、Rは500に近い値をとるはずです。よって、

 ・属性ダメージは“強化による攻撃値を含んだ”武器攻撃力に依存する

ことが分かります。







----------
書いてないこと
 ・ランダム補正(技量補正)について
   最大で振れ幅の下限が90%になると考えている
   本文での計算式において、武器攻撃力を90%すれば実測最小ダメージにぴったりなため。
 ・攻撃倍率について
   素手通常攻撃 1段目-90% 2段目-124% 3段目-123%
   ライフル通常攻撃 24%(全段同じ?)
   ランチャー通常攻撃 119%(全段同じ?)
   ガンスラ通常攻撃(銃) 60%(全段同じ?)
   槍・・・やゑ氏ブログのコメント欄参照
  ※攻撃倍率はユニットの能力補正値に対しての増加ダメージから大体求められる


まだ調査してないこと
 ・技量の値が具体的にどう作用してるのか
 ・JA補正
 ・弱点部位に対するダメージ(ナベ原生種、クラーダ、ダガン、ギルナスは2倍だったんだけど)
 ・ウィークバレットの作用
 ・WHA、スタンディングスナイプなど、倍率でダメージ上昇(?)するスキルの作用
 ・フューリー、シャドウフレアなど、一時的に攻撃値が上昇するスキルの作用
 ・シフタ、シフタドリンク、シフタライドの作用(素のステータスに倍率で係ってる気がする)