c1cc70eeb9
Full rebrand: UI display text, package scope (@ai-tycoon/* -> @token-empire/*), localStorage keys, Docker/CI image paths, database names, and documentation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
110 lines
3.3 KiB
TypeScript
110 lines
3.3 KiB
TypeScript
import type { AchievementDefinition } from '@token-empire/shared';
|
|
|
|
export const ACHIEVEMENT_DEFINITIONS: AchievementDefinition[] = [
|
|
{
|
|
id: 'first-dc',
|
|
name: 'First Steps',
|
|
description: 'Build your first data center.',
|
|
icon: 'Server',
|
|
condition: { field: 'infrastructure.totalDataCenterCount', operator: 'gte', value: 1 },
|
|
},
|
|
{
|
|
id: 'first-model',
|
|
name: 'Hello World',
|
|
description: 'Train your first AI model.',
|
|
icon: 'Brain',
|
|
condition: { field: 'models.baseModels.length', operator: 'gte', value: 1 },
|
|
},
|
|
{
|
|
id: 'first-deploy',
|
|
name: 'Going Live',
|
|
description: 'Deploy a model to production.',
|
|
icon: 'Rocket',
|
|
condition: { field: 'meta._deployedModelCount', operator: 'gte', value: 1 },
|
|
},
|
|
{
|
|
id: 'first-revenue',
|
|
name: 'First Dollar',
|
|
description: 'Earn your first revenue.',
|
|
icon: 'DollarSign',
|
|
condition: { field: 'economy.totalRevenue', operator: 'gt', value: 0 },
|
|
},
|
|
{
|
|
id: 'seed-funded',
|
|
name: 'Seed Funded',
|
|
description: 'Complete your seed funding round.',
|
|
icon: 'Sprout',
|
|
condition: { field: 'economy.funding.completedRounds.length', operator: 'gte', value: 1 },
|
|
},
|
|
{
|
|
id: '1k-subscribers',
|
|
name: '1K Club',
|
|
description: 'Reach 1,000 subscribers.',
|
|
icon: 'Users',
|
|
condition: { field: 'market.consumers.totalSubscribers', operator: 'gte', value: 1_000 },
|
|
},
|
|
{
|
|
id: '100k-subscribers',
|
|
name: 'Mass Adoption',
|
|
description: 'Reach 100,000 subscribers.',
|
|
icon: 'Globe',
|
|
condition: { field: 'market.consumers.totalSubscribers', operator: 'gte', value: 100_000 },
|
|
},
|
|
{
|
|
id: 'unicorn',
|
|
name: 'Unicorn',
|
|
description: 'Reach a $1B valuation.',
|
|
icon: 'Sparkles',
|
|
condition: { field: 'economy.funding.valuation', operator: 'gte', value: 1_000_000_000 },
|
|
},
|
|
{
|
|
id: 'era-scaleup',
|
|
name: 'Scaling Up',
|
|
description: 'Enter the Scale-up era.',
|
|
icon: 'TrendingUp',
|
|
condition: { field: 'meta._eraIndex', operator: 'gte', value: 1 },
|
|
},
|
|
{
|
|
id: 'era-bigtech',
|
|
name: 'Big League',
|
|
description: 'Enter the Big Tech era.',
|
|
icon: 'Building2',
|
|
condition: { field: 'meta._eraIndex', operator: 'gte', value: 2 },
|
|
},
|
|
{
|
|
id: 'era-agi',
|
|
name: 'The Singularity',
|
|
description: 'Enter the AGI era.',
|
|
icon: 'Atom',
|
|
condition: { field: 'meta._eraIndex', operator: 'gte', value: 3 },
|
|
},
|
|
{
|
|
id: 'rack-hoarder',
|
|
name: 'Rack Hoarder',
|
|
description: 'Have 50 or more production racks across all data centers.',
|
|
icon: 'Cpu',
|
|
condition: { field: 'infrastructure.totalRackCount', operator: 'gte', value: 50 },
|
|
},
|
|
{
|
|
id: 'research-pioneer',
|
|
name: 'Research Pioneer',
|
|
description: 'Complete 10 research projects.',
|
|
icon: 'FlaskConical',
|
|
condition: { field: 'research.completedResearch.length', operator: 'gte', value: 10 },
|
|
},
|
|
{
|
|
id: 'open-source-champion',
|
|
name: 'Open Source Champion',
|
|
description: 'Open-source 3 models.',
|
|
icon: 'GitBranch',
|
|
condition: { field: 'market.openSourcedModels.length', operator: 'gte', value: 3 },
|
|
},
|
|
{
|
|
id: 'speed-demon',
|
|
name: 'Speed Demon',
|
|
description: 'Reach 1 million tokens/second inference capacity.',
|
|
icon: 'Zap',
|
|
condition: { field: 'compute.tokensPerSecondCapacity', operator: 'gte', value: 1_000_000 },
|
|
},
|
|
];
|