mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-09-11 21:56:11 -05:00
Build Analyzer: Add humanoid form ink recovery
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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")}
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user