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

+14 -1
View File
@@ -13,6 +13,7 @@ interface PlayerSnapshot {
position: Vector3Tuple;
yaw: number;
distanceDelta?: number;
grounded?: boolean;
}
export interface GameState {
@@ -31,6 +32,8 @@ export interface GameState {
assetStatus: AssetStatus;
assetMessage: string | null;
playerPosition: Vector3Tuple;
playerNavigationPosition: Vector3Tuple;
playerGrounded: boolean;
cameraYaw: number;
areaName: string;
distanceTravelled: number;
@@ -77,6 +80,8 @@ export const useGameStore = create<GameState>((set) => ({
assetStatus: "checking",
assetMessage: null,
playerPosition: entrance.footPosition,
playerNavigationPosition: entrance.footPosition,
playerGrounded: true,
cameraYaw: entrance.yaw,
areaName: resolveAreaNameForDungeon(initialDungeon, entrance.footPosition),
distanceTravelled: 0,
@@ -106,6 +111,8 @@ export const useGameStore = create<GameState>((set) => ({
assetStatus: "checking",
assetMessage: null,
playerPosition: activeSpawn.footPosition,
playerNavigationPosition: activeSpawn.footPosition,
playerGrounded: true,
cameraYaw: activeSpawn.yaw,
areaName: resolveAreaNameForDungeon(definition, activeSpawn.footPosition),
distanceTravelled: 0,
@@ -175,10 +182,12 @@ export const useGameStore = create<GameState>((set) => ({
if (isStaleLoadingWrite) return state;
return { assetStatus, assetMessage };
}),
updatePlayerSnapshot: ({ position, yaw, distanceDelta = 0 }) => set((state) => {
updatePlayerSnapshot: ({ position, yaw, distanceDelta = 0, grounded = true }) => set((state) => {
const definition = requireDungeonDefinition(state.activeDungeonId);
return {
playerPosition: position,
playerNavigationPosition: grounded ? position : state.playerNavigationPosition,
playerGrounded: grounded,
cameraYaw: yaw,
areaName: resolveAreaNameForDungeon(definition, position),
distanceTravelled: state.distanceTravelled + Math.max(0, distanceDelta),
@@ -193,6 +202,8 @@ export const useGameStore = create<GameState>((set) => ({
mapOpen: false,
cameraLookActive: false,
playerPosition: state.activeSpawn.footPosition,
playerNavigationPosition: state.activeSpawn.footPosition,
playerGrounded: true,
cameraYaw: state.activeSpawn.yaw,
areaName: resolveAreaNameForDungeon(definition, state.activeSpawn.footPosition),
distanceTravelled: 0,
@@ -213,6 +224,8 @@ export const useGameStore = create<GameState>((set) => ({
mapOpen: false,
cameraLookActive: false,
playerPosition: activeEntrance.footPosition,
playerNavigationPosition: activeEntrance.footPosition,
playerGrounded: true,
cameraYaw: activeEntrance.yaw,
areaName: resolveAreaNameForDungeon(definition, activeEntrance.footPosition),
distanceTravelled: 0,