128 lines
3.5 KiB
JavaScript
128 lines
3.5 KiB
JavaScript
// Production - The Idle Game: B2B Procurement Contracts Board
|
|
// Dynamic and recurring corporate tenders offering massive cash bonuses and prestige points
|
|
|
|
export const CONTRACT_CLIENTS = [
|
|
{
|
|
id: 'apex_retail',
|
|
name: 'Apex Superstores Corp.',
|
|
icon: 'lucide:shopping-bag',
|
|
badge: 'Retail Giant',
|
|
description: 'Nationwide department chain needing consumer goods and foodstuffs.'
|
|
},
|
|
{
|
|
id: 'titan_construction',
|
|
name: 'Titan Infrastructure Ltd.',
|
|
icon: 'lucide:hard-hat',
|
|
badge: 'Civil Engineering',
|
|
description: 'Infrastructure contractor requiring steel, lumber, and heavy frames.'
|
|
},
|
|
{
|
|
id: 'omni_tech',
|
|
name: 'Omni Technologies Global',
|
|
icon: 'lucide:cpu',
|
|
badge: 'High-Tech Conglomerate',
|
|
description: 'Electronics powerhouse sourcing chips, polymers, and smart devices.'
|
|
},
|
|
{
|
|
id: 'vanguard_logistics',
|
|
name: 'Vanguard Transport Group',
|
|
icon: 'lucide:container',
|
|
badge: 'Logistics Network',
|
|
description: 'Freight operator expanding vehicle fleets and packaging rolls.'
|
|
}
|
|
];
|
|
|
|
export const CONTRACT_TEMPLATES = [
|
|
{
|
|
id: 'c_bakery_bulk',
|
|
clientId: 'apex_retail',
|
|
title: 'Supermarket Bakery Stocking',
|
|
productId: 'fresh_bread',
|
|
requiredAmount: 50,
|
|
rewardCash: 4500,
|
|
rewardRep: 10,
|
|
timeLimit: 120, // 2 minutes
|
|
tierReq: 1
|
|
},
|
|
{
|
|
id: 'c_timber_scaffold',
|
|
clientId: 'titan_construction',
|
|
title: 'Metro Scaffolding Project',
|
|
productId: 'planks',
|
|
requiredAmount: 100,
|
|
rewardCash: 18000,
|
|
rewardRep: 25,
|
|
timeLimit: 180,
|
|
tierReq: 1
|
|
},
|
|
{
|
|
id: 'c_steel_bridge',
|
|
clientId: 'titan_construction',
|
|
title: 'Highway Overpass Framework',
|
|
productId: 'steel_ingots',
|
|
requiredAmount: 120,
|
|
rewardCash: 125000,
|
|
rewardRep: 60,
|
|
timeLimit: 240,
|
|
tierReq: 2
|
|
},
|
|
{
|
|
id: 'c_paper_packaging',
|
|
clientId: 'vanguard_logistics',
|
|
title: 'National Distribution Packaging',
|
|
productId: 'paper',
|
|
requiredAmount: 250,
|
|
rewardCash: 65000,
|
|
rewardRep: 40,
|
|
timeLimit: 200,
|
|
tierReq: 2
|
|
},
|
|
{
|
|
id: 'c_poly_molding',
|
|
clientId: 'omni_tech',
|
|
title: 'Device Casing Polymer Supply',
|
|
productId: 'polymers',
|
|
requiredAmount: 150,
|
|
rewardCash: 480000,
|
|
rewardRep: 120,
|
|
timeLimit: 300,
|
|
tierReq: 3
|
|
},
|
|
{
|
|
id: 'c_silicon_fab',
|
|
clientId: 'omni_tech',
|
|
title: 'Cleanroom Wafer Ingot Batch',
|
|
productId: 'silicon',
|
|
requiredAmount: 80,
|
|
rewardCash: 620000,
|
|
rewardRep: 180,
|
|
timeLimit: 300,
|
|
tierReq: 3
|
|
},
|
|
{
|
|
id: 'c_board_supply',
|
|
clientId: 'omni_tech',
|
|
title: 'Server Farm Motherboard Tender',
|
|
productId: 'circuit_boards',
|
|
requiredAmount: 60,
|
|
rewardCash: 2400000,
|
|
rewardRep: 350,
|
|
timeLimit: 360,
|
|
tierReq: 4
|
|
},
|
|
{
|
|
id: 'c_fleet_expansion',
|
|
clientId: 'vanguard_logistics',
|
|
title: 'Interstate Transport Fleet Order',
|
|
productId: 'commercial_trucks',
|
|
requiredAmount: 25,
|
|
rewardCash: 12500000,
|
|
rewardRep: 800,
|
|
timeLimit: 480,
|
|
tierReq: 5
|
|
}
|
|
];
|
|
|
|
export function getClient(id) {
|
|
return CONTRACT_CLIENTS.find(c => c.id === id) || CONTRACT_CLIENTS[0];
|
|
}
|