import type { GameState, ActiveResearch } from '@ai-tycoon/shared'; import { TECH_TREE } from '@ai-tycoon/game-engine'; export function startResearch(state: GameState, research: ActiveResearch): boolean { const node = TECH_TREE.find(n => n.id === research.researchId); if (!node) return false; const rpCost = node.cost.researchPoints ?? 0; if (rpCost > state.research.researchPoints) return false; if (state.research.activeResearch) { if (state.research.researchQueue.includes(research.researchId)) return false; state.research.researchQueue.push(research.researchId); state.research.researchPoints -= rpCost; return true; } state.research.activeResearch = research; state.research.researchPoints -= rpCost; return true; }