fix(reserve): staldens output (mælk/gylle) er ikke foderbehov — kun krybbe-varer/foderdefinition; Milk Salg holdt med 784k 'reserveret' (v1.17.2.0)

This commit is contained in:
2026-09-24 03:29:47 +02:00
parent 0cbe663443
commit e7c482a3cb
5 changed files with 42 additions and 4 deletions
+21
View File
@@ -287,6 +287,27 @@ tmrStorage.fillLevels[BEET] = 20000
tmrFactory.spec_productionPoint.productionPoint.getIsProductionEnabled = function() return false end
check("S11 slukket produktion -> 0", ADSources.getFarmDemand(adEnv, BEET, 1, {}).liters, 0)
-- S11b: staldens OUTPUT (mælk, gylle) er aldrig et behov — kun varer i foderkrybben er foder
local MILK_OUT = 13
local feedBarn = {
rootNode = {x = 960, z = 960}, ownerFarmId = 1, getOwnerFarmId = function() return 1 end, getName = function() return "Malkestald" end,
spec_husbandryFood = {litersPerHour = 2000, fillLevels = {[FORAGE] = 1000}},
getHusbandryIsFillTypeSupported = function(self, ft) return ft == MILK_OUT or ft == FORAGE end,
getHusbandryFillLevel = function(self, ft) return ft == MILK_OUT and 200000 or ft == FORAGE and 1000 or 0 end,
getHusbandryFreeCapacity = function(self, ft) return 9999999 end,
}
table.insert(g_currentMission.placeableSystem.placeables, feedBarn)
check("S11b mælk er ikke behov", ADSources.getFarmDemand(adEnv, MILK_OUT, 1, {}).liters, 0)
check("S11b foder er behov (2000 l/t × 24 − 1000)", ADSources.getFarmDemand(adEnv, FORAGE, 1, {}).liters, 47000)
-- tom krybbe: foderet kendes fra dyretypens foderdefinition
feedBarn.spec_husbandryFood.fillLevels = {}
feedBarn.getHusbandryFillLevel = function(self, ft) return ft == MILK_OUT and 200000 or 0 end
g_currentMission.animalFoodSystem = {getAnimalFood = function() return {groups = {{fillTypes = {FORAGE}}}} end}
check("S11b tom krybbe: foder stadig behov", ADSources.getFarmDemand(adEnv, FORAGE, 1, {}).liters, 48000)
check("S11b tom krybbe: mælk stadig ikke behov", ADSources.getFarmDemand(adEnv, MILK_OUT, 1, {}).liters, 0)
g_currentMission.animalFoodSystem = nil
table.remove(g_currentMission.placeableSystem.placeables)
-- S12 (inventar): alt gården har liggende, pr. bygning, kun bygninger med indhold
factory.ownerFarmId = 1; silo.ownerFarmId = 1; objectStorage.ownerFarmId = 1
local inventory = ADSources.getFarmInventory(adEnv, 1)