Files
healer-man/scripts/runewaker-pipeline/lib/objective-order.d.mts
T
2026-08-14 15:56:39 -04:00

29 lines
930 B
TypeScript

export interface RuneWakerBossObjectiveSource {
readonly id: string;
readonly sourceSpawnId: number;
readonly position: readonly [number, number, number];
readonly [key: string]: unknown;
}
export interface RuneWakerSourceAuthoredObjectiveOrder {
readonly kind: "source-authored";
readonly spawnIds: readonly number[];
readonly evidence: readonly string[];
}
export interface RuneWakerObjectiveOrderProvenance {
readonly authoritative: boolean;
readonly kind: "source-authored" | "healerMan-distance-derived";
readonly evidence: readonly string[];
readonly sourceSpawnIds?: readonly number[];
}
export function orderBossObjectives<T extends RuneWakerBossObjectiveSource>(
rawBosses: readonly T[],
entrance: readonly [number, number, number],
configuredOrder?: RuneWakerSourceAuthoredObjectiveOrder,
): {
readonly ordered: readonly T[];
readonly provenance: RuneWakerObjectiveOrderProvenance;
};