DionysianIdle/src/constants/index.ts
2025-05-18 12:53:49 -05:00

73 lines
1.5 KiB
TypeScript

import { CropDefinitions } from '../types'
export const INITIAL_CASH = 50
export const INITIAL_FIELD_SIZE = 3
export const COOLDOWN_DURATION = 2000 // 2 seconds in milliseconds
export const TICK_INTERVAL = 12000 // 12 seconds in milliseconds
export const GAME_SPEEDS = {
NORMAL: 1,
FAST: 5,
SUPER_FAST: 10,
}
export const INITIAL_GAME_SPEED = GAME_SPEEDS.NORMAL
export const FIELD_UPGRADE_COSTS = [100, 1000, 10000, 100000]
export const CROPS: CropDefinitions = {
celery: {
id: 'celery',
name: 'Celery',
growthTicks: 36,
waterPerTick: 1 / 20,
yield: 1,
yieldType: 'celery',
fertilityDepletion: 0.1,
},
corn: {
id: 'corn',
name: 'Corn',
growthTicks: 120,
waterPerTick: 1 / 40,
yield: 5,
yieldType: 'corn',
fertilityDepletion: 0.3,
},
}
export const INITIAL_INVENTORY = {
celery_seed: 8,
}
export interface MarketItem {
id: string
name: string
emoji: string
buyPrice: number | null // null means not buyable
sellPrice: number | null // null means not sellable
}
export const MARKET_ITEMS: Record<string, MarketItem> = {
celery_seed: {
id: 'celery_seed',
name: 'Celery Seeds',
emoji: '🌰',
buyPrice: 1,
sellPrice: null,
},
corn_seed: {
id: 'corn_seed',
name: 'Corn Seeds',
emoji: '🌰',
buyPrice: 5,
sellPrice: null,
},
celery: {
id: 'celery',
name: 'Celery',
emoji: '🥬',
buyPrice: null,
sellPrice: 5,
},
corn: { id: 'corn', name: 'Corn', emoji: '🌽', buyPrice: null, sellPrice: 8 },
}