MotocalDevelopers / motocal

元カレ計算機(グラブル攻撃力計算機)
MIT License
88 stars 77 forks source link

新エピック武器スキル (pre-research for new epic weapon skills) #326

Closed kei-gbf closed 4 years ago

kei-gbf commented 4 years ago

新エピックウェポンのスキルの先行調査です

スキル実装の為に必要になりそうな関数のみ実装してみました https://codepen.io/anon/pen/oKGKyB?editors=0011

その上で、見つかった課題は以下の通り。

課題1: エピック武器の識別方法

提案: series: "epic" 項目の導入

課題2: 全ての武器が異なる時の判別基準


This is early pre-research topic, summer 2019 stream announced new epic weapons update. (not sure the schedule when update)

NOTICE: "soul equality" same condition with kaimu, but "hiroic tale" text seem more strict "weapon type (armType)".

Of course, we does not know details they are not implemented yet. it's just pre-research, guessed from the skill's text. we should wait verification details, I just think this snippet can be the start base code.

I've tried to implement functions which may be used in those new skill https://codepen.io/anon/pen/oKGKyB?editors=0011 (everyone can fork/edit without login, feel free to modify/feedback)

then found issues following:


How to detect Epic Weapon

EDIT category -> series EDIT update English skill names

suggestion:

Definition of the unique

Kaimu has similar or same support ability, that can be hints to guess the condition but not sure the same logic is used or not. This is for check points for verification.

Implementation Issues for Motocal


TODO: Add source information link, any site made the summary? or wait official announce.

kagekiyo7 commented 4 years ago

武器種の取得方法としては、txtに記載されているのでそこからできそうですね。武器テンプレートのフィルター機能にも使えそう。 |&attachref(img/1040307100.png,15%);|ヘルマニビス|&color(#800080){闇};|斧|60|[[死罪の計量>武器奥義#shizainokeiryou]]|[[憎悪の神威>スキル一覧#zouonokamui]]|[[イクシード・ダーク>スキル一覧#limitbreakdark]]|25|415|174|2463|アヌビス討伐戦|ハイグレード武器||

同一武器を複数の項目に入れた場合の判別方法

簡単な方法としては、判別するときに名前から「Lv.X」「SLv.X」「+X」の部分を取り除くとかですかね?(そのような名前の武器がないか検査が必要)

そして、現状レベル・スキル・プラスは武器選択時に適応されてしまいますが、それらを武器のパラメータとして与えるように仕様変更するのが理想的な形かなと(後から変更する際にも便利) パラメータ化して表示の際だけ「武器名+Lv+Slv+プラス」の形にできれば機能的にも今と変わらなそうです。

kei-gbf commented 4 years ago

:+1:

現状レベル・スキル・プラスは武器選択時に適応されてしまいますが、それらを武器のパラメータとして与えるように仕様変更するのが理想的な形かなと(後から変更する際にも便利) パラメータ化して表示の際だけ「武器名+Lv+Slv+プラス」の形にできれば機能的にも今と変わらなそうです。

凸状況や属性変え等、他の要因については要検証として、 後方互換で問題なければ、プラス等をパラメーター化する方式がベストですね。 (新エピック武器の)アップデートとは別で、独立して実装してもよさそうです。


エピック武器の識別方法に関しては、 新規データに関しては独自のフィールドを持てる為、問題ないのですが、

課題は、過去のセーブデータにどう対応するか。 現状、終末武器で行ったような名前でチェックしか案がありません。

kei-gbf commented 4 years ago

I got the first drop, skill2 was on 4★ キャプチャ

kagekiyo7 commented 4 years ago

ソール・イコーリティ(闇)

『支配の天秤4凸性能検証』※アヌビス杖 ◆スキル2 「装備している武器が全て異なる時」 ・EX攻刃20%UP(EX攻刃枠加算) ・ダメージ上限10%UP

※スキル1.2共に神石/マグナ石の加護対象外

https://twitter.com/Granblue_GW/status/1158739721482199040 https://xn--bck3aza1a2if6kra4ee0hf.gamewith.jp/article/show/161169

ダメージ上限枠

枠はアンダリスや白虎拳邪と同じである模様。

https://twitter.com/condatedjn/status/1159513194450132992

追記:ダメージ上限枠について


レゾナンス・スタッフ (水)

雑に杖1本あたりDA2%、TA1%ってとこかなぁ?うーんしょぼい

https://twitter.com/desuko008/status/1158815266295312385

1本につきDATA0.6%

https://twitter.com/TNYuKkuri/status/1159775671423361025

kei-gbf commented 4 years ago

ダメージ上限の枠はどうなのか

各枠のリストアップ

Motocal の現在の実装

// Damage limit UP = Overall buff + Personal buff + skill
var damageLimit = buff["damageLimit"];
damageLimit += totals[key]["damageLimitBuff"];
damageLimit += Math.min(0.20, totals[key]["normalDamageLimit"]);
damageLimit += 0.01 * totalSummon["damageLimit"];
if (totals[key]["EXLB"]["WED"]) {
    damageLimit += 0.05;
}

場合によっては #196 で保留になってた、オメガ通常上限と麒麟弓や四象邪枠の 枠上限の判別にも使えそうですね。

kagekiyo7 commented 4 years ago

スパルタの基礎連撃率 MB, LB の関与

DA7%TA3%ですね、それを考慮するとDA11.4%、TA6.6%でDA2%TA1% ですが、MBLBはどうなっているのかわからないので他に検証データがなかったときの暫定値にしましょう。


エピックブランド・ゲイン (火風光)

エピックブランド・ゲイン:装備している「エピックウェポン」の数が多いほど攻撃UP(1本につきEX枠4%、最大40%) ※このスキル効果が複数重複して発揮されるかは未確認

http://gbf-verification.blog.jp/archives/20260847.html

スキル3つ重複の際

エピックブランド・ゲインの効果量上限は80%かも

https://twitter.com/mo_gati/status/1159282894122053632

kei-gbf commented 4 years ago

3本目で効果は微増するけど上限に引っかかるような配分が多そうですよね。


レゾナンス・スタッフ 第2スキル 要検証項目

例) DA2% と仮定し、1本 杖x10本で 計20% とした場合

Motocal の現在の実装 DAのみ抜粋

var normalNite = totals[key]["normalNite"] * totalSummon["zeus"];
var magnaNite = totals[key]["magnaNite"] * totalSummon["magna"];
var normalSante = totals[key]["normalSante"] * totalSummon["zeus"] + totals[key]["normalOtherSante"];
var magnaSante = totals[key]["magnaSante"] * totalSummon["magna"];
var exNite = Math.min(LIMIT.exDA, totals[key]["exNite"]);

var armDAupNormal = Math.min(LIMIT.normalDA, normalNite + normalSante);
var armDAupMagna = Math.min(LIMIT.magnaDA, magnaNite + magnaSante);
var armDAupBaha = Math.min(LIMIT.bahaDA, totals[key]["bahaDA"]);
var armDAupCosmos = Math.min(LIMIT.cosmosDA, totals[key]["cosmosBL"]);
var armDAupOther = Math.min(LIMIT.otherDA, totals[key]["DAOther"]); // 99999 for no limit

// unknown never reaches 50% of the current situation
var totalDA = 0.01 * totals[key]["baseDA"];
totalDA += 0.01 * totals[key]["LB"]["DA"];
totalDA += 0.01 * totals[key]["EXLB"]["DA"];
totalDA += buff["da"];
totalDA += totals[key]["DASupport"];
totalDA += totals[key]["DABuff"];
totalDA += totalSummon["da"];
totalDA += 0.01 * (armDAupNormal + armDAupMagna + exNite + armDAupBaha + armDAupCosmos + armDAupOther);
if (key == "Djeeta") {
    totalDA += buff["masterDA"];
    totalDA += buff["zenithDA"];
 }

他、

kagekiyo7 commented 4 years ago

確認項目: オメガ武器の連撃率upスキル は Motocal では未実装?

normalOtherSanteに加算されています。(加護が掛からない、DA,TA両方に適応)

                                } else if (omegaType === "tousou") {
                                    totals[key]["normalOtherSante"] += skillAmounts["omega"][amount][slv - 1];

どの枠に加算されるのか / which DA/TA field get the amount

既存のnormalOtherLesserSante(加護が掛からない、TAのみ適応)、 normalOtherNite(初期化だけ設定してある)に追加するといいと思います。


上のソール・イコーリティ、上限枠追記しました。

kei-gbf commented 4 years ago

どの枠に加算されるのか / which DA/TA field get the amount

既存のnormalOtherLesserSante(加護が掛からない、TAのみ適応)、 normalOtherNite(初期化だけ設定してある)に追加するといいと思います。

最終的に加算される枠は、上限を共有する枠になると思いますが、 (方陣枠, 通常枠でそれぞれ50%上限があったはずなので、枠検証は必要)

懸念があるのは、スキル効果の集計は 全員対象になる事から、キャラ個別の枠ではなくパーティ全体枠で集計可能になるんですよね。 1~6キャラ分を個別に計算 → 最適化すると1回の集計で済む。(効果量計算は個別)

また、効果量がスタックする場合、 聖域の錫杖 数量2 ではなく、2本別々に武器エントリーが作られた場合(例えば slv 違いなど) スキル量集計のタイミングでは効果量を決定できず、キャラのダメージ個別に計算する時になる 辺りが現在の課題。

取り急ぎ、スキル量表示の問題もあるので、集計はジータちゃんの時にのみ行い、 集計後に纏めて適応するように、仮実装しました。#328

kei-gbf commented 4 years ago

game update, bug fix on resonance staff skill

staff-update

kei-gbf commented 4 years ago

スキル3つ重複の際 エピックブランド・ゲインの効果量上限は80%かも https://twitter.com/mo_gati/status/1159282894122053632

the formula exactly matched, looks trust verification

epic 9 and 6 had same multiply thus the limitation is 1.8 (80%)

追記: 英雄王の戦斧や支配の天秤を同時に編成する場合、 EX枠上限80% に、ヒロイック・テイルや支配の天秤の加算分は含まれるか。

let ex = 0;
if (numGrandEpic > 0) {
    ex = numGrandEpic * countEpic * 4.0; // Limit 80% here ? (current implementation)
}
if (isAllUniqueArm) {
    ex += 20.0;
}
if (isAllUniqueArmType) {
    ex += 20.0;
}
chara["ex"] += ex; // or Limit 80% here? (require validation)

Resonance Staff

DA確率に関して疑問

Check list for the DA/TA verification

kagekiyo7 commented 4 years ago

スキル効果の集計

そこら辺の計算時の工程の流れは全くわからないのでおまかせします・・・。

25/150 ... DA: 約16.6% ... 母数からTAを引く必要は?

正しくは 実際DA: (100-9.3-3.0)%×(16.6-10)% = 5.7882% ですかね?(TAが出ない確率xDA率) http://polnta.hatenablog.com/entry/2018/01/12/222040 https://kamigame.jp/%E3%82%B0%E3%83%A9%E3%83%96%E3%83%AB/%E3%82%B2%E3%83%BC%E3%83%A0%E7%9F%A5%E8%AD%98/%E3%82%B9%E3%82%AD%E3%83%AB-%E9%80%A3%E6%92%83.html

いずれにせよ約6%(1本辺り0.6%)なので問題はないかと。

kagekiyo7 commented 4 years ago

いや、keiさんの求め方で合っている?

DA率=DA回数/(攻撃回数-TA回数)

https://twitter.com/konmatsuge/status/868322459929288704

18.4なら8.4/10で0.8?

kei-gbf commented 4 years ago

自分の認識では TAが出なかった確率(100-9.3%) x DA率18.38% (25/(150-14)回) = 16.66% (25/150回) 実際にDAが出た割合 スキル計算で使われるのは、DA率=DA回数/(攻撃回数-TA回数) になるはず。

kagekiyo7 commented 4 years ago

新しい検証が出ました。オメガと同じnormalOtherSanteにしたらよさそうですね

DA1%/TA1%×杖本数(通常枠加算/上限50%)

https://twitter.com/Granblue_GW/status/1159979516799795200

kagekiyo7 commented 4 years ago

第2スキルは1本目しか発動しないようです。

Q.カーオン杖2本で連撃UPの加算量は倍になる? A.第2スキルは共存せず加算量は据え置き!

https://twitter.com/Granblue_GW/status/1160197206059565057

kei-gbf commented 4 years ago

ソール・イコーリティ スキル条件の確認 Confirmation for Absolute Equality skill conditions

all-unique

ceil(ceil(53198/10)1.2) = 6384 ... EX20% (1.2) is enabled, they are all unique in the grid

kei-gbf commented 4 years ago

epic2


This is not new epic weapon. it's related we had the topic before. I don't know the info source.

kei-gbf commented 4 years ago

EXの上限別枠を確認 Confirmed Heroic Tale/Absolute Equality EX stack on Epic Grand limit 80%

ex80

ceil(ceil(47698/10)*1.96) = 9350

96% := (Heroic Tale EX20% + Absolute Equality EX20% + Ex56% is Epic Grand x2 (8%) x 7 weapons)

I will try later when got Chains of Caucasus lv120

kei-gbf commented 4 years ago

ex120

ceil(ceil(ceil(65600 / 10) 2.2) 1.10005) = 15878

kei-gbf commented 4 years ago

Implemented #328