fix: en fabriks inputs stjæles aldrig som kilde; stalde læses via getHusbandry* (v1.6.1.0)
In-game 2026-09-22: fire Fastrac'er med halm+TMR til to kostalde kørte med 'Rotér mål: kun aflæsning' og fast pålæsning ved 'TMR Load' -> AutoDrive læssede halm (fabrikkens input) dér uden at modden var i spil. Med modden i spil ville 'mindst fyldte først' have valgt samme lager. - ADSupplyPlanner.isProductionInput: vare der er input (og ikke output) i en fabriks produktioner udelukkes som kilde i findBestSource (mappe + behov). - Stald som mål: niveau/kapacitet/understøttelse fra placeable:getHusbandry* (stationen selv siger nej til halm) -> halm rangeres og hentes. - README: to stalde = kun pålæsnings-rotation (AD vælger pickup FØR deliver roteres).
This commit is contained in:
@@ -76,6 +76,21 @@ function ADSupplyPlanner.collectProductionDemand(productions, isWanted, canCarry
|
||||
return demand
|
||||
end
|
||||
|
||||
-- Er varen et INPUT til fabrikken (og ikke også et output)? Så må den aldrig
|
||||
-- hentes derfra — det ville tømme fabrikken for det, den skal bruge.
|
||||
function ADSupplyPlanner.isProductionInput(productions, fillType)
|
||||
local isInput, isOutput = false, false
|
||||
for _, production in ipairs(productions) do
|
||||
for _, input in ipairs(production.inputs or {}) do
|
||||
if input.type == fillType then isInput = true end
|
||||
end
|
||||
for _, output in ipairs(production.outputs or {}) do
|
||||
if output.type == fillType then isOutput = true end
|
||||
end
|
||||
end
|
||||
return isInput and not isOutput
|
||||
end
|
||||
|
||||
-- Minutter før målets lager af varen er tomt ved nuværende forbrug; nil uden forbrug.
|
||||
function ADSupplyPlanner.minutesToEmpty(level, litersPerMinute)
|
||||
if litersPerMinute == nil or litersPerMinute <= 0 then
|
||||
|
||||
Reference in New Issue
Block a user