fix(forsyning): rest ved fuldt mål køres til run'ets andet mål med mest plads før Wait; staldes læssestationer er aldrig kilde for halm/foder (kun output) (v1.18.6.0)

This commit is contained in:
2026-09-24 18:07:24 +02:00
parent 2d6d2c31a5
commit a281600760
6 changed files with 97 additions and 9 deletions
+20
View File
@@ -272,7 +272,27 @@ end
-- En fabriks læssestation udleverer også dens INPUTS (fx halm i en TMR-fabrik).
-- Dem stjæler vi aldrig — fabrikken ville løbe tør for det, den skal bruge.
-- Outputs (og varer der både er input og output i en kæde) må gerne hentes.
-- En STALDS læssestation udleverer kun staldens produktion. Den kan dog "have" halm/foder/vand
-- (strøelse, trug, udvidelseslagre inden for storageRadius) — dem henter vi aldrig dér.
local HUSBANDRY_OUTPUTS = {MILK = true, GOATMILK = true, BUFFALOMILK = true, SHEEPMILK = true, LIQUIDMANURE = true, MANURE = true, DIGESTATE = true, EGG = true, WOOL = true}
local function isProtectedHusbandryInput(station, fillTypes)
local placeable = station.owningPlaceable
if placeable == nil or placeable.getHusbandryFillLevel == nil or g_fillTypeManager == nil then
return false
end
for _, fillType in ipairs(fillTypes) do
if not HUSBANDRY_OUTPUTS[tostring(g_fillTypeManager:getFillTypeNameByIndex(fillType))] then
return true
end
end
return false
end
local function isProtectedProductionInput(station, fillTypes)
if isProtectedHusbandryInput(station, fillTypes) then
return true
end
local productionPoint = getProductionPoint(station)
if productionPoint == nil or productionPoint.productions == nil then
return false