// 命格資料配置 // 機率設定:SSR(1%), SR(9%), R(20%), N(30%), C(40%) export const FATE_TIERS = { SSR: { name: '傳說', probability: 0.01, color: '#ff6b6b' }, SR: { name: '史詩', probability: 0.09, color: '#9b59b6' }, R: { name: '稀有', probability: 0.20, color: '#3498db' }, N: { name: '普通', probability: 0.30, color: '#2ecc71' }, C: { name: '常見', probability: 0.40, color: '#95a5a6' } } export const FATES = [ // ==================== SSR 級 (傳說) - 5種 ==================== // 🏮 宮廟靈獸與神祇 { id: 'mazu_blessing', name: '媽祖庇佑', tier: 'SSR', description: '海上女神降福,逢凶化吉,四海皆平安', buffs: { luck: 35, badEventReduction: 0.6, sicknessReduction: 0.7, happinessRecovery: 0.4, resourceGain: 0.3, dropRate: 0.35 } }, { id: 'white_tiger_soul', name: '白虎魂', tier: 'SSR', description: '西方神獸降臨,攻守兼備,天下無敵', buffs: { attack: 0.5, defense: 0.5, speed: 0.4, strGain: 0.5, healthRegen: 0.4 } }, { id: 'guan_gong_spirit', name: '關公顯靈', tier: 'SSR', description: '武聖在世,忠義雙全,戰無不勝', buffs: { attack: 0.6, strGain: 0.5, defense: 0.4, luck: 28, badEventReduction: 0.5 } }, { id: 'jade_emperor', name: '玉皇大天尊', tier: 'SSR', description: '天界之主加持,萬靈朝拜,福壽綿長', buffs: { intGain: 0.6, healthRegen: 0.6, luck: 30, resourceGain: 0.4, gameSuccessRate: 0.5 } }, { id: 'dragon_king', name: '青龍王', tier: 'SSR', description: '東方神龍,呼風喚雨,財源滾滾', buffs: { resourceGain: 0.6, dropRate: 0.5, luck: 32, speed: 0.4, miniGameBonus: 0.5 } }, // ==================== SR 級 (史詩) - 10種 ==================== // 🎭 民俗神將與靈體 { id: 'bajiajiang', name: '八家將', tier: 'SR', description: '神將護體,驅邪避凶,威震四方', buffs: { attack: 0.4, defense: 0.35, badEventReduction: 0.5, speed: 0.3, luck: 20 } }, { id: 'seventh_eighth_lords', name: '七爺八爺', tier: 'SR', description: '黑白無常護佑,轉運奇效,不受病痛', buffs: { luck: 28, sicknessReduction: 0.6, healthRegen: 0.4, badEventReduction: 0.4, happinessRecovery: 0.3 } }, { id: 'tudi_gong', name: '土地公保庇', tier: 'SR', description: '地方守護神,錢財廣進,日日有餘', buffs: { resourceGain: 0.5, dropRate: 0.4, luck: 25, happinessRecovery: 0.3, gameSuccessRate: 0.25 } }, { id: 'palanquin_deity', name: '神轎真身', tier: 'SR', description: '乘神轎而行,力大無窮,氣勢如虹', buffs: { strGain: 0.45, attack: 0.4, speed: 0.35, defense: 0.3, healthRegen: 0.3 } }, { id: 'lion_dance', name: '瑞獅之靈', tier: 'SR', description: '舞獅獻瑞,驅邪納福,喜氣洋洋', buffs: { happinessRecovery: 0.45, luck: 22, badEventReduction: 0.4, strGain: 0.3, resourceGain: 0.25 } }, { id: 'incense_master', name: '香火鼎盛', tier: 'SR', description: '供奉不斷,神明眷顧,萬事如意', buffs: { luck: 26, happinessRecovery: 0.4, sicknessReduction: 0.4, resourceGain: 0.3, intGain: 0.3 } }, { id: 'temple_guardian', name: '石獅守護', tier: 'SR', description: '廟口石獅加護,固若金湯,百邪不侵', buffs: { defense: 0.5, healthRegen: 0.4, sicknessReduction: 0.45, badEventReduction: 0.35, strGain: 0.3 } }, { id: 'firecracker_spirit', name: '炮仔聲', tier: 'SR', description: '鞭炮震天,邪煞退散,運勢亨通', buffs: { badEventReduction: 0.5, luck: 24, speed: 0.4, attack: 0.3, happinessRecovery: 0.25 } }, { id: 'temple_fair', name: '廟會之子', tier: 'SR', description: '廟會熱鬧,人氣旺盛,好事不斷', buffs: { happinessRecovery: 0.4, breedingSuccess: 0.5, resourceGain: 0.3, luck: 20, miniGameBonus: 0.3 } }, { id: 'moon_blocks', name: '聖筊連發', tier: 'SR', description: '擲筊必中,神明應允,事事順遂', buffs: { gameSuccessRate: 0.45, luck: 27, miniGameBonus: 0.4, resourceGain: 0.25, intGain: 0.35 } }, // ==================== R 級 (稀有) - 15種 ==================== // 🏮 夜市與靈獸 { id: 'night_market_king', name: '夜市王', tier: 'R', description: '夜市裡的霸主,吃喝玩樂樣樣通', buffs: { happinessRecovery: 0.3, resourceGain: 0.28, luck: 15, hungerDecay: -0.25 } }, { id: 'stinky_tofu_master', name: '臭豆腐達人', tier: 'R', description: '聞香下馬,回味無窮,胃口極佳', buffs: { hungerDecay: -0.3, healthRegen: 0.25, happinessRecovery: 0.25, resourceGain: 0.15 } }, { id: 'fortune_teller', name: '鐵口直斷', tier: 'R', description: '算命仙指點迷津,先知先覺', buffs: { intGain: 0.35, gameSuccessRate: 0.3, miniGameBonus: 0.28, luck: 16 } }, { id: 'stone_lion', name: '廟口石獅', tier: 'R', description: '鎮守要地,穩如泰山,守護家園', buffs: { defense: 0.35, healthRegen: 0.28, sicknessReduction: 0.25, strGain: 0.2 } }, { id: 'fishball_soup', name: '魚丸湯世家', tier: 'R', description: '古早味傳承,溫暖人心,療癒滿分', buffs: { healthRegen: 0.3, happinessRecovery: 0.28, sicknessReduction: 0.22, hungerDecay: -0.2 } }, { id: 'temple_turtle', name: '廟龜仙', tier: 'R', description: '神龜長壽,步調穩健,健康長命', buffs: { healthRegen: 0.32, defense: 0.28, sicknessReduction: 0.3, luck: 12 } }, { id: 'betel_nut_beauty', name: '檳榔西施', tier: 'R', description: '魅力四射,人氣爆表,生意興隆', buffs: { happinessRecovery: 0.3, breedingSuccess: 0.35, resourceGain: 0.22, luck: 14 } }, { id: 'bubble_tea', name: '珍奶之王', tier: 'R', description: '台灣之光,甜蜜滋味,快樂滿點', buffs: { happinessRecovery: 0.32, hungerDecay: -0.22, luck: 13, resourceGain: 0.18 } }, { id: 'taxi_driver', name: '計程車司機', tier: 'R', description: '走遍大街小巷,見多識廣,速度一流', buffs: { speed: 0.4, intGain: 0.25, resourceGain: 0.2, luck: 11 } }, { id: 'temple_incense', name: '三柱清香', tier: 'R', description: '誠心祈福,香火延綿,神明保佑', buffs: { luck: 18, badEventReduction: 0.28, happinessRecovery: 0.22, sicknessReduction: 0.2 } }, { id: 'lottery_winner', name: '大家樂', tier: 'R', description: '偏財運極佳,常有意外之財', buffs: { dropRate: 0.3, resourceGain: 0.28, luck: 17, gameSuccessRate: 0.2 } }, { id: 'koi_spirit', name: '錦鯉附身', tier: 'R', description: '如同錦鯉般幸運,好事連連', buffs: { luck: 19, dropRate: 0.25, badEventReduction: 0.25, happinessRecovery: 0.2 } }, { id: 'temple_drum', name: '鼓聲震天', tier: 'R', description: '鼓響神威,氣勢磅礡,力量驚人', buffs: { attack: 0.28, strGain: 0.28, speed: 0.22, badEventReduction: 0.18 } }, { id: 'red_envelope', name: '紅包滿滿', tier: 'R', description: '過年發財,紅包收不完,財運亨通', buffs: { resourceGain: 0.3, dropRate: 0.22, luck: 16, happinessRecovery: 0.18 } }, { id: 'phoenix_tail', name: '鳳凰木下', tier: 'R', description: '火紅鳳凰花,青春活力,朝氣蓬勃', buffs: { speed: 0.32, happinessRecovery: 0.25, strGain: 0.22, healthRegen: 0.2 } }, // ==================== N 級 (普通) - 15種 ==================== // 🏠 庶民生活 { id: 'breakfast_shop', name: '早餐店仔', tier: 'N', description: '清晨的活力來源,勤勞踏實', buffs: { strGain: 0.2, healthRegen: 0.18, resourceGain: 0.15 } }, { id: 'scooter_rider', name: '機車族', tier: 'N', description: '穿梭自如,速度就是一切', buffs: { speed: 0.28, luck: 8, resourceGain: 0.12 } }, { id: 'convenience_store', name: '便利商店店員', tier: 'N', description: '24小時全年無休,服務至上', buffs: { resourceGain: 0.2, happinessRecovery: 0.15, intGain: 0.15 } }, { id: 'fruit_vendor', name: '水果攤販', tier: 'N', description: '新鮮水果,健康滿分', buffs: { healthRegen: 0.22, sicknessReduction: 0.2, hungerDecay: -0.15 } }, { id: 'tea_ceremony', name: '泡茶聊天', tier: 'N', description: '悠閒品茗,修身養性', buffs: { happinessRecovery: 0.22, intGain: 0.18, badEventReduction: 0.15 } }, { id: 'tv_shopping', name: '電視購物達人', tier: 'N', description: '看電視買東西,資訊靈通', buffs: { resourceGain: 0.18, intGain: 0.15, luck: 9 } }, { id: 'lottery_booth', name: '刮刮樂', tier: 'N', description: '試試手氣,說不定有驚喜', buffs: { luck: 10, dropRate: 0.15, happinessRecovery: 0.12 } }, { id: 'karaoke_king', name: 'KTV歌王', tier: 'N', description: '歌聲嘹亮,歡樂無限', buffs: { happinessRecovery: 0.2, breedingSuccess: 0.18, luck: 7 } }, { id: 'dumpling_maker', name: '水餃店師傅', tier: 'N', description: '手工水餃,真材實料', buffs: { strGain: 0.18, hungerDecay: -0.18, healthRegen: 0.15 } }, { id: 'morning_exercise', name: '公園運動咖', tier: 'N', description: '每天運動,身體健康', buffs: { healthRegen: 0.2, strGain: 0.18, sicknessReduction: 0.15 } }, { id: 'mahjong_player', name: '麻將高手', tier: 'N', description: '打麻將練腦力,手氣不錯', buffs: { intGain: 0.2, gameSuccessRate: 0.18, luck: 11 } }, { id: 'temple_volunteer', name: '廟會志工', tier: 'N', description: '樂於助人,福報滿滿', buffs: { happinessRecovery: 0.18, badEventReduction: 0.18, luck: 9 } }, { id: 'street_cat', name: '巷口貓', tier: 'N', description: '自由自在,靈活敏捷', buffs: { speed: 0.22, luck: 8, defense: 0.12 } }, { id: 'recycling_granny', name: '資源回收阿婆', tier: 'N', description: '勤儉持家,不浪費資源', buffs: { resourceGain: 0.2, strGain: 0.15, healthRegen: 0.12 } }, { id: 'street_performer', name: '街頭藝人', tier: 'N', description: '才藝出眾,博得掌聲', buffs: { happinessRecovery: 0.18, miniGameBonus: 0.2, breedingSuccess: 0.15 } }, // ==================== C 級 (常見) - 5種 ==================== // 🌾 平凡命格 { id: 'ordinary_life', name: '平凡人生', tier: 'C', description: '平平淡淡才是真,簡單就是福', buffs: { luck: 5, happinessRecovery: 0.1 } }, { id: 'unlucky_star', name: '歹運連連', tier: 'C', description: '運氣不好但吃都吃不飽,體質還不錯', buffs: { luck: -5, hungerDecay: -0.2, healthRegen: 0.15 } }, { id: 'lazy_homebody', name: '宅在家', tier: 'C', description: '能躺就不坐,成長緩慢但快樂', buffs: { strGain: -0.12, happinessRecovery: 0.18, hungerDecay: -0.15 } }, { id: 'glass_heart', name: '玻璃心', tier: 'C', description: '情緒敏感,容易受傷但也容易開心', buffs: { happinessRecovery: 0.2, defense: -0.15, sicknessReduction: -0.1 } }, { id: 'rush_warrior', name: '無頭蒼蠅', tier: 'C', description: '行動力強但容易出錯,有勇無謀', buffs: { speed: 0.25, attack: 0.15, gameSuccessRate: -0.15 } } ] // 根據機率隨機抽取命格 export function getRandomFate() { const rand = Math.random() let cumulativeProbability = 0 // 按照稀有度排序抽取 const tiers = ['SSR', 'SR', 'R', 'N', 'C'] for (const tier of tiers) { cumulativeProbability += FATE_TIERS[tier].probability if (rand < cumulativeProbability) { // 從該等級中隨機選一個 const fatesInTier = FATES.filter(f => f.tier === tier) return fatesInTier[Math.floor(Math.random() * fatesInTier.length)] } } // 兜底返回普通命格 return FATES.find(f => f.id === 'ordinary') } // 獲取命格顏色 export function getFateColor(tier) { return FATE_TIERS[tier]?.color || '#95a5a6' } // 獲取指定等級的所有命格 export function getFatesByTier(tier) { return FATES.filter(f => f.tier === tier) }