export interface CosmeticColor { id: string; name: string; suit: string; suitDark: string; trim: string; requirement?: { type: 'wins' | 'streak'; value: number }; } export const EYEWEAR_IDS = ['glasses', 'sunglasses'] as const; export const EQUIPMENT_IDS = ['shoes', 'wristbands', 'headband', ...EYEWEAR_IDS] as const; export type EquipmentId = typeof EQUIPMENT_IDS[number]; export const COSMETIC_EQUIPMENT: readonly { id: EquipmentId; name: string; requirement: { type: 'wins' | 'streak'; value: number } }[] = [ { id: 'shoes', name: '신발', requirement: { type: 'wins', value: 5 } }, { id: 'wristbands', name: '아대', requirement: { type: 'streak', value: 3 } }, { id: 'headband', name: '머리띠', requirement: { type: 'wins', value: 20 } }, { id: 'glasses', name: '안경', requirement: { type: 'streak', value: 50 } }, { id: 'sunglasses', name: '선글라스', requirement: { type: 'streak', value: 100 } }, ]; export const HAIR_STYLES = [ { id: 'black', name: '검정 뾰족머리' }, { id: 'white', name: '백발 뾰족머리' }, { id: 'bald', name: '빡빡이' }, ] as const; export type HairStyle = typeof HAIR_STYLES[number]['id'] | 'default'; export const SKIN_TONES = [ { id: 'light', name: '밝은 피부', skin: '#efc8a5', shade: '#bd896b', light: '#ffe4c8' }, { id: 'tan', name: '구릿빛 피부', skin: '#a96f49', shade: '#6e4938', light: '#d29a70' }, ] as const; export type SkinToneId = typeof SKIN_TONES[number]['id']; // Confirmed unlock thresholds; shared by availability checks and previews. export const COSMETIC_COLORS: readonly CosmeticColor[] = [ { id: 'white', name: '흰색', suit: '#f0eee5', suitDark: '#abaea8', trim: '#535f68' }, { id: 'orange', name: '주황', suit: '#aa5740', suitDark: '#613b33', trim: '#d3bf99', requirement: { type: 'wins', value: 5 } }, { id: 'blue', name: '파랑', suit: '#455862', suitDark: '#293840', trim: '#d7d5bf', requirement: { type: 'wins', value: 20 } }, { id: 'red', name: '빨강', suit: '#ad4148', suitDark: '#632c36', trim: '#ebc49c', requirement: { type: 'wins', value: 50 } }, { id: 'green', name: '초록', suit: '#52765a', suitDark: '#304c3b', trim: '#d4ce9e', requirement: { type: 'streak', value: 3 } }, { id: 'purple', name: '보라', suit: '#79608e', suitDark: '#493955', trim: '#ddc6aa', requirement: { type: 'streak', value: 5 } }, { id: 'black', name: '검정', suit: '#34383e', suitDark: '#1c2027', trim: '#b8b6ae', requirement: { type: 'streak', value: 10 } }, ];