From 112fc68a3e97e8dab95092ad03ec3bad6862c2f6 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Mon, 19 Jun 2023 17:46:36 +0300 Subject: [PATCH] Special damages: Kraken Royale --- app/features/build-analyzer/analyzer-constants.ts | 2 ++ app/features/build-analyzer/analyzer-types.ts | 1 + app/features/build-analyzer/core/stats.ts | 1 + app/features/build-analyzer/core/weapon-params.json | 4 +++- .../object-damage-calculator/calculator-constants.ts | 2 +- .../object-damage-calculator/calculator-hooks.ts | 1 + public/locales/en/analyzer.json | 1 + scripts/create-analyzer-json.ts | 11 ++++++++++- 8 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/features/build-analyzer/analyzer-constants.ts b/app/features/build-analyzer/analyzer-constants.ts index 75b749725..7ade25462 100644 --- a/app/features/build-analyzer/analyzer-constants.ts +++ b/app/features/build-analyzer/analyzer-constants.ts @@ -38,6 +38,7 @@ export const DAMAGE_TYPE = [ "SPECIAL_BULLET_MAX", "SPECIAL_BULLET_MIN", "SPECIAL_BUMP", + "SPECIAL_JUMP", ] as const; export const damageTypeToWeaponType: Record< @@ -78,6 +79,7 @@ export const damageTypeToWeaponType: Record< SPECIAL_BULLET_MAX: "SPECIAL", SPECIAL_CANNON: "SPECIAL", SPECIAL_BUMP: "SPECIAL", + SPECIAL_JUMP: "SPECIAL", }; export const multiShot: Partial> = { diff --git a/app/features/build-analyzer/analyzer-types.ts b/app/features/build-analyzer/analyzer-types.ts index 6f1887e10..674e30e33 100644 --- a/app/features/build-analyzer/analyzer-types.ts +++ b/app/features/build-analyzer/analyzer-types.ts @@ -134,6 +134,7 @@ export type SpecialWeaponParams = SpecialWeaponParamsObject[SpecialWeaponId] & { BulletDamageMax?: number; CannonDamage?: Array; BumpDamage?: number; + JumpDamage?: number; }; export type ParamsJson = { diff --git a/app/features/build-analyzer/core/stats.ts b/app/features/build-analyzer/core/stats.ts index f6bc25f24..e976fccd7 100644 --- a/app/features/build-analyzer/core/stats.ts +++ b/app/features/build-analyzer/core/stats.ts @@ -433,6 +433,7 @@ const damageTypeToParamsKey: Record< SPECIAL_BULLET_MIN: "BulletDamageMin", SPECIAL_CANNON: "CannonDamage", SPECIAL_BUMP: "BumpDamage", + SPECIAL_JUMP: "JumpDamage", }; function damages(args: StatFunctionInput): AnalyzedBuild["stats"]["damages"] { diff --git a/app/features/build-analyzer/core/weapon-params.json b/app/features/build-analyzer/core/weapon-params.json index 8bd9b5d2f..db894ef98 100644 --- a/app/features/build-analyzer/core/weapon-params.json +++ b/app/features/build-analyzer/core/weapon-params.json @@ -2017,7 +2017,9 @@ "Low": 480, "Mid": 540 } - } + }, + "DirectDamage": 1200, + "JumpDamage": 600 } } } diff --git a/app/features/object-damage-calculator/calculator-constants.ts b/app/features/object-damage-calculator/calculator-constants.ts index a2585408a..5124f3829 100644 --- a/app/features/object-damage-calculator/calculator-constants.ts +++ b/app/features/object-damage-calculator/calculator-constants.ts @@ -28,7 +28,7 @@ export const objectDamageJsonKeyPriority: Record< Maneuver_SideStep_BombCore: null, // added in fresh season 2022 BlowerExhale: null, - Castle: null, + Castle: ["BOMB_DIRECT", "SPECIAL_JUMP"], CoopEnemyRush: null, CoopEnemySakelienBomberBlast: null, CoopEnemySakerocketBlast: null, diff --git a/app/features/object-damage-calculator/calculator-hooks.ts b/app/features/object-damage-calculator/calculator-hooks.ts index ab2165c0e..e95ad5bc1 100644 --- a/app/features/object-damage-calculator/calculator-hooks.ts +++ b/app/features/object-damage-calculator/calculator-hooks.ts @@ -134,6 +134,7 @@ export const damageTypePriorityList = [ "SPECIAL_BULLET_MAX", "SPECIAL_BULLET_MIN", "SPECIAL_BUMP", + "SPECIAL_JUMP", ] as const; assertType< (typeof damageTypePriorityList)[number], diff --git a/public/locales/en/analyzer.json b/public/locales/en/analyzer.json index 8bdf3b8bc..ed16bbd62 100644 --- a/public/locales/en/analyzer.json +++ b/public/locales/en/analyzer.json @@ -120,6 +120,7 @@ "damage.SPECIAL_BULLET_MAX": "Bullet (Maximum)", "damage.SPECIAL_CANNON": "Cannon", "damage.SPECIAL_BUMP": "Bump", + "damage.SPECIAL_JUMP": "Jump", "suffix.seconds": "s", "suffix.hp": "hp", "suffix.specialPointsShort": "p", diff --git a/scripts/create-analyzer-json.ts b/scripts/create-analyzer-json.ts index 85a32e669..10ba7ccd4 100644 --- a/scripts/create-analyzer-json.ts +++ b/scripts/create-analyzer-json.ts @@ -462,6 +462,7 @@ function parametersToSpecialWeaponResult(params: any) { const isUltraStamp = () => !!params["SwingBigBlastParam"]; const isCrabTank = () => !!params["CannonParam"]; + const isKraken = () => !!params["BodyParam"]?.["DamageJumpValue"]; const SwingDamage = () => { if (!isUltraStamp()) return; @@ -490,6 +491,12 @@ function parametersToSpecialWeaponResult(params: any) { ]; }; + const KrakenDirectDamage = () => { + if (!isKraken()) return; + + return 1200; + }; + return { ArmorHP: params["WeaponSpChariotParam"]?.["ArmorHP"], overwrites: resultUnwrapped, @@ -506,7 +513,8 @@ function parametersToSpecialWeaponResult(params: any) { ] ?? params["spl__BulletSpMicroLaserBitParam"]?.["LaserParam"]?.[ "LaserDamage" - ], + ] ?? + KrakenDirectDamage(), WaveDamage: params["spl__BulletSpShockSonarParam"]?.["WaveParam"]?.["Damage"], ExhaleBlastParamMinChargeDistanceDamage: @@ -520,6 +528,7 @@ function parametersToSpecialWeaponResult(params: any) { BulletDamageMax: params["ShooterDamageParam"]?.["ValueMax"], CannonDamage: Cannon(), BumpDamage: isCrabTank() ? 400 : undefined, + JumpDamage: params["BodyParam"]?.["DamageJumpValue"], }; }