export interface AchievementTitleConfigItem {
    readonly seriesName: string;
    readonly levelName: string;
    readonly clearsToNext: number;
}

const createSeries = (seriesName: string, levelCount: number, clearsToNext: number): AchievementTitleConfigItem[] => {
    return Array.from({ length: levelCount }, (_, index) => ({
        seriesName,
        levelName: `${seriesName}${index + 1}级`,
        clearsToNext
    }));
};

export const ACHIEVEMENT_TITLE_CONFIG: readonly AchievementTitleConfigItem[] = [
    ...createSeries('冷场小白', 2, 3),
    ...createSeries('尬笑学生', 2, 3),
    ...createSeries('浅梗游民', 3, 4),
    ...createSeries('热梗新秀', 6, 5),
    ...createSeries('笑点刺客', 6, 5),
    ...createSeries('爆梗高手', 8, 6),
    ...createSeries('幽默大师', 10, 8),
    ...createSeries('爆笑领主', 10, 8),
    ...createSeries('梗王之王', 20, 8)
];

export const INFINITE_ACHIEVEMENT_TITLE = {
    seriesName: '幽默始祖',
    levelNamePrefix: '幽默始祖',
    clearsToNext: 8
} as const;
