fix(marksilo): tom silo — lånt vogn med last ved en tom marksilo kører resten til fabrik (plads til hele resten) ellers gårdlager; AD-ture fra marksiloer overtages igen efter genindlæsning (v1.50.4.0)

This commit is contained in:
2026-09-28 20:00:34 +02:00
parent 59e18acc9c
commit e778ab44b4
4 changed files with 99 additions and 1 deletions
+14
View File
@@ -45,6 +45,20 @@ local function chooseStore(stores, silo, fillType, liters, minLiters, reserved,
return best or most
end
-- Tom silo: en lånt vogn med last, der har stået stille ved en tom marksilo i REST_IDLE_MS, kører resten videre
-- (AutoDrive venter ellers til vognen er fuld). s = {atSilo, stillMs, siloStock, cargo}
ADFieldSiloPlanner.REST_IDLE_MS = 30000
ADFieldSiloPlanner.REST_MIN_LITERS = 100
function ADFieldSiloPlanner.restDue(s)
return s.atSilo == true and (s.stillMs or 0) >= ADFieldSiloPlanner.REST_IDLE_MS
and (s.cargo or 0) >= ADFieldSiloPlanner.REST_MIN_LITERS and (s.siloStock or 0) < ADFieldSiloPlanner.REST_MIN_LITERS
end
-- Lager til en rest: fabrik kun med plads til hele resten, ellers gårdlager (nærmeste med plads, ellers mest plads).
function ADFieldSiloPlanner.restStore(stores, silo, fillType, liters)
return chooseStore(stores, silo, fillType, liters, 1, {}, true) or chooseStore(stores, silo, fillType, liters, 1, {}, false)
end
local function canCarry(vehicle, fillType)
if (vehicle.capacity or 0) <= 0 then return false end
if vehicle.cargo ~= nil and vehicle.cargo ~= fillType then return false end