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

51 lines
825 B
TypeScript

export interface Crop {
id: string
name: string
growthTicks: number
waterPerTick: number
yield: number
yieldType: string
fertilityDepletion: number
}
export interface CropDefinitions {
[key: string]: Crop
}
export interface PlotState {
intended?: string
current?: {
cropId: string
progress: number
mature: boolean
}
moisture: number
fertility: number
}
export interface InventoryItem {
id: string
count: number
}
export interface GameState {
cash: number
inventory: Record<string, number>
fieldSize: number
maxFieldSize: number
fieldUpgradeCosts: number[]
plots: PlotState[][]
gameSpeed: number
actionCooldown: number
}
export interface MarketTransaction {
itemId: string
amount: number
type: 'buy' | 'sell'
position: {
x: number
y: number
}
}