73 lines
1.5 KiB
TypeScript
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 },
|
|
}
|