割と最近実装された仕様。何か検証するときに役立つかもしれない。フランス駆逐で抗堪を取ると被ダメージが増えたバグの元凶(現在は修正済み)
概要
艦艇の最大HP変更(抗堪、軍拡のバフ等)は、各区画のHPおよび最大HPを同時に変化させる。
恐らく、軍拡競争などで区画飽和が異常に強くなることを防ぐための仕様。
区画HPの計算
対象となる区画
影響を受けるのはモジュールでない区画のみ。GameParamsで言うとHitLocation.hlTypeが以下に該当するもの
hlType | 具体例 |
simple_hitlocation | 艦首, 艦尾, 船体(砲殻), 補助区画 |
citadel_hitlocation | バイタル |
casemate_hitlocation | ケースメイト(駆逐艦の中央部等) |
hull_hitlocation | 艦全体 |
supersctructure_hitlocation | 上部構造物 |
パラメータ
アンダーバー以降の単語は説明のために追加したもの。値を検索するときは無視すること。
currentHP
を除く全パラメーターはGameParams内に存在する
health_base
: デフォルトの艦艇最大HPhealth
: スキルやアップグレードにより変化した後の艦艇の最大HPhealthHullCoeff
: 軍拡のバフなどで得られる、艦艇の最大HPに対する係数maxHP_base
: デフォルトの区画最大HPmaxHP
: 変化後の区画最大HPcurrentHP
: 現在の区画HP
最大区画HP(maxHP)
の計算式
ceil(maxHP_base * healthHullCoeff * (health / health_base) / 50) * 50
簡単に言うと、HPの増加割合とおよそ同じだけ区画最大HPを増加させる。
問題にはならないものの、ceil(切り上げ)を使っているため区画HPは本来より若干多く配分される。
区画HP(currentHP)
の計算式
min(currentHP * max((maxHP / maxHP_base), 1.0), maxHP)
最大区画HPの増加に応じて現在の区画HPも増加する。現在値が最大区画HPを超えた場合はキャップが入るものの、基本的に減少することはない。(min、max関数部分が該当)