From ffe8ab3883c5b1472447afce208c350785ea00d9 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Fri, 23 Dec 2022 18:17:25 +0200 Subject: [PATCH] Build Analyzer: Add humanoid form ink recovery --- app/features/build-analyzer/analyzer-types.ts | 1 + app/features/build-analyzer/core/stats.ts | 21 +++++++++++++++++++ .../build-analyzer/routes/analyzer.tsx | 5 +++++ public/locales/en/analyzer.json | 1 + 4 files changed, 28 insertions(+) diff --git a/app/features/build-analyzer/analyzer-types.ts b/app/features/build-analyzer/analyzer-types.ts index bf3b6d80f..716cf367e 100644 --- a/app/features/build-analyzer/analyzer-types.ts +++ b/app/features/build-analyzer/analyzer-types.ts @@ -201,6 +201,7 @@ export interface AnalyzedBuild { fullInkTankOptions: Array; damages: Array; squidFormInkRecoverySeconds: Stat; + humanoidFormInkRecoverySeconds: Stat; runSpeed: Stat; shootingRunSpeed?: Stat; shootingRunSpeedCharging?: Stat; diff --git a/app/features/build-analyzer/core/stats.ts b/app/features/build-analyzer/core/stats.ts index 58823e2a4..53e83e02e 100644 --- a/app/features/build-analyzer/core/stats.ts +++ b/app/features/build-analyzer/core/stats.ts @@ -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" diff --git a/app/features/build-analyzer/routes/analyzer.tsx b/app/features/build-analyzer/routes/analyzer.tsx index ed77c861e..2fd5c17bf 100644 --- a/app/features/build-analyzer/routes/analyzer.tsx +++ b/app/features/build-analyzer/routes/analyzer.tsx @@ -593,6 +593,11 @@ export default function BuildAnalyzerPage() { title={t("analyzer:stat.squidFormInkRecoverySeconds")} suffix={t("analyzer:suffix.seconds")} /> +