diff --git a/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx b/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx index 92062c337..088514414 100644 --- a/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx +++ b/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx @@ -311,7 +311,7 @@ export function Characteristics() { {stats.shellNormalization} - {shell.type !== 'he' && ( + {!isExplosive(shell.type) && ( { async function handleShellChange(shell: ShellDefinition) { material.uniforms.caliber.value = shell.caliber; - material.uniforms.ricochet.value = degToRad(shell.ricochet ?? 90); + material.uniforms.ricochet.value = degToRad( + isExplosive(shell.type) ? 90 : shell.ricochet!, + ); material.uniforms.normalization.value = degToRad( shell.normalization ?? 0, ); diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx b/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx index f45438576..4c45704f7 100644 --- a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx +++ b/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx @@ -7,6 +7,7 @@ import { } from 'three'; import { degToRad } from 'three/src/math/MathUtils'; import { ArmorUserData } from '../..'; +import { isExplosive } from '../../../../../../core/blitz/isExplosive'; import { resolveNearPenetration } from '../../../../../../core/blitz/resolveNearPenetration'; import { hasEquipment } from '../../../../../../core/blitzkit/hasEquipment'; import { jsxTree } from '../../../../../../core/blitzkit/jsxTree'; @@ -53,7 +54,9 @@ export function SpacedArmorSubSpaced({ shell.penetration, ); material.uniforms.caliber.value = shell.caliber; - material.uniforms.ricochet.value = degToRad(shell.ricochet ?? 90); + material.uniforms.ricochet.value = degToRad( + isExplosive(shell.type) ? 90 : shell.ricochet!, + ); material.uniforms.normalization.value = degToRad( shell.normalization ?? 0, ); diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx b/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx index 4ba5687ae..c080f0188 100644 --- a/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx +++ b/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx @@ -268,7 +268,9 @@ export function SpacedArmorSceneComponent({ } else { const type = intersection.object.userData.type; const angle = surfaceNormal.angleTo(shellNormal); - const ricochet = degToRad(shell.ricochet ?? 90); + const ricochet = degToRad( + isExplosive(shell.type) ? 90 : shell.ricochet!, + ); const normalization = degToRad(shell.normalization ?? 0); const threeCalibersRule = shell.caliber > thickness * 3 || layerIndex > 0; diff --git a/src/core/blitz/canRicochet.ts b/src/core/blitz/canRicochet.ts deleted file mode 100644 index 56568f868..000000000 --- a/src/core/blitz/canRicochet.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ShellDefinition } from '../blitzkit/tankDefinitions'; - -export function canRicochet( - type: ShellDefinition['type'], -): type is Exclude { - return type !== 'he'; -} diff --git a/src/hooks/useWideFormat.ts b/src/hooks/useWideFormat.ts index 483f358a2..d7cc4f9ee 100644 --- a/src/hooks/useWideFormat.ts +++ b/src/hooks/useWideFormat.ts @@ -1,5 +1,8 @@ import { useEffect, useState } from 'react'; +/** + * @deprecated DO NOT USE; CAUSES NEXT JS HYDRATION ISSUES + */ export function useWideFormat(size = 880) { function hasWideFormat() { return typeof window !== 'undefined' && window.innerWidth > size;