diff --git a/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Skills.tsx b/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Skills.tsx index 68f9c38ae..097af9218 100644 --- a/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Skills.tsx +++ b/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Skills.tsx @@ -1,4 +1,3 @@ -import { createDefaultSkills, fetchSkillDefinitions } from '@blitzkit/core'; import { InfoCircledIcon } from '@radix-ui/react-icons'; import { Button, @@ -13,20 +12,10 @@ import { TankopediaEphemeral } from '../../../../stores/tankopediaEphemeral'; import { CrewSkillManager } from '../../../CrewSkillManager'; import { ConfigurationChildWrapper } from './ConfigurationChildWrapper'; -const skillDefinitions = await fetchSkillDefinitions(); - export function Skills() { const skillLevels = TankopediaEphemeral.use((state) => state.skills); const mutateTankopediaTemporary = TankopediaEphemeral.useMutation(); - if (Object.keys(skillLevels).length === 0) { - mutateTankopediaTemporary((draft) => { - draft.skills = createDefaultSkills(skillDefinitions); - }); - - return null; - } - return ( diff --git a/packages/website/src/components/Tankopedia/HeroSection/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/index.tsx index 712b160e9..f65797965 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/index.tsx @@ -18,7 +18,6 @@ export function HeroSection() { const isFullScreen = useFullScreen(); const protagonist = Duel.use((state) => state.protagonist.tank); const Icon = classIcons[protagonist.class]; - // const [dummyLoader, setDummyLoader] = useState(true); const treeColor = protagonist.type === TankType.COLLECTOR ? 'blue' diff --git a/packages/website/src/core/blitzkit/tankCharacteristics.ts b/packages/website/src/core/blitzkit/tankCharacteristics.ts index c6c7524e0..d5682c9b3 100644 --- a/packages/website/src/core/blitzkit/tankCharacteristics.ts +++ b/packages/website/src/core/blitzkit/tankCharacteristics.ts @@ -414,7 +414,7 @@ export function tankCharacteristics( gun.gun_type!.value.base.dispersion_base * dispersionStillCoefficient; const dispersionMoving = track.dispersion_move * dispersionMovingCoefficient; const dispersionHullTraversing = - track.traverse_speed * dispersionHullTraverseCoefficient; + track.dispersion_traverse * dispersionHullTraverseCoefficient; const dispersionTurretTraversing = gun.gun_type!.value.base.dispersion_traverse * dispersionTurretTraverseCoefficient; diff --git a/packages/website/src/stores/tankopediaEphemeral.ts b/packages/website/src/stores/tankopediaEphemeral.ts index baab208f1..1156f9224 100644 --- a/packages/website/src/stores/tankopediaEphemeral.ts +++ b/packages/website/src/stores/tankopediaEphemeral.ts @@ -1,4 +1,8 @@ -import type { ModelDefinition } from '@blitzkit/core'; +import { + createDefaultSkills, + fetchSkillDefinitions, + type ModelDefinition, +} from '@blitzkit/core'; import type { Vector3 } from 'three'; import { create } from 'zustand'; import { subscribeWithSelector } from 'zustand/middleware'; @@ -89,15 +93,18 @@ interface TankopediaEphemeral { xpMultiplier: (typeof XP_MULTIPLIERS)[number]; } +const skillDefinitions = await fetchSkillDefinitions(); + export const TankopediaEphemeral = createContextualStore( - (model: ModelDefinition) => - create()( + (model: ModelDefinition) => { + return create()( subscribeWithSelector(() => ({ editStatic: false, - skills: {}, + skills: createDefaultSkills(skillDefinitions), model, controlsEnabled: true, xpMultiplier: 1, })), - ), + ); + }, );