Update Healer Man server

This commit is contained in:
phenom committed 2026-09-26 18:57:44 -04:00
1 parent bd073fb00f
commit 83eac6d476
15 files changed
+438 -272

No files matched your search

+3 -1
View File
@@ -1,16 +1,18 @@
import { useEffect, useState } from "react";
import { useDungeonRaceStore } from "../app/dungeonRaceStore";
import { formatDungeonDuration } from "../game/dungeonRunTypes";
import { useGameStore } from "../game/store";
import "./dungeonRace.css";
export function DungeonRaceHud() {
const race = useDungeonRaceStore();
const activeDungeonId = useGameStore((state) => state.activeDungeonId);
const [now, setNow] = useState(() => Date.now());
useEffect(() => {
const interval = window.setInterval(() => setNow(Date.now()), 100);
return () => window.clearInterval(interval);
}, []);
if (!race.inGame || !race.opponent) return null;
if (!race.inGame || !race.opponent || race.dungeonId !== activeDungeonId) return null;
const serverNow = now + race.serverOffset;
const remaining = race.startAt ? Math.max(0, Math.ceil((race.startAt - serverNow) / 1000)) : null;
const elapsed = race.startAt ? Math.max(0, serverNow - race.startAt) : 0;
+1 -1
View File
@@ -159,6 +159,6 @@ export function DungeonRunResults() {
useShellStore.getState().saveActiveDungeonRunCheckpoint(null);
useGameStore.getState().closeOverlay();
useShellStore.getState().returnToMainMenu();
if (raceRun) useDungeonRaceStore.getState().reset();
if (raceRun) void useDungeonRaceStore.getState().leave();
})(); }} />;
}
+6
View File
@@ -11,6 +11,7 @@ import { specializationById, specializationIconUrl } from "../game/specializatio
import { dungeonBossCards } from "../game/dungeonBossCards";
import { requireDungeonDefinition } from "../game/dungeonRegistry";
import { DungeonBossCards } from "./DungeonBossCards";
import { useDungeonRaceStore } from "../app/dungeonRaceStore";
function PauseDialog() {
const closeOverlay = useGameStore((state) => state.closeOverlay);
@@ -31,9 +32,14 @@ function PauseDialog() {
closeOverlay();
};
const returnToEntrance = () => {
if (useDungeonRaceStore.getState().inGame) {
void useDungeonRaceStore.getState().leave();
useGameStore.setState({ raceStartBlocked: false });
}
reset();
};
const leaveDungeon = () => {
if (useDungeonRaceStore.getState().inGame) void useDungeonRaceStore.getState().leave();
closeOverlay();
returnToMainMenu();
};