/** * Server-side initial bot state. Mirrors web/js/bot-zoo.js createInitialBotState * so the server does not depend on browser modules. */ const PROFILE_OPTIONS = ["fast", "slow", "balanced"]; const INITIAL_COINS_MIN = 150; const INITIAL_COINS_MAX = 450; /** * @returns {{ coins: number, plotLevel: number, conveyorLevel: number, truckLevel: number, profile: string, lastTickAt: number }} */ export function createInitialBotState() { const coins = INITIAL_COINS_MIN + Math.floor(Math.random() * (INITIAL_COINS_MAX - INITIAL_COINS_MIN + 1)); const profile = PROFILE_OPTIONS[Math.floor(Math.random() * PROFILE_OPTIONS.length)]; return { coins, plotLevel: 1, conveyorLevel: 1, truckLevel: 1, profile, lastTickAt: 0, }; }