今回は劉備のMRアバターで発生している不具合のうち、ダメージが異常に大きくなる不具合について考察しました。
今回考察する不具合
MRアバターの劉備を陣営に入れた状態で戦闘中、ダメージの計算に異常が発生するという不具合が公式から発表されています。
公式からのお知らせ(Discord)
https://discord.com/channels/981122679279079484/989792643083042836/1055804446732468335
公式からは具体的な理由などの発表はありませんが、小生なりに不具合が発生する原因を突き止めたので紹介させていただきます。
なお、あくまでも小生の推測の域を出ないものであることをあらかじめご承知おきのほどお願いします。
もしこの記事が運営さんの目に留まり、バグ解消の助けになればなぁという気持ちで記事を作成します。
不具合が発生する原因
早速、小生が考える不具合の原因を紹介します。
不具合の原因は、
- 劉備のスキル1で鼓舞を付与する時の挙動が変わった
- 同じスキルの中で、劉備に鼓舞が付与されてから味方に鼓舞を付与する場合がある
の2つだと考えています。
劉備のスキル1で鼓舞を付与する時の挙動が変わった
これは断定できないですが非常に可能性が高く、そして不具合が発生する根本原因だと思われます。
レアリティによるスキル1の違い
スキル1の「味方6名に鼓舞を付与する」という部分はUR閃まででもMRでも共通となっています。
ですが、UR閃までは鼓舞を付与するだけなのに対して、MRの場合は味方6名に対して鼓舞だけでなく力拒も付与されるようになりました。
一見関係なさそうな強化ですが、これがどのように影響を与えるのでしょうか。
スキル挙動の確認
まずはUR閃でのスキル挙動を確認します。
今回注目してほしいのは、戦闘のログメッセージです。
劉備がスキルを使用したとき、「恋の菓子(UR閃のスキル1)を使った」というメッセージが1行だけ表示されます。
まぁ、1回スキルを使っただけなので当然のように思えます。
ですが、これは処理によってログの出方が違っています。
例えば主将(武将)が味方3名に奮起を付与する「鉄壁の号令」の場合、使用したログは1行ではなく3行表示されます。
趙公明が祝福を付与する場合には、(画面では見切れていますが)6行表示されます。
このように複数行にわたってログが表示されるスキルの場合、裏では1行ずつ処理が行われています。
つまり、劉備(UR閃)のスキル1では6名に対して1つの処理で同時に鼓舞を付与するのに対して、主将(武将)や趙公明の場合は1名ずつ順番に付与していきます。
1名ずつ付与する挙動だとどうなるかというと、同じスキルの中で自分に付与した効果が影響する場合が出てきます。
趙公明の場合を例にすると、6名に対して順番に祝福を付与する途中で自分に祝福がつくと、残りの味方に対する回復が祝福によって強化されます。
趙公明のスキル1は残りHP割合が低い味方6名が対象となるため、処理は残りHP%が低い味方から順に行われます。
全員の残りHPが同じ(100%)だった場合、上から順に処理されます。
この場合では主将と趙公明での処理だと祝福なしの回復量、それ以降は祝福ありの回復量となっています。
劉備MRアバターでのスキル1の挙動
では、劉備がMRアバターの場合のスキル1はどうでしょうか。
ログを確認してみると、スキル1が発動したときのログが表示されていません。
これについてはただの不具合である可能性も否定できませんが、ここで一つの仮説が立てられます。
それは、ログが表示されていない裏でスキル1の挙動が変更された可能性です。
ログが表示されていないので確認することができないのですが、実はこの仮説が正しいとすると今回の不具合について説明することができます。
ではこの仮説が正しい場合、どういった状況になるのでしょうか。
正解は、「劉備が自身に鼓舞を付与した状態で味方に鼓舞を付与していく」でした。
同じスキルの中で、劉備に鼓舞が付与されてから味方に鼓舞を付与する場合がある
劉備(MRアバター)が鼓舞を付与する対象は味方6名で、残りHP%の高低などは関係なくランダムで選択されます。
まぁ普段は味方が6名以下なので、順番などは関係なく味方全員という解釈になります。
ですが、もし鼓舞を1名ずつ順番に付与していく挙動だとすると話は違ってきます。
他の味方に対して鼓舞を付与してから劉備自身に鼓舞を付与する場合はいつもと変わりませんが、
先に劉備自身に鼓舞を付与してから他の味方に鼓舞を付与した場合、状況が変わってきてしまいます。
劉備に鼓舞が付与された状態で味方に鼓舞を付与するので、鼓舞の性能が普段よりも高くなってしまうのです。
鼓舞ループという戦術をご存じの方は多いかと思います。
劉備に付与された鼓舞を延長することで、劉備が鼓舞状態のままスキル1を使って味方に鼓舞を付与する戦術です。
今回のバグでは、それと同じことが起きてしまうのです。
不具合の影響を実際に確認
それでは実際に不具合の影響を確認していきましょう。
その時の影響具合を、上で仮定した不具合原因で説明できるかも同時に確認します。
劉備にバフが付与されていない状態で確認
まずは劉備にバフが付与されていない状態での影響を確認してみます。
パーティを主将と劉備、そして姜維の3名にしています。
姜維を選んだのはスキル1で攻撃力ダメージだけを敵に与えるからで、攻撃力の変化を確認しやすいからです。
姜維の攻撃力は最大と最小を揃えていますので、姜維自身にダメージがブレる要因はありません。
スキル1のダメージ倍率は攻撃力の120%分で、与えるダメージはおよそ10万となっています。
この状態で劉備の鼓舞を付与してみましょう。
鼓舞が付与されると、ダメージが大きくブレるようになりました。
いずれにしても元の10万というダメージは誤差程度になりました。
ここで何度もダメージを確認すると、発生するダメージは300万前後と450万前後の大きく2つに分けられました。
出現割合はだいたい半々といったような感覚でした。
本来の鼓舞によるダメージを計算
遅れましたが劉備のステータスを確認しておきます。
最大攻撃力はおよそ500万、筋力値はおよそ264,000です。
この状態だと劉備が付与する鼓舞の性能は、
- メインステータス:264,000×32%=84,480
- 攻撃力:5,000,000×48%=2,400,000
- メインステータス上昇による攻撃力上昇:最小攻撃力42,240、最大攻撃力84,480
となります。
所々計算を簡略化するために数値が丸められている部分がありますのでご了承ください。
鼓舞(聖護)の場合はメインステータスも上昇しますので、それによっても攻撃力が上昇します。
そのため姜維の最大攻撃力と最小攻撃力を揃えていても、鼓舞が付与された状態だとダメージがブレるようになります。
今回の状況では姜維の攻撃力が鼓舞によって244万~248万上昇していますので、スキル1のダメージが292万~298万上昇します。
元のダメージが10万ほどでしたので、最終ダメージは300万ちょっとになります。
この計算結果は、ダメージが低い時の数値と一致しています。
不具合を想定したときのダメージを計算
次は不具合を想定したときのダメージを計算してみます。
小生が想定した不具合は、同じスキル1の中で劉備→姜維の順で鼓舞が付与されることにより、鼓舞状態になっている劉備が姜維に鼓舞を付与するというものでした。
まずは劉備が自身に鼓舞を付与したときの最大攻撃力を計算します。
- メインステータス:264,000+84,480=348,480
- 最大攻撃力:500万+248万=748万
この状態になった劉備が姜維に付与する鼓舞の性能を確認してみます。
- メインステータス:348,480×32%=111,513
- 攻撃力:748万×48%=359万
- メインステータス上昇による攻撃力上昇:最小攻撃力5.5万、最大攻撃力11万
この状態だと姜維の攻撃力は364.5万~370万、スキル1のダメージは437万~444万増加します。
元のダメージが10万だったことを考えると、この計算結果はダメージが多い時のものとおおむね一致しています。
これらの結果を確認する限り、不具合によるダメージのブレは劉備(MRアバター)のスキル1の挙動が変わったことにより、劉備が鼓舞状態で味方に鼓舞を付与することでダメージが大きくなる場合があるという仮説で説明できそうです。
劉備にバフが複数付与された状態で確認
それでは劉備に複数のバフが付与されている場合も確認します。
戦役最適解の陣営で戦役を周回している状況を想定したものとなります。
劉備の最大攻撃力は約524万、筋力値は約29万です。
上杉謙信の攻撃力は約108万で揃えています。
劉備に比べると、非常に低い状態となっています。
ちなみに筋力値はおよそ22万ですので、暴走(聖護)を考慮すれば戦役ステージ196の敵に対して筋力値で勝てるので安定してスキル2のダメージ倍が発動します。
この状態で戦役で上杉謙信が敵に与えるダメージを確認すると、バフやデバフの状況が同じでもダメージが24億前後と75億前後、2つの場合が確認できました。
24億の方は劉備の方が最大攻撃力が高いため敵のスキル2を受けて撃破されていますが、75億の方は上杉謙信のほうが攻撃力が高くなっているため劉備に敵のスキル2が向かっていません。
こちらでもバフが無い時と同じように、不具合が発生しなかった場合と発生した場合それぞれのダメージを計算してみましょう。
とはいっても姜維のときのように正確なダメージを計算できませんので、それぞれの攻撃力を計算してみましょう。
不具合が発生しなかった場合の攻撃力
まずは不具合が発生していない場合の上杉謙信の攻撃力を計算していきますが、先に劉備が付与する鼓舞の性能を計算します。
劉備が鼓舞を付与する時には畜力(×1.6)・暴走(×2)・祝福(×1.5)が付与された状態、
上杉謙信がスキル2を使用するタイミングでは鼓舞と畜力(×1.6)・暴走(×2)が付与された状態です。
- 鼓舞のメインステータス上昇量:29万×1.5(聖護暴走)×32%=約13.9万
- 鼓舞の攻撃力上昇量:(524万×1.6×2×1.5)×48%=約1207.3万
- 鼓舞のメインステータス上昇を含めた攻撃力上昇量:最小攻撃力1214万、最大攻撃力1221万
上杉謙信にはこの鼓舞の他に畜力と暴走が付与している状態ですので、この時の上杉謙信の攻撃力は
- 最小攻撃力:(108万+1,214万)×1.6×2=4,230万
- 最大攻撃力:(108万+1,221万)×1.6×2=4,253万
となります。
不具合が発生した場合の攻撃力
次は不具合が発生した場合を想定して攻撃力を計算してみましょう。
バフの状況は変わらず劉備が鼓舞を付与する時には畜力(×1.6)・暴走(×2)・祝福(×1.5)が付与された状態、
上杉謙信がスキル2を使用するタイミングでは鼓舞と畜力(×1.6)・暴走(×2)が付与された状態です。
まずは鼓舞が付与された状態の劉備の筋力値と最大攻撃力を計算します。
- 劉備の筋力値:(29万+13.9万)×1.5=64.35万
- 劉備の最大攻撃力:(524万+1,221万)×1.6×2×1.5=8,376万
この状態の劉備が上杉謙信に付与する鼓舞は、
- メインステータス上昇量:64.35万×32%=20.6万
- 攻撃力上昇量:8,376万×48%=4,020万
- メインステータス上昇を含めた攻撃力上昇量:最小攻撃力4,030万、最大攻撃力4,040万
この鼓舞と畜力・暴走が付与された状態の上杉謙信の攻撃力は、
- 最小攻撃力:(108万+4,030万)×1.6×2=13,241万
- 最大攻撃力:(108万+4,040万)×1.6×2=13,273万
という数値になりました。
不具合が発生していない時の攻撃力と比べると、およそ3.12倍になっています。
これは与えるダメージが不具合によって約24億から約75億にまで増加した時の倍率と一致しています。
計算結果
想定した不具合の原因を振り返ると、劉備がスキル1を発動中に自分に鼓舞を付与して、その状態で他の副将に鼓舞を付与する場合があるというものでした。
今回計算した結果と実際の状況を比較した限り、この想定は不具合をしっかり説明できているのものと思います。
まとめ
今回劉備のMRアバターに発生しているダメージに異常が発生する不具合は、スキル1の挙動変更によって劉備が鼓舞状態になってから味方に鼓舞を付与する場合があるからだと考えられます。
実際に発生している不具合の原因を直接確認することができないため推測が正しいかどうかも不明ですが、充分にあり得るものだと思います。
もし運営さんがこの記事を見られていたら、可能性の1つとして調査してみていただければ幸いです。
他の方にも今回発生した不具合や放置少女のシステムに対する理解を深める一助になればと思います。