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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user