Skip to content

Instantly share code, notes, and snippets.

@elvl
Last active February 15, 2021 14:06
Show Gist options
  • Save elvl/51c1065f26e86df90fb4 to your computer and use it in GitHub Desktop.
Save elvl/51c1065f26e86df90fb4 to your computer and use it in GitHub Desktop.
PSO2 ダメージ計算式検証

#PSO2 ダメージ計算式検証

2014 秋頃からの更新について

swiki に ダメージ計算 のページを作成しました。更新がかぶる & こっちに図表をいれにくいため、swiki の方が更新がまめでわかりやすい可能性が高いです。正直めんどくさいのでこっちの更新が止まっている可能性があります。

2012 年秋頃から確認されている 1.05 倍 "謎倍率" について

サブクラス実装頃から、ごく一部の条件を除きすべてのダメージに対して最終的に 1.05 倍されていることが確認されています。これを便宜上 "謎倍率" と呼んでいます。

謎倍率は、打撃 射撃 法撃 ウォンドの法撃爆発、PA や通常攻撃いずれの攻撃手段においても適用されます。また、プレイヤーの防御力を変化させて敵の攻撃力と倍率を逆算すると、1.05 で割った方がきれのよい数字になるため、敵の攻撃にも謎倍率が適用されているようすが伺えます。

これまでに確認されている例外は、ゾンデの 1.2 1.4 1.6 倍判定のみです。ゾンデの威力適正化が行われた 2013 年 4 月以降は、例外であるなら 1.15 倍、例外でないなら 1.095 倍となるため、おそらく例外扱いと思われます。

ダメージ計算や、敵パラメータの逆算をされる方は留意してください。これを考慮しなければ正しい値が逆算されません。

サブクラス実装以降の様々な検証時にこの現象が確認されています。 スキルの影響が一切ない新キャラでレベル差を比較した検証においても、1.05 倍が確認されました。このことから、レベル差やスキル構成によるものではないことがわかります。この謎倍率はサブクラス実装後に行われた検証では全て考慮していますが、独自にまとめてはいないため、各データ を御覧ください。

関連文書など

技量の効果については 技量検証 にて公開しています。

検証データは Google ドライブにて公開しています。

部位倍率の実際は エネミーステータス が参考になるでしょう。

部位倍率や属性倍率は一律ではありません。一見計算が合わないようでも、ダメージ同士の比率を比較するのではなく、倍率が既知の攻撃方法を使い攻撃力を変化させた際の青ダメージの "傾き" から倍率を正しく逆算し、さらに謎倍率も考慮することで、いかなる攻撃方法であっても理にかなった敵パラメーターが逆算されるはずです。

武器の強さの比較やダメージの計算には (丶・ω・`) が便利です。最新の技量仕様に対応しています。拙作の PSO2 Damage Calculator ではグラフでの比較やクリティカルやスキル倍率を含めた計算ができます。

##更新

  • 2014 10/18 参照ステータスについて追記、法撃爆発などはそっちで解説
  • 2014 5/21 WHA やウィークスタンスの乗る倍率は何倍以上か、侵食核について、法撃爆発の計算を追加、@oi_tea さんの資料にリンク
  • 2013 4/23 謎倍率について追記
  • 2012 8/23 物理として一括していた打撃と射撃を分け、文章をいくつか修正。
  • 2012 8/4 ダメージ計算式の詳細について文書を分けた。
  • 2012 8/3 属性ダメージに部位倍率がかけられない点について 再検証 し、物理部位倍率と属性部位倍率があるという仮説を立て、内容を更新。

##この文書で使う用語について

説明をスムーズにするために、この文書内にていくつかの単語を特定の意味で使用する。

###青ダメージ ダメージが大きめに薄い青で表示されるもの。その時の条件で取り得る振れ幅の上限で出たダメージ。

###属性ダメージ 武器の属性や、テクニックによるダメージ。

###部位倍率 攻撃対象の部位に設定されている、ダメージに掛けられる倍率。 頭は 2 倍、おなかは 0.5 倍、など。

###あとがけ倍率 部位倍率以外のダメージにかけられている倍率をまとめてこう呼ぶ。PA 倍率 (PA が多段や範囲の場合その一発一発の倍率), 各種スキル, JA, 潜在能力など。

表記されている倍率と実倍率が違う PA や、敵の部位倍率を求める方法は、この文書の最後で説明する。

##ダメージを構成する要素

ダメージを構成する要素を簡単にに分けると、

武器攻撃力によるダメージ + 基礎攻撃力やユニット等によるダメージ - 敵の対応する防御力によって引かれるダメージ + 武器に由来する属性ダメージ

となる。ただし、最終攻撃種別が法撃属性になる場合、武器に由来する属性ダメージは加えられない。

###倍率のかかり方

実際の計算では、これらのダメージを構成する要素それぞれに、対応する部位倍率とあとがけ倍率が掛けられる。

  • 打撃ダメージとそれに対応する打撃耐性には、打撃部位倍率が
  • 射撃ダメージとそれに対応する射撃耐性には、射撃部位倍率が
  • 属性ダメージとそれに対応する防御力には属性ダメージのための属性部位倍率が掛けられる。

##部位倍率の実際

通常、私達が「弱点」などと言う時、それがどのような部位倍率の状態を指しているのかを、その言葉のみで厳密に推定することは難しい。

部位倍率が物理ダメージと属性ダメージに個別に設定されているということは、「射撃ダメージは 2 倍になるが、テクニックは変わらない」「テクニックは普通に通るが打撃ダメージは半減される」などといった組み合わせがありえる。そのため、射撃では通常部位より柔らかくても、テクニックでは変わらない、といった部位が実際に存在している。

どのような状態を弱点と呼ぶかには様々な意見があるだろう。

  • 射撃も打撃も属性ダメージも同じく倍にされる部位こそが弱点で、他は弱点ではない派
  • 動物の頭は弱点じゃなくてダーカーのコアみたいのだけが弱点だよ派
  • 弱点は敵一種に一つしかないから、他は弱点じゃないよ派
  • WHA がのるなら弱点だよ、え?テクは頭に 1 倍とか知らないよ派
  • 攻撃した時音が違うのが弱点だよ派
  • 攻撃した時エフェクトが違うのが弱点だよ派

「弱点」はいかなるものと定義しているのかはセガに聞いてみなければわからない。例えば、WHA の説明には「射撃で弱点部位を攻撃した時の…」とあるが、実際に WHA が乗るのは射撃部位倍率が大きい部位であり、たとえ Fo から見てダメージが何も変わらなくても WHA は乗るのである。

このような実態である以上、ここではゲーム内において部位倍率が実際にどのような値に設定されているのかを説明する。

###WHA やウィークスタンスの乗る倍率は何倍以上か

厳密には 1 倍以上ではなく、1.1 では乗らないとの指摘を頂きました。 1.15 倍とされている資料もあり。

###ヘッドショット部位

射撃で敵の頭を狙うと、ほとんどの敵の頭の倍率が 2 倍に設定されていることがわかる。これはヘッドショットなどと呼ばれる。

このような調整は、射撃以外には見受けられない。

具体的には、射撃でウーダンの頭を狙うと通常の 2 倍程度のダメージが入るが、テクニックで同じ所を攻撃しても何もおこらない。また、属性付きの武器で頭を狙ったときのダメージが WHA の影響を除いてもきっかり 2 倍にならないのは、武器の属性ダメージが 2 倍になっていないためである。

打撃部位倍率、射撃部位倍率、属性各色の部位倍率が全て高く設定されている頭部も存在するが、ボスなど少数である。

###ダーカーのコアなど

ダーカーのコアなど、打撃部位倍率、射撃部位倍率、属性各色の部位倍率が全て高く設定されている箇所もある。もっとも弱点らしい弱点ともいえる。

###硬い部位

マルモスの側面など、1 倍以下の倍率が設定されている部位もある。当然、打撃部位倍率と射撃部位倍率と属性部位倍率が等しいとは限らない。

###侵食核

侵食核の弱点は 火 雷 氷 が表示されているが、打撃射撃、テクニックは全属性とも 2.0 倍。

侵食核の本体に弱点属性があっても重ならない。2.4 倍になったりはしない。 そのため本体の弱点属性で攻撃すると見かけ上の倍率は低く見える。

侵食核の防御力は侵食核の本体と同じ。

###数値の実際

この部位倍率はいくつと決まったものではない。ヘッドショット部位であれば射撃部位倍率は 2 倍、弱点属性であれば属性部位倍率は 1.2 倍程度といった大体の傾向は認められるが、例外も多い。弱点属性として表示されなくとも 1 倍以下の水面下で差があるケースも考えられる。

有志が検証したデータ @oi_tea

##倍率を含めた計算式

以下の式で、武器攻撃力とあるものには全て強化分を含み、シュートなどの能力は含まない

属性部位倍率と弱点属性の関係で述べた通り、逆算では法撃部位倍率と属性倍率を分離することができないので、ここでは属性部位倍率として扱う。

ダメージを構成する要素は、元となるステータスを 5 で割ったものをベースとして、それに対応する部位倍率とあとがけ倍率をかけたものになる。 (演算子の優先順位上、必要ないものであっても、わかりやすくするためにかっこをつけてある。)

###参照ステータスと攻撃種別

ダメージの計算には暗黙に どのステータスを参照して、どの攻撃種別にして出力するか という流れがある。

参照するパラメータと出力する攻撃種別が異なる PA や攻撃手段はいくつかあり、例えば、ウォンドの法撃爆発は "法撃系パラメータ (法撃力、法撃防御、法撃/属性部位倍率) を参照して、打撃属性の攻撃にして出力する" となる。

武器の属性ダメージがあるかどうか、フューリー等のスキルが乗るかどうかは、どの攻撃種別にして出力するかだけに依存している。

つまり、たとえ法撃力を参照していても最終的に打撃属性になるのならフューリーは乗り武器の属性ダメージも加算される。

参照ステータスに依存するのは、攻撃力と防御力であり、この 2 つはペアになっていると考えてよい。(ジェットブーツのスイッチは要検証)

最終的な攻撃種別に依存するのは、部位倍率・スキルの適用・武器に由来する属性ダメージの有無と考えられる。確認されている例外はウォンドの法撃爆発のみで、法撃爆発の部位倍率は全体に属性部位倍率を適用する。また、法撃爆発のウィークスタンスは法撃扱いでの動作となる。

このことを理解していれば、打撃射撃法撃の計算方法は統一して考えつつも、各種倍率を適切に使い分けることができるだろう。

あとがけ倍率 = 1.05 * PA倍率 * 倍率系スキル * 倍率系潜在能力 etc
武器攻撃力によるダメージ = (武器攻撃力 / 5) * 部位倍率 * あとがけ倍率
基礎攻撃力やユニット等によるダメージ = (基礎攻撃力やユニット等による攻撃力 / 5) * 部位倍率 * あとがけ倍率
敵の防御力によって引かれるダメージ = (防御力 / 5) * 部位倍率 * あとがけ倍率

攻撃種別が
    打撃か射撃ならば
        武器に由来する属性ダメージ = (武器攻撃力 * 属性% / 5) * 属性部位倍率 * あとがけ倍率
    法撃ならば
        武器に由来する属性ダメージ = 0

最大ダメージ = 武器攻撃力によるダメージ + 基礎攻撃力やユニット等によるダメージ - 敵の防御力によって引かれるダメージ + 武器に由来する属性ダメージ

最小ダメージの求め方は 技量検証 を参照。

###式の簡略化

あとがけ倍率 = 1.05 * PA倍率 * 倍率系スキル * 倍率系潜在能力 etc
ダメージの元 = (トータルの攻撃力 - 防御) * 部位倍率

攻撃種別が
    打撃か射撃ならば
        武器に由来する属性ダメージの元 = 武器攻撃力 * 属性% * 属性部位倍率 
    法撃ならば
        武器に由来する属性ダメージの元 = 0

最終ダメージ = (ダメージの元 + 武器に由来する属性ダメージの元) / 5 * あとがけ倍率

###式の高精度化

計算の各段階で四捨五入する説について、2014 年現在、個人的に疑問をもっています。非常に倍率の大きな PA やスキルでは、攻撃力が 0.5 変わっただけで、最終ダメージが数十変わってしまいます。そのような条件下で、ゲーム内での青ダメージを再現するのに重要なことは計算途中の四捨五入ではなく、攻撃力にゲーム内表示の値を使わず、基礎ステータスから buff を掛けて自前で計算し、それによる少数部分を維持することです。

計算のスタートであるステータス部分においては、buff やクラフトマスタリ等による少数点以下は維持されているということです。

このことは、計算途中での部分部分における四捨五入がないことの証明にはなりませんが、なんとなく少数部分は最後の最後まで維持してると考えたほうが素直な実装の気がするんですよね。誰か検証しよ?

##部位倍率や PA 倍率の求め方

###部位倍率を求めるには

正しい PA 倍率がわかっている PA を使う。範囲・貫通・多段の PA は表記どおりでないものが殆ど。

二点を取る場合、ダメージが小さいと誤差が大きくなるので、できるだけ攻撃力差を確保する。

ベースダメージは /5 されることを考慮して、最終的な倍率が 5 倍以上になるようにすると、逆算される防御力の精度を確保できる。正しく倍率を求められているかを確認するには、防御力を求める必要がある。

###PA 倍率を求めるには

正しい部位倍率がわかっていて、他の部位にあたってしまわない部位を狙う。犬の遠吠えのようにステータスの変わる行動を取る敵を対象にしない。射撃の場合は距離による減衰に注意すること。

###PSE に注意

ダメージに関係する PSE が発生しない TA で検証すると良い。TA に居ない敵を対象にせざるを得ない場合は PSE を確認すること。

###手順

  1. ユニットや薬、武器の交換で攻撃力を変動させ、低攻撃力 (a) と高攻撃力 (b) の 2通りの青ダメージを計測する。テクニックなら素手を活用するとよい。
  2. a の時と b の時の攻撃力の差を求め、それを 5 で割ったものが攻撃力の差の分のベースダメージになる。
  3. 2 で求めたベースダメージに調べたい倍率以外の全ての既知の倍率をかける。
  4. a の時と b の時の青ダメージの差を求め、それを 3 で求めた数値で割ると求めたい倍率になる。

このようにすると、PA の説明に書いてある倍率と実際に違う PA の倍率や、倍率が明記されていない各種アタック、防御力が高いのか倍率が低いのかわかりにくい硬い敵の倍率を求めることができる。

武器の属性ダメージに使われている属性部位倍率と、テクニックに使われている属性部位倍率はおそらく共通であるので、値が大きく誤差が生じにくいテクニックで属性部位倍率を調べるのが、打撃や射撃の検証でも役に立つ。

射撃、打撃の倍率を計測するときは無属性の武器を使うと良い。属性の倍率と射撃打撃の倍率が違う場合、それを考慮して計算しなければ正しい倍率が算出できない。

##あとがき

属性部位倍率で割るのではなく掛けた方が数値がシンプルになるという点は 月灯籠の島で の記事とコメントを参考にさせていただきました

この文書と検証データや計算用シートの引用と改変及び再利用は、特定のプレイヤーに対する誹謗中傷や PSO2 の利用規約に反する行為に利用する場合を除き、引用元を示さずとも自由に行なって下さい。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment