From 8539205f711eedbc2b5fa4c42aa8b8f7edc545d0 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Sun, 18 Sep 2022 13:22:05 +0300 Subject: [PATCH] Bomb Heavy/Light damage --- app/modules/analyzer/stats.ts | 42 +++++++++++++++++++++++++++++++++ app/modules/analyzer/types.ts | 8 ++----- app/routes/analyzer.tsx | 10 ++++++++ public/locales/en/analyzer.json | 2 ++ 4 files changed, 56 insertions(+), 6 deletions(-) diff --git a/app/modules/analyzer/stats.ts b/app/modules/analyzer/stats.ts index 01035c895..7991070e0 100644 --- a/app/modules/analyzer/stats.ts +++ b/app/modules/analyzer/stats.ts @@ -94,6 +94,8 @@ export function buildStats({ subDefAngleShooterDamage: subDefAngleShooterDamage(input), subDefSplashWallDamagePercentage: subDefSplashWallDamagePercentage(input), subDefSprinklerDamagePercentage: subDefSprinklerDamagePercentage(input), + subDefBombDamageLightPercentage: subDefBombDamageLightPercentage(input), + subDefBombDamageHeavyPercentage: subDefBombDamageHeavyPercentage(input), ...subStats(input), }, }; @@ -843,3 +845,43 @@ function subDefSprinklerDamagePercentage( modifiedBy: SUB_DEF_SPRINKLER_DAMAGE_PERCENTAGE_KEY, }; } + +function subDefBombDamageLightPercentage( + args: StatFunctionInput +): AnalyzedBuild["stats"]["subDefBombDamageLightPercentage"] { + const SUB_DEF_BOMB_DAMAGE_LIGHT_PERCENTAGE_KEY = "SRU"; + const { baseEffect, effect } = abilityPointsToEffects({ + abilityPoints: apFromMap({ + abilityPoints: args.abilityPoints, + ability: SUB_DEF_BOMB_DAMAGE_LIGHT_PERCENTAGE_KEY, + }), + key: "DamageRt_BombL", + weapon: args.mainWeaponParams, + }); + + return { + baseValue: roundToTwoDecimalPlaces(baseEffect * 100), + value: roundToTwoDecimalPlaces(effect * 100), + modifiedBy: SUB_DEF_BOMB_DAMAGE_LIGHT_PERCENTAGE_KEY, + }; +} + +function subDefBombDamageHeavyPercentage( + args: StatFunctionInput +): AnalyzedBuild["stats"]["subDefBombDamageHeavyPercentage"] { + const SUB_DEF_BOMB_DAMAGE_HEAVY_PERCENTAGE_KEY = "SRU"; + const { baseEffect, effect } = abilityPointsToEffects({ + abilityPoints: apFromMap({ + abilityPoints: args.abilityPoints, + ability: SUB_DEF_BOMB_DAMAGE_HEAVY_PERCENTAGE_KEY, + }), + key: "DamageRt_BombH", + weapon: args.mainWeaponParams, + }); + + return { + baseValue: roundToTwoDecimalPlaces(baseEffect * 100), + value: roundToTwoDecimalPlaces(effect * 100), + modifiedBy: SUB_DEF_BOMB_DAMAGE_HEAVY_PERCENTAGE_KEY, + }; +} diff --git a/app/modules/analyzer/types.ts b/app/modules/analyzer/types.ts index 7b1001282..915655323 100644 --- a/app/modules/analyzer/types.ts +++ b/app/modules/analyzer/types.ts @@ -198,12 +198,8 @@ export interface AnalyzedBuild { subDefAngleShooterDamage: Stat; subDefSplashWallDamagePercentage: Stat; subDefSprinklerDamagePercentage: Stat; - // subDefBombDamageLight: Stat; - // subDefBombDamageHeavy: Stat; - // subDefAngleShooterDamage: Stat; - // subDefSplashWallDamage: Stat; - // subDefSprinklerDamage: Stat; - // subDefToxicMistMoveReduction: Stat; + subDefBombDamageLightPercentage: Stat; + subDefBombDamageHeavyPercentage: Stat; subVelocity?: Stat; subFirstPhaseDuration?: Stat; diff --git a/app/routes/analyzer.tsx b/app/routes/analyzer.tsx index cd42dcc98..9d6707b95 100644 --- a/app/routes/analyzer.tsx +++ b/app/routes/analyzer.tsx @@ -230,6 +230,16 @@ export default function BuildAnalyzerPage() { /> + +