Build Analyzer: Add humanoid form ink recovery

This commit is contained in:
Kalle
2022-12-23 18:17:25 +02:00
parent 59d242980a
commit ffe8ab3883
4 changed files with 28 additions and 0 deletions

View File

@@ -201,6 +201,7 @@ export interface AnalyzedBuild {
fullInkTankOptions: Array<FullInkTankOption & { id: string }>;
damages: Array<Damage & { id: string }>;
squidFormInkRecoverySeconds: Stat;
humanoidFormInkRecoverySeconds: Stat;
runSpeed: Stat;
shootingRunSpeed?: Stat;
shootingRunSpeedCharging?: Stat;

View File

@@ -87,6 +87,7 @@ export function buildStats({
subWeaponInkConsumptionPercentage:
subWeaponInkConsumptionPercentage(input),
squidFormInkRecoverySeconds: squidFormInkRecoverySeconds(input),
humanoidFormInkRecoverySeconds: humanoidFormInkRecoverySeconds(input),
runSpeed: runSpeed(input),
shootingRunSpeed: shootingRunSpeed(input, "MoveSpeed"),
shootingRunSpeedCharging: shootingRunSpeed(input, "MoveSpeed_Charge"),
@@ -456,6 +457,26 @@ function squidFormInkRecoverySeconds(
};
}
function humanoidFormInkRecoverySeconds(
args: StatFunctionInput
): AnalyzedBuild["stats"]["humanoidFormInkRecoverySeconds"] {
const HUMANOID_FORM_INK_RECOVERY_SECONDS_ABILITY = "IRU";
const { baseEffect, effect } = abilityPointsToEffects({
abilityPoints: apFromMap({
abilityPoints: args.abilityPoints,
ability: HUMANOID_FORM_INK_RECOVERY_SECONDS_ABILITY,
}),
key: "InkRecoverFrm_Std",
weapon: args.mainWeaponParams,
});
return {
baseValue: framesToSeconds(baseEffect * inkTankSize(args.weaponSplId)),
value: framesToSeconds(effect * inkTankSize(args.weaponSplId)),
modifiedBy: HUMANOID_FORM_INK_RECOVERY_SECONDS_ABILITY,
};
}
function runSpeed(args: StatFunctionInput): AnalyzedBuild["stats"]["runSpeed"] {
const key =
args.mainWeaponParams.WeaponSpeedType === "Fast"

View File

@@ -593,6 +593,11 @@ export default function BuildAnalyzerPage() {
title={t("analyzer:stat.squidFormInkRecoverySeconds")}
suffix={t("analyzer:suffix.seconds")}
/>
<StatCard
stat={analyzed.stats.humanoidFormInkRecoverySeconds}
title={t("analyzer:stat.humanoidFormInkRecoverySeconds")}
suffix={t("analyzer:suffix.seconds")}
/>
<StatCard
stat={analyzed.stats.quickRespawnTime}
title={t("analyzer:stat.quickRespawnTime")}

View File

@@ -21,6 +21,7 @@
"stat.whiteInk": "No ink recovery time after usage",
"stat.subWeaponInkConsumptionPercentage": "Ink tank consumption",
"stat.squidFormInkRecoverySeconds": "Ink tank full recovery time (squid form)",
"stat.humanoidFormInkRecoverySeconds": "Ink tank full recovery time (humanoid form)",
"stat.quickRespawnTime": "Quick respawn time",
"stat.quickRespawnTimeSplattedByRP": "Quick Respawn time (splatted by RP user)",
"stat.superJumpTimeGround": "Super jump vulnerable frames",