mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-25 03:29:51 +01:00
fix: dispersion traverse
This commit is contained in:
1 parent
458915473c
commit
f673aefb8f
4 files changed
+13
-18
No files matched your search
-11
@@ -1,4 +1,3 @@
|
|||||||
import { createDefaultSkills, fetchSkillDefinitions } from '@blitzkit/core';
|
|
||||||
import { InfoCircledIcon } from '@radix-ui/react-icons';
|
import { InfoCircledIcon } from '@radix-ui/react-icons';
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
@@ -13,20 +12,10 @@ import { TankopediaEphemeral } from '../../../../stores/tankopediaEphemeral';
|
|||||||
import { CrewSkillManager } from '../../../CrewSkillManager';
|
import { CrewSkillManager } from '../../../CrewSkillManager';
|
||||||
import { ConfigurationChildWrapper } from './ConfigurationChildWrapper';
|
import { ConfigurationChildWrapper } from './ConfigurationChildWrapper';
|
||||||
|
|
||||||
const skillDefinitions = await fetchSkillDefinitions();
|
|
||||||
|
|
||||||
export function Skills() {
|
export function Skills() {
|
||||||
const skillLevels = TankopediaEphemeral.use((state) => state.skills);
|
const skillLevels = TankopediaEphemeral.use((state) => state.skills);
|
||||||
const mutateTankopediaTemporary = TankopediaEphemeral.useMutation();
|
const mutateTankopediaTemporary = TankopediaEphemeral.useMutation();
|
||||||
|
|
||||||
if (Object.keys(skillLevels).length === 0) {
|
|
||||||
mutateTankopediaTemporary((draft) => {
|
|
||||||
draft.skills = createDefaultSkills(skillDefinitions);
|
|
||||||
});
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ConfigurationChildWrapper>
|
<ConfigurationChildWrapper>
|
||||||
<Flex gap="4" align="center">
|
<Flex gap="4" align="center">
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ export function HeroSection() {
|
|||||||
const isFullScreen = useFullScreen();
|
const isFullScreen = useFullScreen();
|
||||||
const protagonist = Duel.use((state) => state.protagonist.tank);
|
const protagonist = Duel.use((state) => state.protagonist.tank);
|
||||||
const Icon = classIcons[protagonist.class];
|
const Icon = classIcons[protagonist.class];
|
||||||
// const [dummyLoader, setDummyLoader] = useState(true);
|
|
||||||
const treeColor =
|
const treeColor =
|
||||||
protagonist.type === TankType.COLLECTOR
|
protagonist.type === TankType.COLLECTOR
|
||||||
? 'blue'
|
? 'blue'
|
||||||
|
|||||||
@@ -414,7 +414,7 @@ export function tankCharacteristics(
|
|||||||
gun.gun_type!.value.base.dispersion_base * dispersionStillCoefficient;
|
gun.gun_type!.value.base.dispersion_base * dispersionStillCoefficient;
|
||||||
const dispersionMoving = track.dispersion_move * dispersionMovingCoefficient;
|
const dispersionMoving = track.dispersion_move * dispersionMovingCoefficient;
|
||||||
const dispersionHullTraversing =
|
const dispersionHullTraversing =
|
||||||
track.traverse_speed * dispersionHullTraverseCoefficient;
|
track.dispersion_traverse * dispersionHullTraverseCoefficient;
|
||||||
const dispersionTurretTraversing =
|
const dispersionTurretTraversing =
|
||||||
gun.gun_type!.value.base.dispersion_traverse *
|
gun.gun_type!.value.base.dispersion_traverse *
|
||||||
dispersionTurretTraverseCoefficient;
|
dispersionTurretTraverseCoefficient;
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
import type { ModelDefinition } from '@blitzkit/core';
|
import {
|
||||||
|
createDefaultSkills,
|
||||||
|
fetchSkillDefinitions,
|
||||||
|
type ModelDefinition,
|
||||||
|
} from '@blitzkit/core';
|
||||||
import type { Vector3 } from 'three';
|
import type { Vector3 } from 'three';
|
||||||
import { create } from 'zustand';
|
import { create } from 'zustand';
|
||||||
import { subscribeWithSelector } from 'zustand/middleware';
|
import { subscribeWithSelector } from 'zustand/middleware';
|
||||||
@@ -89,15 +93,18 @@ interface TankopediaEphemeral {
|
|||||||
xpMultiplier: (typeof XP_MULTIPLIERS)[number];
|
xpMultiplier: (typeof XP_MULTIPLIERS)[number];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const skillDefinitions = await fetchSkillDefinitions();
|
||||||
|
|
||||||
export const TankopediaEphemeral = createContextualStore(
|
export const TankopediaEphemeral = createContextualStore(
|
||||||
(model: ModelDefinition) =>
|
(model: ModelDefinition) => {
|
||||||
create<TankopediaEphemeral>()(
|
return create<TankopediaEphemeral>()(
|
||||||
subscribeWithSelector<TankopediaEphemeral>(() => ({
|
subscribeWithSelector<TankopediaEphemeral>(() => ({
|
||||||
editStatic: false,
|
editStatic: false,
|
||||||
skills: {},
|
skills: createDefaultSkills(skillDefinitions),
|
||||||
model,
|
model,
|
||||||
controlsEnabled: true,
|
controlsEnabled: true,
|
||||||
xpMultiplier: 1,
|
xpMultiplier: 1,
|
||||||
})),
|
})),
|
||||||
),
|
);
|
||||||
|
},
|
||||||
);
|
);
|
||||||
Reference in new issue
Block a user