Files
healer-man/src/game/dungeonLeaderboardRules.ts
T
2026-09-20 13:40:23 -04:00

19 lines
647 B
TypeScript

export interface DungeonLeaderboardDifficultyRule {
readonly bossIds: readonly string[];
readonly finalBossId: string;
readonly finalBossIds?: readonly string[];
}
export function leaderboardFinalBossIds(rule: DungeonLeaderboardDifficultyRule): readonly string[] {
return rule.finalBossIds?.length ? rule.finalBossIds : [rule.finalBossId];
}
export function isLeaderboardFullClear(
rule: DungeonLeaderboardDifficultyRule,
killedBossIds: readonly string[],
): boolean {
return rule.finalBossIds?.length
? rule.finalBossIds.some((id) => killedBossIds.includes(id))
: rule.bossIds.every((id) => killedBossIds.includes(id));
}