Release Healer Man 0.1.21

This commit is contained in:
phenom committed 2026-09-08 10:40:26 -04:00
1 parent 699fc858c9
commit f6f2375145
210 files changed
+976039 -6247

No files matched your search

+13
View File
@@ -10,6 +10,12 @@ import { dungeonCanEnter, dungeonDefinitionById, type DungeonId } from "./dungeo
import type { WorldSpawn } from "./dungeonTypes";
import { useManastormAdminStore } from "./manastormAdminStore";
import type { GmReviewTarget } from "./gmContentReview";
import {
activateDungeonEncounterDefinitions,
importDungeonEncounterSnapshots,
resetDungeonEncounters,
} from "./dungeonEncounterRuntime";
import type { DungeonEncounterSnapshot } from "./dungeonEncounterTypes";
export interface DungeonSessionOptions {
readonly gameMode?: GameMode;
@@ -18,6 +24,8 @@ export interface DungeonSessionOptions {
readonly gmReviewTarget?: GmReviewTarget | null;
/** Used by in-game encounter transitions so character progression and inventory survive. */
readonly preserveCharacter?: boolean;
/** Hydrates save-safe state after definitions have been activated and reset. */
readonly encounterSnapshots?: readonly DungeonEncounterSnapshot[];
}
/**
@@ -37,6 +45,8 @@ export function activateDungeonSession(
const previousDefinition = dungeonDefinitionById(useGameStore.getState().activeDungeonId);
if (previousDefinition) releaseDungeonGltfCache(previousDefinition);
activateDungeonEncounterDefinitions(dungeonId, definition.encounters ?? []);
resetDungeonEncounters("dungeon", dungeonId);
clearMobRuntimeRegistry();
clearPartyRuntimeRegistry();
clearDungeonRuntimeCaches();
@@ -80,6 +90,9 @@ export function activateDungeonSession(
gmTestMode: options.gmTestMode,
gmReviewTarget: options.gmReviewTarget,
});
if (options.encounterSnapshots?.length) {
importDungeonEncounterSnapshots(dungeonId, options.encounterSnapshots);
}
useCombatStore.getState().setPlayerPosition(useGameStore.getState().playerPosition);
return true;
}