forked from phenom/healer-man
27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
export const STORMWIND_STOCKADE_DUNGEON_ID = "stormwind-stockade";
|
|
export const BITE_SIZED_STOCKADES_DUNGEON_ID = "bite-sized-stormwind-stockade";
|
|
export const RANDOMIZED_BITE_SIZED_STOCKADES_DUNGEON_ID = "randomized-bite-sized-stormwind-stockade";
|
|
export const RANDOMIZED_BITE_SIZED_CONTENT_PACK_ID = "activity:randomized-bite-sized";
|
|
|
|
const DUNGEON_CONTENT_SOURCE_IDS: Readonly<Record<string, string>> = Object.freeze({
|
|
[BITE_SIZED_STOCKADES_DUNGEON_ID]: STORMWIND_STOCKADE_DUNGEON_ID,
|
|
[RANDOMIZED_BITE_SIZED_STOCKADES_DUNGEON_ID]: STORMWIND_STOCKADE_DUNGEON_ID,
|
|
});
|
|
|
|
export function isDerivedStockadesDungeonId(dungeonId: string): boolean {
|
|
return dungeonId === BITE_SIZED_STOCKADES_DUNGEON_ID
|
|
|| dungeonId === RANDOMIZED_BITE_SIZED_STOCKADES_DUNGEON_ID;
|
|
}
|
|
|
|
/** Derived dungeon variants share the installed assets of their source dungeon. */
|
|
export function dungeonContentSourceId(dungeonId: string): string {
|
|
return DUNGEON_CONTENT_SOURCE_IDS[dungeonId] ?? dungeonId;
|
|
}
|
|
|
|
export function dungeonContentPackId(dungeonId: string): string {
|
|
if (dungeonId === RANDOMIZED_BITE_SIZED_STOCKADES_DUNGEON_ID) {
|
|
return RANDOMIZED_BITE_SIZED_CONTENT_PACK_ID;
|
|
}
|
|
return `dungeon:${dungeonContentSourceId(dungeonId)}`;
|
|
}
|