Release Healer Man 0.1.40

This commit is contained in:
phenom committed 2026-09-13 13:21:27 -04:00
1 parent ed0d2fea3d
commit 197a64117c
215 files changed
+5131 -181

No files matched your search

+10 -5
View File
@@ -8,7 +8,7 @@ import {
type PartyRole,
} from "../game/partyRoles";
import { useShellStore } from "./shellStore";
import { registerDungeonShellRuntime } from "./dungeonShellRuntimeBridge";
import { registerDungeonShellRuntime, type DungeonEntrySettings } from "./dungeonShellRuntimeBridge";
import { touchCharacter } from "./accountRepository";
import { specializationById } from "../game/specializationCatalog";
import { dungeonContentIsUsable } from "../content/contentManager";
@@ -17,7 +17,7 @@ export function installDungeonShellRuntime(): void {
registerDungeonShellRuntime({ enterDungeon });
}
function enterDungeon(dungeonId: string, requestedRole?: PartyRole): boolean {
function enterDungeon(dungeonId: string, requestedRole?: PartyRole, settings?: DungeonEntrySettings): boolean {
const dungeon = dungeonById(dungeonId);
if (!dungeon || !dungeon.available) {
useShellStore.setState({ notice: "That dungeon is not available yet." });
@@ -55,14 +55,19 @@ function enterDungeon(dungeonId: string, requestedRole?: PartyRole): boolean {
});
return false;
}
const resume = activeCharacter.dungeonRunCheckpoint?.dungeonId === dungeonId
const checkpoint = activeCharacter.dungeonRunCheckpoint;
const resume = !settings?.freshRun && checkpoint?.dungeonId === dungeonId
&& checkpoint.run?.finishedAt == null
&& (settings?.difficultyId === undefined || checkpoint.difficultyId === settings.difficultyId)
&& (settings?.bossDifficulty === undefined || checkpoint.run?.bossDifficulty === settings.bossDifficulty)
? activeCharacter.dungeonRunCheckpoint
: null;
if (!activateDungeonSession(dungeonId, resume?.difficultyId, {
if (!activateDungeonSession(dungeonId, settings?.difficultyId ?? resume?.difficultyId, {
bossDifficulty: settings?.bossDifficulty ?? resume?.run?.bossDifficulty,
spawn: resume?.spawn,
encounterSnapshots: resume?.encounters,
runProgress: resume?.run,
legacyResume: Boolean(resume && !resume.run),
legacyResume: Boolean(resume && resume.run?.bossDifficulty === undefined),
})) {
useShellStore.setState({
notice: dungeon.availabilityReason ?? "That dungeon failed its latest validation gate.",