![見出し画像](https://assets.st-note.com/production/uploads/images/133209676/rectangle_large_type_2_e567752a0315b93141e79f710cbb6fac.png?width=1200)
【プリコネR】クリティカル強化ノード検証まとめ、とその検証に必要なクリティカル発生率周りの検証
こんにちは、ゆーけいです。
今回は属性スキル強化で獲得できるようになったクリティカル強化ノードの検証と、その検証を進めるために必要だったクリティカル発生率に関する検証についてまとめた記事となります。
ノード検証を始めるに際しそもそもクリティカル発生率に関して自分の理解が及んでいないが故に結論を出せそうにありませんでした。そこで先ずノード検証のために必要な範囲でクリティカル発生率に関する検証を行い、その後本来の目的であるクリティカル強化ノードの挙動検証を行いました。
自身の検証の足跡を残すための備忘録的な記事になるため、内容も実用性に乏しく読みにくい点も多々あるかと思いますがご容赦ください。
1.クリティカル発生率の計算式
クリティカル発生率(%)=クリティカル値✕0.05✕(攻撃側キャラレベル/防御側キャラレベル)
クリティカルの有無の確率は攻撃側の本体レベルとクリティカル値、防御側のキャラの本体レベルに依存する。
2.算出されたクリティカル発生率の扱いについて
上記の式によって算出されたクリティカル発生率が内部でどう処理をされているのか検証をする。なので前項で挙げた式が誤りだったらこの後の文章全て間違いの駄文になります無念 。
以下の検証はクリティカル発生率を%表記にした際の小数点の扱いについて検証になる。実際に計算で扱う時は分数や小数表記にした方が確率は使いやすいので内部的にもそういう処理になってそうではあるが、
・プログラムのソースコードを見て検証を行っているわけではない点
・クリダメアップバフは%表記での小数点以下の切り上げ処理が行われているという前例がある点
以上を踏まえて%表記基準での検証を行なうことにした。
小数点が発生した場合の扱いについてはそのまま、切り上げ処理、切り下げ処理、四捨五入処理、以上4つの処理が考えられるのでそのパターンのうちどれになるのかを以下で検証を行っていく。
![](https://assets.st-note.com/img/1709809961728-ee6yFYF5Wk.png?width=1200)
A.小数点以下切り上げ処理が発生しているかどうか
・使用キャラ:ミサキ(ハロウィン)
・キャラlv:305
・キャラクリティカル値:1300
・敵:稽古場HARDガーゴイル(lv200)
・算出されたクリティカル発生率99.13%
↓
①発生率に小数点以下切り上げが発生している……100%
②発生率に小数点以下切り上げは発生していない……99.13%(そのまま)または99%(小数点第1位四捨五入、小数点以下切り捨ての場合)のいずれか
この2パターンのうちどちらになるのかを検証する。
◆検証方法:倍速で模擬を回してリザルトの合計ダメージを確認して、ダメージ振れが発生※1したらクリティカル発生率100%ではない=小数点切り上げは発生していないということになる。
◆検証結果:ダメージが他のものより低いリザルトがあった=非クリが出た。
◆結論:算出されたクリティカル発生率は、%表記での小数点以下切り上げ処理はされていない(②のパターン)。
※1:ミサキのUBは呪い付与の成否によってダメージ振れが発生するので検証時はオートOFFで行った。
B.小数点第1位四捨五入処理が発生しているかどうか
・使用キャラ:ミサキ(ハロウィン)
・キャラlv:305
・キャラクリティカル値:1305(Aの時より5アップ)
・敵:稽古場HARDガーゴイル(lv200)
・算出されたクリティカル率……99.51%
↓
①発生率に小数点第1位四捨五入が発生している……100%
②発生率に小数点第1位四捨五入が発生していない……99.51%(そのまま)または99%(小数点以下切り捨ての場合)
この2パターンのうちどちらになるのかを検証する。
◆検証方法:倍速で模擬を回してリザルトの合計ダメージを確認して、ダメージ振れが発生したらクリティカル率100%ではない=小数点第1位四捨五入は発生していないということになる。
◆検証結果:ダメージが他のものより低いリザルトがあった=非クリが出た。
◆結論:算出されたクリティカル発生率は、%表記での小数点第1位四捨五入処理はされていない(②のパターン)。
C.小数点以下切り捨て処理が発生しているかどうか
・使用キャラ:★1レイ
・キャラlv:52
・キャラクリティカル値:35
・敵:ゴブリングレートHARD(lv100)
・算出されたクリティカル発生率……0.91%
↓
①発生率に小数点以下切り捨てが発生していない……0.91%(そのまま)
②発生率に小数点以下切り捨てが発生している……0%
この2パターンのうちどちらになるのかを検証する。
◆検証方法:倍速で模擬を回してリザルトの合計ダメージを確認して、ダメージ振れが発生したらクリティカル率0%ではない=小数点以下切り捨てが発生していないということになる。
◆検証結果:ダメージが他のものより高いリザルトがあった=クリが出た。
◆結論:算出されたクリティカル発生率は、%表記での小数点以下切り下げ処理はされていない(①のパターン)。
以上3つの検証から、算出されたクリティカル発生率は%表記での小数点以下切り上げ処理、切り下げ処理、小数点第1位四捨五入処理はされていないという結論で話を進める。
3.クリティカル強化ノードによる強化後の値の小数点処理について
![](https://assets.st-note.com/img/1709813361271-GKFDPxEi5a.png?width=1200)
前項での検証結果から算出されたクリティカル発生率は%表記での切り上げ、切り下げ、小数点第1位の四捨五入は行われていないということがわかったので、それを前提に検証を進めていく。
![](https://assets.st-note.com/img/1709812441899-l4BwBlS5ma.png?width=1200)
・使用キャラ:ミサト(サマー)
・キャラlv:298
・キャラ詳細画面クリティカル値:534
・敵:HARDトルペドン(lv80)
・属性スキル強化による水魔法クリティカル強化:0.4%
→強化後ミサトクリティカル算出値:536.136
①クリ値小数点以下切り捨ての場合のクリティカル発生率:99.83%
②クリ値小数点そのままの場合のクリティカル発生率:99.84%
③クリ値小数点以下切り上げの場合のクリティカル発生率:100%
この3パターンのうちどちらになるのかを検証する。
◆検証方法:倍速で模擬を回してリザルトの合計ダメージを確認、複数回のリザルトを見比べてダメージ振れが発生するかどうか確認する。
◆検証結果:ミサトの通常攻撃のヒット数合計6020回を確認検証したが、非クリ判定は1つもなかった。
◆考察:
①のパターンで算出されたクリティカル発生率で6020回ヒット試行して1回もクリティカルがでない確率:0.003%
②のパターンで算出されたクリティカル発生率で6020回ヒット試行して1回もクリティカルがでない確率:0.016%
以上の極低確率を引いたという可能性も勿論計算の通り0ではないが、試行回数から算出される確率的に現実で引き当てることは殆どないとみなし、クリ振れは発生しなかったと判断する。
◆結論:確定できる結果は確認できなかったが、確率的にクリティカル強化ノードによる強化後の値の小数点処理は切り上げであると言える(③のパターン)。
4.まとめ
最後の検証が力技の推論になりましたが、個人的には腑に落ちる結論を出せたと思っています。というのも他のステータス強化ノードの計算でどれも小数点切り上げ処理が行われているので多分これも切り上げ処理であろうというのは目星をつけてはいました。
検証回数についてはどこまで試行回数を重ねたらいいのかについては根拠等はなくまあ0.01%くらいの確率になればなしって言っていいよねー、というノリで検証しました。
今回の結論については以前まとめたアプデ一覧ノートに反映される予定です。今後も新しいノードが出た時は検証を行い結果等を反映させていきます。
また何かネタがあればこういうの細かいのも書いていく予定です。ここまで読んでくださった方、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?