fix farm resourses

This commit is contained in:
2026-05-01 02:30:21 +03:00
parent 2921dff257
commit cf3c2e7b4f
2 changed files with 24 additions and 10 deletions

View File

@@ -9,6 +9,26 @@
let farmLootRunning = false;
let lastKnownFarmSettings = {};
// Loot option → cooldown ms (matches game's farm timer options)
const LOOT_TIMINGS = { 1: 300000, 2: 1200000, 3: 5400000, 4: 14400000 };
// ----------------------------------------------------------------
// scheduleNextFarm — fires autoFarmLoop once, then reschedules
// Delay = loot_option cooldown + random 30-120s human jitter.
// This mirrors ModernBot's pattern: run exactly when farms are ready.
// ----------------------------------------------------------------
function scheduleNextFarm() {
const option = lastKnownFarmSettings.loot_option || 1;
const baseMs = LOOT_TIMINGS[option] || 300000;
const jitterMs = randInt(30000, 120000); // +30 to +120 s
const totalMs = baseMs + jitterMs;
log(`⏰ Next auto-farm in ${(totalMs / 60000).toFixed(1)} min (option ${option} + ${(jitterMs/1000).toFixed(0)}s jitter)`);
setTimeout(async () => {
await autoFarmLoop();
scheduleNextFarm();
}, totalMs);
}
// ----------------------------------------------------------------
// pollAndExecute — runs every 818 s (main command loop)
// Handles builds, recruits, market, research, explicit farm commands.
@@ -196,7 +216,7 @@ function boot() {
setTimeout(pushState, 5000);
jitterLoop(pushState, 60000, 120000); // state sync every 12 min
jitterLoop(pollAndExecute, 8000, 18000); // command poll every 818 s
jitterLoop(autoFarmLoop, 60000, 120000); // auto-farm every 12 min
scheduleNextFarm(); // auto-farm timer-based (loot_option + 30120s)
jitterLoop(autoBootcampLoop, 720000, 1320000); // bootcamp every 1222 min
jitterLoop(autoRuralTradeLoop, 1500000, 2700000); // rural trade every 2545 min
}