updating buff and debuff icons. separated COA classes from WoW classes on the character creation screen

This commit is contained in:
phenom committed 2026-08-16 11:16:51 -04:00
1 parent b5c9bce1aa
commit c00f3211ea
39 files changed
+2037 -208

No files matched your search

+31
View File
@@ -57,12 +57,43 @@ describe("game store", () => {
expect(state.areaName).toContain("Entrance");
});
it("keeps a grounded navigation anchor while the physical player is airborne", () => {
useGameStore.getState().updatePlayerSnapshot({
position: [164, -73.66, 132],
yaw: -2,
grounded: true,
});
useGameStore.getState().updatePlayerSnapshot({
position: [166, -72.2, 133],
yaw: -2,
grounded: false,
});
expect(useGameStore.getState()).toMatchObject({
playerPosition: [166, -72.2, 133],
playerNavigationPosition: [164, -73.66, 132],
playerGrounded: false,
});
useGameStore.getState().updatePlayerSnapshot({
position: [167, -73.66, 134],
yaw: -2,
grounded: true,
});
expect(useGameStore.getState()).toMatchObject({
playerNavigationPosition: [167, -73.66, 134],
playerGrounded: true,
});
});
it("reset restores the authoritative transformed entrance", () => {
useGameStore.getState().setActionLayer("tertiary");
useGameStore.getState().updatePlayerSnapshot({ position: [0, 0, 0], yaw: 0, distanceDelta: 8 });
useGameStore.getState().resetAtEntrance();
const state = useGameStore.getState();
expect(state.playerPosition).toEqual(DUNGEON_MANIFEST.entrance.footPosition);
expect(state.playerNavigationPosition).toEqual(DUNGEON_MANIFEST.entrance.footPosition);
expect(state.playerGrounded).toBe(true);
expect(state.cameraYaw).toBe(DUNGEON_MANIFEST.entrance.yaw);
expect(state.distanceTravelled).toBe(0);
expect(state.actionLayer).toBe("primary");