Mj2 : modular and prepare for client options
This commit is contained in:
@@ -17,12 +17,17 @@ async function pollAndExecute() {
|
||||
return;
|
||||
}
|
||||
|
||||
const buildCmd = cmdData.build;
|
||||
const recruitCmd = cmdData.recruit;
|
||||
const marketCmd = cmdData.market;
|
||||
const researchCmd = cmdData.research;
|
||||
const farmCmd = cmdData.farm;
|
||||
const farmUpgradeCmd = cmdData.farm_upgrade;
|
||||
// Feature flags — default to all on if server doesn't send them (backward compatible)
|
||||
const features = cmdData.enabled_features || ['farm', 'admin'];
|
||||
const farmOn = features.includes('farm');
|
||||
const adminOn = features.includes('admin');
|
||||
|
||||
const buildCmd = adminOn ? cmdData.build : null;
|
||||
const recruitCmd = adminOn ? cmdData.recruit : null;
|
||||
const marketCmd = adminOn ? cmdData.market : null;
|
||||
const researchCmd = adminOn ? cmdData.research : null;
|
||||
const farmCmd = farmOn ? cmdData.farm : null;
|
||||
const farmUpgradeCmd = farmOn ? cmdData.farm_upgrade : null;
|
||||
|
||||
if (cmdData.sync_requested) {
|
||||
log('Sync requested by server — pushing state immediately');
|
||||
@@ -63,9 +68,9 @@ async function pollAndExecute() {
|
||||
await execute(farmCmd);
|
||||
await execute(farmUpgradeCmd);
|
||||
|
||||
// Auto-farm: if enabled, claim all ready farms (no explicit command needed)
|
||||
// Auto-farm: only if farm feature is enabled
|
||||
const farmSettings = cmdData.farm_settings || {};
|
||||
if (farmSettings.enabled && !farmCmd) {
|
||||
if (farmOn && farmSettings.enabled && !farmCmd) {
|
||||
const nowTs = Math.floor(Date.now() / 1000);
|
||||
let readyFarms = [];
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user