pet_data/data/achievements.js

434 lines
8.0 KiB
JavaScript
Raw 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.

// 成就系統配置
// 每個成就包含id, name, description, condition, reward
export const ACHIEVEMENTS = [
// ========== 成長類成就 ==========
{
id: 'first_step',
name: '第一步',
description: '寵物年齡達到 1 小時',
category: 'growth',
condition: {
type: 'age',
value: 3600 // 1 小時(秒)
},
reward: {
buffs: {
strGain: 0.05, // 力量成長 +5%
intGain: 0.05 // 智力成長 +5%
}
},
icon: '👶'
},
{
id: 'one_day_old',
name: '一日之計',
description: '寵物年齡達到 1 天',
category: 'growth',
condition: {
type: 'age',
value: 86400 // 1 天(秒)
},
reward: {
buffs: {
strGain: 0.10,
intGain: 0.10,
dexGain: 0.10,
luck: 2 // 運勢 +2
}
},
icon: '📅'
},
{
id: 'evolved_baby',
name: '破殼而出',
description: '從蛋階段進化到幼體',
category: 'growth',
condition: {
type: 'stage',
value: 'baby'
},
reward: {
buffs: {
health: 5, // 最大健康 +5
strGain: 0.05
}
},
icon: '🥚'
},
{
id: 'evolved_child',
name: '茁壯成長',
description: '進化到幼年階段',
category: 'growth',
condition: {
type: 'stage',
value: 'child'
},
reward: {
buffs: {
health: 10,
strGain: 0.10,
intGain: 0.10
}
},
icon: '🌱'
},
{
id: 'evolved_adult',
name: '成年禮',
description: '進化到成年階段',
category: 'growth',
condition: {
type: 'stage',
value: 'adult'
},
reward: {
buffs: {
health: 20,
strGain: 0.15,
intGain: 0.15,
dexGain: 0.15,
luck: 5
}
},
icon: '🎂'
},
{
id: 'perfect_stats',
name: '完美屬性',
description: '力量、智力、敏捷都達到 50',
category: 'growth',
condition: {
type: 'stats',
stats: {
str: 50,
int: 50,
dex: 50
}
},
reward: {
buffs: {
str: 3,
int: 3,
dex: 3,
attack: 0.10, // 攻擊力 +10%
defense: 0.10 // 防禦力 +10%
}
},
icon: '⭐'
},
{
id: 'max_stats',
name: '屬性巔峰',
description: '力量、智力、敏捷都達到 100',
category: 'growth',
condition: {
type: 'stats',
stats: {
str: 100,
int: 100,
dex: 100
}
},
reward: {
buffs: {
str: 10,
int: 10,
dex: 10,
luck: 10,
attack: 0.20,
defense: 0.20,
speed: 0.20
}
},
icon: '💎'
},
// ========== 互動類成就 ==========
{
id: 'first_feed',
name: '初次餵食',
description: '第一次餵食寵物',
category: 'interaction',
condition: {
type: 'action_count',
action: 'feed',
value: 1
},
reward: {
buffs: {
strGain: 0.03
}
},
icon: '🍼'
},
{
id: 'caretaker',
name: '照顧者',
description: '累計餵食 50 次',
category: 'interaction',
condition: {
type: 'action_count',
action: 'feed',
value: 50
},
reward: {
buffs: {
strGain: 0.10,
healthRecovery: 0.05
}
},
icon: '🍽️'
},
{
id: 'playful_master',
name: '玩耍大師',
description: '累計玩耍 100 次',
category: 'interaction',
condition: {
type: 'action_count',
action: 'play',
value: 100
},
reward: {
buffs: {
dexGain: 0.15,
intGain: 0.10,
happinessRecovery: 0.10
}
},
icon: '🎮'
},
{
id: 'clean_freak',
name: '清潔達人',
description: '累計清理便便 30 次',
category: 'interaction',
condition: {
type: 'action_count',
action: 'clean',
value: 30
},
reward: {
buffs: {
health: 5,
sicknessReduction: 0.10 // 生病抗性 +10%
}
},
icon: '🧹'
},
{
id: 'healer',
name: '治療師',
description: '累計治療 20 次',
category: 'interaction',
condition: {
type: 'action_count',
action: 'heal',
value: 20
},
reward: {
buffs: {
healthRecovery: 0.15,
health: 10
}
},
icon: '💊'
},
// ========== 神明類成就 ==========
{
id: 'first_prayer',
name: '初次祈福',
description: '第一次向神明祈福',
category: 'temple',
condition: {
type: 'action_count',
action: 'pray',
value: 1
},
reward: {
buffs: {
luck: 1
}
},
icon: '🙏'
},
{
id: 'devout',
name: '虔誠信徒',
description: '累計祈福 50 次',
category: 'temple',
condition: {
type: 'action_count',
action: 'pray',
value: 50
},
reward: {
buffs: {
luck: 5,
happinessRecovery: 0.05
}
},
icon: '🕯️'
},
{
id: 'deity_friend',
name: '神明之友',
description: '任一神明好感度達到 50',
category: 'temple',
condition: {
type: 'deity_favor',
value: 50
},
reward: {
buffs: {
luck: 3,
healthRecovery: 0.05
}
},
icon: '👼'
},
{
id: 'deity_best_friend',
name: '神明摯友',
description: '任一神明好感度達到 100',
category: 'temple',
condition: {
type: 'deity_favor',
value: 100
},
reward: {
buffs: {
luck: 10,
healthRecovery: 0.10,
happinessRecovery: 0.05
}
},
icon: '🌟'
},
{
id: 'fortune_teller',
name: '求籤達人',
description: '累計抽籤 10 次',
category: 'temple',
condition: {
type: 'action_count',
action: 'drawFortune',
value: 10
},
reward: {
buffs: {
luck: 3,
dropRate: 0.05 // 掉落率 +5%
}
},
icon: '🎴'
},
// ========== 事件類成就 ==========
{
id: 'event_explorer',
name: '事件探索者',
description: '觸發 20 個事件',
category: 'event',
condition: {
type: 'event_count',
value: 20
},
reward: {
buffs: {
luck: 2,
dropRate: 0.03
}
},
icon: '🔍'
},
{
id: 'lucky_one',
name: '幸運兒',
description: '觸發 5 個好事件',
category: 'event',
condition: {
type: 'event_type_count',
eventType: 'good',
value: 5
},
reward: {
buffs: {
luck: 5,
happinessRecovery: 0.05
}
},
icon: '🍀'
},
// ========== 特殊類成就 ==========
{
id: 'survivor',
name: '倖存者',
description: '從瀕死狀態恢復健康',
category: 'special',
condition: {
type: 'recovered_from_dying',
value: true
},
reward: {
buffs: {
health: 15,
healthRecovery: 0.20,
sicknessReduction: 0.15
}
},
icon: '💪'
},
{
id: 'perfect_day',
name: '完美的一天',
description: '飢餓、快樂、健康同時達到 100',
category: 'special',
condition: {
type: 'perfect_state',
value: true
},
reward: {
buffs: {
strGain: 0.05,
intGain: 0.05,
dexGain: 0.05,
happinessRecovery: 0.05
}
},
icon: '✨'
},
{
id: 'night_owl',
name: '夜貓子',
description: '累計睡眠 50 次',
category: 'special',
condition: {
type: 'action_count',
action: 'sleep',
value: 50
},
reward: {
buffs: {
health: 10,
healthRecovery: 0.10
}
},
icon: '🌙'
}
]
// 成就分類
export const ACHIEVEMENT_CATEGORIES = {
growth: { name: '成長', icon: '📈' },
interaction: { name: '互動', icon: '🤝' },
temple: { name: '神明', icon: '🙏' },
event: { name: '事件', icon: '🎲' },
special: { name: '特殊', icon: '⭐' }
}