インフルエンザで謹慎中のため、攻撃時の獲得功績の解析も書いてしまいます。
実は、前回のダメージ計算は半年くらい前には解析できていたのですが、次に取り組んだ功績の解析がサッパリ進まず、記事にするのをずっと保留していました。
ある程度解析できた(と思っている)現在でも、功績の計算には数多くの謎が残っています。
それを以下に紹介します。
なお、以下で書く「総功績」は、ボス攻撃時にダメージに応じて獲得できる功績のことで、攻撃後の画面で表示される功績の2つの値の合計値です。ボス討伐時に貰える各種功績とは異なるものです。
以下の画像の場合、941+778で総功績は1,719ですね。
(この2つの数字も解析済ですが、あまり意味がないですし今回は合計の総功績に絞って説明します。)
それでは、ダメージ計算と同様に計算式を分割して、順に解説していきます。
①’基本攻撃力=(メインデッキ隊士攻撃値+サブデッキ隊士攻撃値×0.6+召喚デッキ3体攻撃値×0.6)×ランダム係数
②’弱点攻撃力=(メイン弱点隊士攻撃値+サブ弱点隊士攻撃値×0.6+召喚デッキ3体弱点隊士攻撃値×0.6)
③’総攻撃力=(①’基本攻撃力+②’弱点攻撃力)÷10+追加ダメージ
④’ダメージUP効果係数=称号UP効果×称号係数+有利隊士UP効果×有利隊士係数+フィーバーUP効果×フィーバー係数
⑤’総功績=√(③’総攻撃力)×功績基礎係数×(100%+④’ダメージUP効果係数)×(100%+功績UP効果)×攻撃種別係数×ボス種別係数
※最後に端数切捨て
【①’基本攻撃力】
=(メインデッキ隊士攻撃値+サブデッキ隊士攻撃値×0.6+召喚デッキ3体攻撃値×0.6)×ランダム係数
まず基本攻撃力ですが、ダメージ計算の時と同じと思いきや、功績計算の場合、なぜか召喚デッキが×0.6倍となります。
なぜ功績の時だけ×0.6倍となるのか、謎です。
ランダム係数は、ひとまずダメージ計算と同じ係数としていますが、これが若干怪しい数字なのは前回説明した通りです。
ランダム係数(暫定)
| (1) | (2) | (3) | (4) | (5) | (6) |
|---|---|---|---|---|---|
| 0.97 | 0.98 | 0.99 | 1.00 | 1.01 | 1.02 |
【②’弱点攻撃力】
=(メイン弱点隊士攻撃値+サブ弱点隊士攻撃値×0.6+召喚デッキ3体弱点隊士攻撃値×0.6)
弱点攻撃力も、基本攻撃力と同様に召喚デッキ攻撃値が×0.6倍となります。
以前に、サブデッキと召喚デッキの弱点隊士はどちらに強い方を配置すべきかと考えたことがあり、一撃獲得功績の最高値を狙うのであれば召喚デッキに強い方を置く方が良いかなと思っていたのですが、結果的には、どちらに置いても功績計算上は同じということになります。
【③’総攻撃力】
=(①’基本攻撃力+②’弱点攻撃力)÷10+追加ダメージ
ここは、ダメージ計算と変わりません。
【④’ダメージUP効果係数】
=称号UP効果×称号係数+有利隊士UP効果×有利隊士係数+フィーバーUP効果×フィーバー係数
ここで、謎の係数が登場します。
ダメージ計算では、3つのUP効果は単純に合計するだけでしたが、功績計算の場合、それぞれに補正係数が掛かります。
私が調べた範囲での係数の値は以下の通りです。
ダメージUP効果係数(暫定)
| 称号係数 | 有利隊士 係数 |
フィーバー 係数 |
|---|---|---|
| 0.481 | 0.171 | 0.435 |
有利隊士効果は重課金者なら1000%超までいくはずで、他の2つの効果とは桁が違うので、こうした補正係数を入れる意図はまだ何となく分かるのですが、なぜこのような中途半端な値なのかは謎です。
【⑤’総功績】
=√(③’総攻撃力)×功績基礎係数×(100%+④’ダメージUP効果係数)×(100%+功績UP効果)×攻撃種別係数×ボス種別係数
最終的な総功績の計算ですが、まず③’で求めた総攻撃力の2乗根(√)を取ります。
功績はダメージの上昇に単純比例していないことから、当初から指数関数か対数関数あたりが絡むかなと思っていましたが、指数関数でしたね(2乗根は1/2乗と同じです)。これはまあ分かります。
つづいて、功績基礎係数を乗じます。この値はいまのところ1.099が良い近似となっています。なぜこの係数が必要なのか、またキリ良く1.1でないのか、これも謎です。
功績基礎係数(暫定)
| 功績基礎係数 |
|---|
| 1.099 |
さらに、④’で求めたダメージUP効果係数を乗じた後に、功績UP効果を乗じます。
功績UP効果は、参加人数による獲得功績のボーナスで、20人参加で+30%が最大となります(係数としては1.3が最大ということになります)。
あとは攻撃種別係数ですが、こちらも以下の通り、ダメージ計算の時とは微妙に値が異なります。なぜ異なるのかは、またしても謎です。
攻撃種別係数
| 攻撃種別 | 功績計算時 | (参考) ダメージ計算時 |
||
|---|---|---|---|---|
| 通常 | 会心の 一撃 |
通常 | 会心の 一撃 |
|
| 攻撃 | 1倍 | 5倍 | 1倍 | 5倍 |
| 全力攻撃 | 5倍 | 14倍 | 6倍 | 15倍 |
| 超全力攻撃 | 10倍 | 15倍 | 15倍 | 20倍 |
最後のボス種別係数は、小ボスなら×1、大ボス以上なら×2と単純です。
これで終わりと思いきや、端数処理にも差があります。
ダメージ計算時は攻撃種別係数を掛ける前に端数切捨てされているようで、例えば全力攻撃であればダメージは必ず5の倍数になります。
ところが功績は、全力攻撃でも5の倍数になりません。全ての係数を乗じたあとに端数切捨てされているような感じです。
なぜこんな些細なところも違うのか、最後まで謎です。
というわけで、功績計算の説明は以上です。
こんな謎だらけで解析として成り立っているのかという疑問も生じますが、(私が調べた範囲では)通常攻撃で10以内程度の誤差に留まっており、意外と近似式としては機能しているようです。
計算の考え方としては概ね正しいのではないかと思います。
さて、せっかくマニアックに解析したダメージ計算と功績計算、これを実際のプレイに活かせないものか。
その辺りを次回で。
