feat: add more achievements

This commit is contained in:
2026-01-19 19:39:36 -08:00
parent d72ca7a975
commit da566f408e
4 changed files with 416 additions and 4 deletions
+168
View File
@@ -283,6 +283,154 @@ const achievementDefinitions: Record<AchievementId, Omit<Achievement, 'unlocked'
rarity: 'epic',
maxProgress: 10000,
},
// Relationship & Greetings
GoodMorning: {
id: 'GoodMorning',
name: 'Good Morning!',
description: 'Greeted Hikari with a good morning',
icon: 'πŸŒ…',
rarity: 'common',
maxProgress: 1,
},
GoodNight: {
id: 'GoodNight',
name: 'Sweet Dreams',
description: 'Said good night to Hikari',
icon: 'πŸŒ™',
rarity: 'common',
maxProgress: 1,
},
ThankYou: {
id: 'ThankYou',
name: 'Grateful Heart',
description: 'Thanked Hikari for her help',
icon: 'πŸ™',
rarity: 'common',
maxProgress: 1,
},
LoveYou: {
id: 'LoveYou',
name: 'Heartfelt',
description: 'Expressed love to Hikari',
icon: 'πŸ’•',
rarity: 'rare',
maxProgress: 1,
},
// Personality & Fun
EmojiUser: {
id: 'EmojiUser',
name: 'Emoji Master',
description: 'Used 20+ emojis in messages',
icon: 'πŸ˜„',
rarity: 'common',
maxProgress: 20,
},
CapsLock: {
id: 'CapsLock',
name: 'CAPS LOCK',
description: 'SENT A MESSAGE IN ALL CAPS',
icon: 'πŸ”Š',
rarity: 'common',
maxProgress: 1,
},
QuestionMaster: {
id: 'QuestionMaster',
name: 'Question Master',
description: 'Asked 50 questions',
icon: '❓',
rarity: 'common',
maxProgress: 50,
},
PleaseAndThankYou: {
id: 'PleaseAndThankYou',
name: 'Polite Programmer',
description: 'Always says please and thank you',
icon: '🎩',
rarity: 'common',
maxProgress: 10,
},
// Git & Development
CommitMaster: {
id: 'CommitMaster',
name: 'Commit Master',
description: 'Made 100 commits through Hikari',
icon: 'πŸ“',
rarity: 'rare',
maxProgress: 100,
},
PRO: {
id: 'PRO',
name: 'PRO',
description: 'Created 10 pull requests',
icon: 'πŸ”€',
rarity: 'rare',
maxProgress: 10,
},
Reviewer: {
id: 'Reviewer',
name: 'Code Reviewer',
description: 'Reviewed 10 pull requests',
icon: 'πŸ‘€',
rarity: 'rare',
maxProgress: 10,
},
IssueTracker: {
id: 'IssueTracker',
name: 'Issue Tracker',
description: 'Created 25 issues',
icon: '🎯',
rarity: 'rare',
maxProgress: 25,
},
GitGuru: {
id: 'GitGuru',
name: 'Git Guru',
description: 'Mastered git operations',
icon: '🌲',
rarity: 'epic',
},
// Tool Mastery
BashMaster: {
id: 'BashMaster',
name: 'Bash Master',
description: 'Used bash commands 100 times',
icon: 'πŸ’»',
rarity: 'rare',
maxProgress: 100,
},
FileExplorer: {
id: 'FileExplorer',
name: 'File Explorer',
description: 'Explored files 100 times',
icon: 'πŸ“‚',
rarity: 'common',
maxProgress: 100,
},
SearchExpert: {
id: 'SearchExpert',
name: 'Search Expert',
description: 'Mastered advanced search queries',
icon: 'πŸ”Ž',
rarity: 'rare',
},
AgentCommander: {
id: 'AgentCommander',
name: 'Agent Commander',
description: 'Used task agents effectively',
icon: 'πŸ€–',
rarity: 'rare',
},
MCPMaster: {
id: 'MCPMaster',
name: 'MCP Master',
description: 'Mastered MCP tool usage',
icon: 'πŸ› οΈ',
rarity: 'epic',
},
};
// Initialize all achievements as locked
@@ -447,6 +595,26 @@ export const achievementCategories = [
description: 'Your coding session achievements',
ids: ['QuickSession', 'FocusedWork', 'DeepDive', 'MarathonSession', 'MarathonCoder'] as AchievementId[],
},
{
name: 'Relationship & Greetings',
description: 'Our special moments together',
ids: ['GoodMorning', 'GoodNight', 'ThankYou', 'LoveYou'] as AchievementId[],
},
{
name: 'Personality & Fun',
description: 'Express yourself!',
ids: ['EmojiUser', 'CapsLock', 'QuestionMaster', 'PleaseAndThankYou'] as AchievementId[],
},
{
name: 'Git & Development',
description: 'Version control mastery',
ids: ['CommitMaster', 'PRO', 'Reviewer', 'IssueTracker', 'GitGuru'] as AchievementId[],
},
{
name: 'Tool Mastery',
description: 'Master of all tools',
ids: ['BashMaster', 'FileExplorer', 'SearchExpert', 'AgentCommander', 'MCPMaster'] as AchievementId[],
},
{
name: 'Special',
description: 'Unique accomplishments',