hkuno9000 / KanColle-YPS

艦これ余所見プレイ支援 Google Chrome拡張
https://hkuno9000.github.io/KanColle-YPS
17 stars 5 forks source link

制空値計算の実装 #91

Closed hkuno9000 closed 6 years ago

hkuno9000 commented 7 years ago

制空値計算式

http://wikiwiki.jp/kancolle/?%B9%D2%B6%F5%C0%EF#AirSupremacy

制空値 = [(艦載機の対空値) × √(搭載数) + 熟練度補正] の総計 ([]は端数切り捨て) 例えば、24と12機のスロットに烈風(練度0)を搭載した場合の制空値は [10√24] + [10√12] = 48 + 34 = 82 となる。 熟練度補正は練度MAX(>>)で艦戦/水戦は+25、水爆は+9、艦攻/艦爆は+3。数値の詳細については艦載機熟練度を参照。 その他、装備改修でも制空値が上昇する。詳細については改修工廠を参照。

熟練度上昇時の効果

http://wikiwiki.jp/kancolle/?%B4%CF%BA%DC%B5%A1%BD%CF%CE%FD%C5%D9#Effect

艦上戦闘機(艦戦)、水上戦闘機(水戦)、陸軍戦闘機(陸戦)、局地戦闘機(局戦) 制空値上昇。艦戦、局戦の場合、練度MAXならそのスロットの制空値に+25される(正確には22+√10)。*4 艦上攻撃機(艦攻)、艦上爆撃機(艦爆)、噴式戦闘爆撃機(噴式機)、水上爆撃機(水爆)、大型飛行艇(二式大艇等) 航空戦での制空値上昇(艦攻、艦爆、噴式機は練度MAXで+3(正確には√10)前後、水爆は+9(正確には6+√10)前後。元々の対空値が0でも増加する)。

→練度MAX以下についての計算式が不明

艦載機の改修効果

http://wikiwiki.jp/kancolle/?%B2%FE%BD%A4%B9%A9%BE%B3#ic9d577c

要検証事項多数 制空値計算において、艦戦、水戦は★×0.2、爆戦★×0.25分が対空値に加算される。このとき制空値は以下の式で表される。 制空値 = [(対空値 + 装備別補正値 × ★改修値) × √(搭載数) + 熟練度補正] ※[]内は端数切捨て(ガウス記号)。 ※装備別補正値:艦戦、水戦は0.2、爆戦は0.25。 ★maxで艦戦、水戦は対空+2、爆戦は対空+2.5相当。 水爆は改修しても制空値は上昇しない。

hkuno9000 commented 6 years ago

制空値計算対応完了 https://github.com/hkuno9000/KanColle-YPS/compare/v1.6.3...v1.6.4

https://gist.github.com/YSRKEN/4cdecc6e8a1c2c75b13b08126c94f4cf の制空値計算式を採用する.
http://kancollecalc.web.fc2.com/air_supremacy.html の計算結果に合うように計算式を修正する.
seiku ::= floor((P + Ga * lv + 1.5 * In) * sqrt(n) + sqrt(v/10) + Vc)
lv ::= 改修レベル:0-10
alv::= 熟練度:0-7
n  ::= 搭載機数.
P  ::= 装備対空値. api_tyku
In ::= 装備迎撃値. 局地戦闘機:api_houk, その他:0
Ga ::= 改修レベル係数. 艦上戦闘機&水上戦闘機:0.2, 艦上爆撃機:0.25, その他:0
v  ::= 内部熟練度:0-120 alv値から表引きで決定する.
Vc ::= 熟練度ボーナス. 艦上戦闘機&水上戦闘機:0-22, 水上爆撃機:0-6, その他:0  alv値から表引き