pet_data/data/fates.js

654 lines
16 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 命格資料配置
// 機率設定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)
}