Release Healer Man 0.1.22
This commit is contained in:
1 parent
f6f2375145
commit
7f6001723a
144 files changed
+54107
-690
No files matched your search
@@ -1,6 +1,8 @@
|
||||
import type { Vector3Tuple } from "./dungeonTypes";
|
||||
|
||||
export const DUNGEON_ENCOUNTER_SNAPSHOT_SCHEMA_VERSION = 1;
|
||||
// Version 2 preserves consumed action execution order so durable state can be
|
||||
// reconstructed without reviving attempt-scoped object/flag overwrites.
|
||||
export const DUNGEON_ENCOUNTER_SNAPSHOT_SCHEMA_VERSION = 2;
|
||||
|
||||
export type DungeonEncounterResetScope = "boss-wipe" | "checkpoint" | "dungeon";
|
||||
export type DungeonEncounterValue = string | number | boolean;
|
||||
@@ -52,12 +54,17 @@ export type DungeonEncounterTrigger =
|
||||
| {
|
||||
readonly kind: "entities-dead";
|
||||
readonly entityIds: readonly string[];
|
||||
/** A source-authored safety timeout prevents an encounter from soft locking. */
|
||||
/**
|
||||
* Missing-actor recovery window. It may advance presentation-only rules
|
||||
* when no listed target is registered alive, but can never award an
|
||||
* objective, checkpoint, loot, or dungeon completion.
|
||||
*/
|
||||
readonly timeoutMs?: number;
|
||||
};
|
||||
|
||||
export type DungeonEncounterGuard =
|
||||
| { readonly kind: "phase"; readonly phases: readonly string[] }
|
||||
| { readonly kind: "difficulty"; readonly difficultyIds: readonly string[] }
|
||||
| { readonly kind: "flag"; readonly flagId: string; readonly equals: boolean }
|
||||
| {
|
||||
readonly kind: "counter";
|
||||
@@ -116,12 +123,34 @@ export interface DungeonEncounterResetPolicy {
|
||||
readonly checkpointPhase?: string;
|
||||
}
|
||||
|
||||
export type DungeonEncounterFidelity =
|
||||
| "source-exact"
|
||||
| "source-backed-adapted"
|
||||
| "healer-man-authored";
|
||||
|
||||
export type DungeonEncounterScope = "boss-progression" | "instance-orchestration";
|
||||
|
||||
/**
|
||||
* Review record kept beside executable encounter data. Adapted behavior must
|
||||
* remain explicit so a safe approximation is never mistaken for a finished
|
||||
* port of the original instance script.
|
||||
*/
|
||||
export interface DungeonEncounterSourceReview {
|
||||
readonly fidelity: DungeonEncounterFidelity;
|
||||
readonly scope: DungeonEncounterScope;
|
||||
readonly files: readonly string[];
|
||||
readonly reviewedBehavior: string;
|
||||
readonly adaptations: readonly string[];
|
||||
readonly remainingGaps: readonly string[];
|
||||
}
|
||||
|
||||
export interface DungeonEncounterDefinition {
|
||||
readonly id: string;
|
||||
readonly dungeonId: string;
|
||||
readonly initialPhase: string;
|
||||
readonly initialState?: DungeonEncounterInitialState;
|
||||
readonly resetPolicy?: DungeonEncounterResetPolicy;
|
||||
readonly source?: DungeonEncounterSourceReview;
|
||||
readonly rules: readonly DungeonEncounterRule[];
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user