fix(kæde): markvarer som hø og hakkelse kommer fra markerne
ADChainData leverer data.fieldGoods (vindue-varer, spillets konvertere, tørrede varianter og kendte markvarer der findes som fill type). En markvare uden producent/stald får kilden "fra marker" uden afgrødeplan og uden problem, så fermenteringssiloernes hø/lucerne/kløver/hakkelse ikke meldes som køb.
This commit is contained in:
@@ -47,7 +47,9 @@ local function sortedNames(map)
|
||||
return names
|
||||
end
|
||||
|
||||
function ADChainModel.build(recipes, husbandry, crops)
|
||||
-- fieldGoods = {[vare] = true}: varer der høstes/laves på marken uden at være en afgrødes hovedvare (hø, hakkelse,
|
||||
-- halm …). Uden producent/stald er kilden "field" uden afgrøde: intet markbehov og intet problem.
|
||||
function ADChainModel.build(recipes, husbandry, crops, fieldGoods)
|
||||
local chain = {roots = {}, demand = {}, fieldDemand = {}, needRecipes = {}, problems = {}}
|
||||
local producers, herds = indexProducers(recipes), indexHerds(husbandry)
|
||||
-- Rødderne kører for sig selv med fuld fart: deres egne input kræves af deres eget træ. Som leverandør til en
|
||||
@@ -136,6 +138,11 @@ function ADChainModel.build(recipes, husbandry, crops)
|
||||
chain.fieldDemand[node.fruit] = (chain.fieldDemand[node.fruit] or 0) + rest
|
||||
rest = 0
|
||||
end
|
||||
-- c2) markvare uden egen afgrøde (fx hø, hakkelse): kommer fra markerne, ingen afgrødeplan
|
||||
if rest > 1e-9 and #node.producers == 0 and #node.herds == 0 and fieldGoods ~= nil and fieldGoods[name] then
|
||||
node.source, node.fruit = "field", nil
|
||||
rest = 0
|
||||
end
|
||||
-- d) ingen kilde (eller rest efter stald), eller exhausted producers
|
||||
if rest > 1e-9 and makers ~= nil and #node.producers == 0 and #node.herds == 0 then
|
||||
node.source = "production"
|
||||
|
||||
Reference in New Issue
Block a user