From e4a35600a4c4b5c77838fda3100ffdce1ac2ea74 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sat, 9 Nov 2024 19:22:21 -0600 Subject: [PATCH] feat: module damage --- .../src/components/TankSearch/components/Sort.tsx | 8 ++++++++ .../TankSearch/components/TankCard/index.tsx | 2 ++ packages/website/src/components/TankSearch/index.tsx | 10 ++++++++++ .../src/stores/tankopediaPersistent/constants.ts | 2 ++ 4 files changed, 22 insertions(+) diff --git a/packages/website/src/components/TankSearch/components/Sort.tsx b/packages/website/src/components/TankSearch/components/Sort.tsx index 7667766b4..ee2620fc8 100644 --- a/packages/website/src/components/TankSearch/components/Sort.tsx +++ b/packages/website/src/components/TankSearch/components/Sort.tsx @@ -108,6 +108,14 @@ export function Sort() { > Damage + { + $tankopediaSort.setKey('by', 'fire.moduleDamage'); + }} + > + Module damage + { diff --git a/packages/website/src/components/TankSearch/components/TankCard/index.tsx b/packages/website/src/components/TankSearch/components/TankCard/index.tsx index 093d78604..984b2717e 100644 --- a/packages/website/src/components/TankSearch/components/TankCard/index.tsx +++ b/packages/website/src/components/TankSearch/components/TankCard/index.tsx @@ -47,6 +47,8 @@ export function TankCard({ tank, onSelect }: TankCardProps) { return shell0.caliber.toFixed(0); case 'fire.damage': return shell0.armor_damage.toFixed(0); + case 'fire.moduleDamage': + return shell0.armor_damage.toFixed(0); case 'fire.dispersionMoving': return tracks.dispersion_move.toFixed(3); case 'fire.dispersionStill': diff --git a/packages/website/src/components/TankSearch/index.tsx b/packages/website/src/components/TankSearch/index.tsx index 2540f1c19..cc2db5552 100644 --- a/packages/website/src/components/TankSearch/index.tsx +++ b/packages/website/src/components/TankSearch/index.tsx @@ -255,6 +255,16 @@ export const TankSearch = memo( ); break; + case 'fire.moduleDamage': + sorted = filtered.sort( + (a, b) => + a.turrets.at(-1)!.guns.at(-1)!.gun_type!.value.base.shells[0] + .module_damage - + b.turrets.at(-1)!.guns.at(-1)!.gun_type!.value.base.shells[0] + .module_damage, + ); + break; + case 'fire.shellVelocity': sorted = filtered.sort( (a, b) => diff --git a/packages/website/src/stores/tankopediaPersistent/constants.ts b/packages/website/src/stores/tankopediaPersistent/constants.ts index 921259fce..9e38a73af 100644 --- a/packages/website/src/stores/tankopediaPersistent/constants.ts +++ b/packages/website/src/stores/tankopediaPersistent/constants.ts @@ -6,6 +6,7 @@ export const SORT_UNITS: Record = { 'fire.aimTime': 's', 'fire.caliber': 'mm', 'fire.damage': 'hp', + 'fire.moduleDamage': 'hp', 'fire.dispersionMoving': 'm', 'fire.dispersionStill': 'm', 'fire.dpm': undefined, @@ -47,6 +48,7 @@ export const SORT_NAMES = { 'fire.standardPenetration': 'standard penetration', 'fire.premiumPenetration': 'premium penetration', 'fire.damage': 'damage', + 'fire.moduleDamage': 'module damage', 'fire.shellVelocity': 'shell velocity', 'fire.shellRange': 'shell range', 'fire.shellCapacity': 'shell capacity',