fix(forsyning): mindst fyldte kilde først kun blandt kilder med >= 25 % af et læs (ellers fyldeste) — foder-traktorer hentede 2-10k l i en gæringssilo der fyldes løbende; knappen viser Start for et flow der aldrig kom i gang, selv med vogn på (v1.57.0.0)
This commit is contained in:
@@ -29,15 +29,32 @@ function ADSupplyPlanner.prefersFullestSource(fillTypeNames)
|
||||
return true
|
||||
end
|
||||
|
||||
-- "Rigelig" kilde: kan levere mindst MIN_LOAD_SHARE af et læs (mindst MIN_AMPLE_LITERS).
|
||||
ADSupplyPlanner.MIN_LOAD_SHARE = 0.25
|
||||
ADSupplyPlanner.MIN_AMPLE_LITERS = 5000
|
||||
|
||||
function ADSupplyPlanner.ampleLevel(loadCapacity)
|
||||
return math.max(ADSupplyPlanner.MIN_AMPLE_LITERS, (loadCapacity or 0) * ADSupplyPlanner.MIN_LOAD_SHARE)
|
||||
end
|
||||
|
||||
-- Er en kilde med dette niveau bedre end den hidtil bedste (nil = ingen endnu)?
|
||||
function ADSupplyPlanner.isBetterSource(level, bestLevel, prefersFullest)
|
||||
-- Lagervarer: mindst fyldte først, men kun blandt rigelige kilder — en næsten tom tank der fyldes løbende
|
||||
-- (gæringssilo) ville ellers altid vinde og give et par tusind liter pr. tur (in-game 29/9). Ingen rigelige:
|
||||
-- den fyldeste. ample = nil: gammel regel.
|
||||
function ADSupplyPlanner.isBetterSource(level, bestLevel, prefersFullest, ample)
|
||||
if bestLevel == nil then
|
||||
return true
|
||||
end
|
||||
if prefersFullest then
|
||||
return level > bestLevel
|
||||
end
|
||||
return level < bestLevel
|
||||
if ample == nil then
|
||||
return level < bestLevel
|
||||
end
|
||||
local isAmple, bestIsAmple = level >= ample, bestLevel >= ample
|
||||
if isAmple ~= bestIsAmple then return isAmple end
|
||||
if isAmple then return level < bestLevel end
|
||||
return level > bestLevel
|
||||
end
|
||||
|
||||
function ADSupplyPlanner.copyList(list)
|
||||
|
||||
Reference in New Issue
Block a user