光古戦場EX+にむけて、3Tで安定して倒せるのか検討してみたのを軽く纏めました。
計算にあたって、以下の条件を前提とします。
- PT:ウォーロック、水着ヘルエス、ジャンヌ、フェリ
- 敵の防御固有値は10、防御デバフは下限
- チェイサーとヒンリヒテンによる追加ダメージ
- ヒンリヒテン利用、3T目に水着ヘルエスの反骨を使用
また、以下の検証情報を利用しました。
#グラブル 騎空艇効果(○属性メンバーの攻撃力が■%アップ)と騎空団サポート(○属性攻撃力UP)はそれぞれ別枠で乗算される。 属性加護や弱点などと同じ枠にはなっていない。
— すしたろう (@firemagma) 2015年5月25日
すんどめ侍のグラブル生活。 – 【グラブル】ヘルエス(水着ver)検証結果
まず、攻撃力の計算ですが、属性炉10%+スタックボーナス30%をいれた、フローレン込みの編成で、攻撃力を計算します。結果が以下のようになりました。
この攻撃力を利用して、乱数によるブレ幅を考慮し、3Tの合計ダメージがいくつになるか求めてみます。今回は、久々にMATLABを触りたかったので、MATLABで実装。結果の描画が楽なのがよいです。
そして、結果がこちら。自分の編成だと、先ほどの前提条件では3T消化は厳しいことがわかります。撃破率は0%です。
というわけなので、前提条件を変更し、ジャンヌの攻バフもつかうことに。攻撃力を更新して、再度計算した結果は以下です。
- 攻撃力の更新
- ジータ:1287602 -> 1516170
- 水着ヘルエス:1016967 -> 1197494
- ジャンヌ:1009298 -> 1188463
- フェリ:1022730 -> 1204279
全てのケースにおいて、与ダメージが1580万を超えているため、これなら間違いなさそうです。実際に、‘防御下限までデバフが入った’ ケースでは、ATで安定して3Tで回せました。実際のところは、デバフが安定しなさすぎて、この想定条件が当てはまることは結構少ないんですけどね!
今回の見積もりはかなり簡単でした。ヒン・リヒテンによるTA確定があるため、DA/TAの計算をしなくて済みましたので。次は、DA/TA判定が重要な闇PTでのノーデバフでのダメージ検討あたりはしたいなーと。
一応、以下にMATLABのコードのっけときます。MATLAB持ってる人そんなに多くないと思うけど、GNU Octave あたりでも互換で動くはず!たぶん!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
N = 10000; %ply_atk = [1287602, 1016967, 1009298, 1022730]; % バフ無し:ジータ、水着ヘルエス、ジャンヌ、フェリ ply_atk = [1516170, 1197494, 1188463, 1204279]; % バフ有り:ジータ、水着ヘルエス、ジャンヌ、フェリ enm_debuf = 0.5; % 防御デバフ enm_def = 10; % 防御固有値 add_dmg = 1 + 0.6; % 追加ダメージ(累算): チェイサー+ヒンリヒテン dmg_list = zeros(N,1); done_cnt = 0; for i = 1:N dmg = 0; % 1 turn: TA確定 / 追加ダメージ / 乱数ブレ for j = 1:4 dmg = dmg + ply_atk(j)/(enm_def*enm_debuf) * 3 * add_dmg * round(rand*0.11 - 0.055 + 1, 2); end % 2 turn: TA確定 / 追加ダメージ / 乱数ブレ for j = 1:4 dmg = dmg + ply_atk(j)/(enm_def*enm_debuf) * 3 * add_dmg * round(rand*0.11 - 0.055 + 1, 2); end % 3 turn: TA確定 / 追加ダメージ / 乱数ブレ / 反骨 dmg = dmg + ply_atk(1)/(enm_def*enm_debuf) * 3 * add_dmg * round(rand*0.11 - 0.055 + 1, 2); dmg = dmg + ply_atk(2)/(enm_def*enm_debuf) * 3 * add_dmg * round(rand*0.11 - 0.055 + 1, 2) * 3.8; dmg = dmg + ply_atk(3)/(enm_def*enm_debuf) * 3 * add_dmg * round(rand*0.11 - 0.055 + 1, 2); dmg = dmg + ply_atk(4)/(enm_def*enm_debuf) * 3 * add_dmg * round(rand*0.11 - 0.055 + 1, 2); dmg_list(i) = dmg; if dmg > 15800000 done_cnt = done_cnt + 1; end end done_rate = done_cnt/N; fprintf('撃破率は %.2f %%です。\n', done_rate*100); hist(dmg_list, 100); title('総合ダメージ ヒストグラム'); grid on; |
最後に、ダメージの乱数ブレについて。Wikiのほうには、ダメージが 0.95 ~ 1.05 倍に、0.01刻みで変化すると書いてありましたが、それぞれの頻度については記述がありませんでした。上の計算では、乱数が一様分布であるという前提を取っています。
ですので、実際のダメージのブレとは異なる可能性がありますので、結果が必ずしも正しいとは言えないです。(ダメージブレが、1倍から離れるにしたがって頻度が低くなるとかだったら、実際の結果は異なります)