mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 02:37:05 +02: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 {
|
||||
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 (
|
||||
<ConfigurationChildWrapper>
|
||||
<Flex gap="4" align="center">
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<TankopediaEphemeral>()(
|
||||
(model: ModelDefinition) => {
|
||||
return create<TankopediaEphemeral>()(
|
||||
subscribeWithSelector<TankopediaEphemeral>(() => ({
|
||||
editStatic: false,
|
||||
skills: {},
|
||||
skills: createDefaultSkills(skillDefinitions),
|
||||
model,
|
||||
controlsEnabled: true,
|
||||
xpMultiplier: 1,
|
||||
})),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
Reference in new issue
Block a user