From 914650c211aa7ef7e9099e3029ab0fc6a2295ec2 Mon Sep 17 00:00:00 2001 From: devbeni Date: Sun, 14 Dec 2025 01:17:20 +0100 Subject: [PATCH] asd --- Main.cs | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/Main.cs b/Main.cs index e1b5fa4..19930d3 100644 --- a/Main.cs +++ b/Main.cs @@ -479,6 +479,22 @@ namespace KCM { lastVillagerProbeMs = now; + // Proactively check and fix loadTickDelay every 2 seconds + int villagerDelay = GetLoadTickDelayOrMinusOne(VillagerSystem.inst); + int unitDelay = GetLoadTickDelayOrMinusOne(UnitSystem.inst); + int jobDelay = GetLoadTickDelayOrMinusOne(JobSystem.inst); + int playerDelay = GetLoadTickDelayOrMinusOne(Player.inst); + + if (villagerDelay <= 0 || unitDelay <= 0 || jobDelay <= 0 || playerDelay <= 0) + { + Main.helper.Log("LoadTickDelay refresh: delays were " + + playerDelay + "/" + unitDelay + "/" + jobDelay + "/" + villagerDelay + ", resetting to 1"); + SetLoadTickDelay(Player.inst, 1); + SetLoadTickDelay(UnitSystem.inst, 1); + SetLoadTickDelay(JobSystem.inst, 1); + SetLoadTickDelay(VillagerSystem.inst, 1); + } + Villager v = null; try { @@ -528,11 +544,15 @@ namespace KCM GetLoadTickDelayOrMinusOne(VillagerSystem.inst)); // Try to fix stalled systems by resetting loadTickDelay - if (GetLoadTickDelayOrMinusOne(VillagerSystem.inst) == -1 || - GetLoadTickDelayOrMinusOne(UnitSystem.inst) == -1 || - GetLoadTickDelayOrMinusOne(JobSystem.inst) == -1) + int villagerDelay = GetLoadTickDelayOrMinusOne(VillagerSystem.inst); + int unitDelay = GetLoadTickDelayOrMinusOne(UnitSystem.inst); + int jobDelay = GetLoadTickDelayOrMinusOne(JobSystem.inst); + int playerDelay = GetLoadTickDelayOrMinusOne(Player.inst); + + if (villagerDelay <= 0 || unitDelay <= 0 || jobDelay <= 0 || playerDelay <= 0) { - Main.helper.Log("VillagerStallDetect: Attempting to fix stalled systems"); + Main.helper.Log("VillagerStallDetect: Attempting to fix stalled systems (delays: " + + playerDelay + "/" + unitDelay + "/" + jobDelay + "/" + villagerDelay + ")"); SetLoadTickDelay(Player.inst, 1); SetLoadTickDelay(UnitSystem.inst, 1); SetLoadTickDelay(JobSystem.inst, 1);