fix: læs-bytte også når vognen er større end staldens lager — nok at en anden vare mangler 25 % (v1.13.7.0)
This commit is contained in:
@@ -9,6 +9,8 @@ ADLoadSwap = {}
|
||||
ADLoadSwap.LOG_PREFIX = "ADSmartPickup: "
|
||||
-- Opslaget går over alle markører; ventende traktorer tjekker derfor kun så tit.
|
||||
ADLoadSwap.CHECK_INTERVAL_MS = 5000
|
||||
-- Byt også når et fuldt læs ikke passer, hvis den manglende vare mangler mindst så stor en andel af sit lager.
|
||||
ADLoadSwap.MIN_MISSING_FRACTION = 0.25
|
||||
|
||||
local warnedNoSilo = setmetatable({}, {__mode = "k"})
|
||||
|
||||
@@ -19,7 +21,15 @@ function ADLoadSwap.findMissingIngredient(adEnv, vehicle, restFillType, homeWayP
|
||||
return nil
|
||||
end
|
||||
local choice = ADSmartPickup.findSupplyPickup(adEnv, vehicle, ingredients, homeWayPointId)
|
||||
if choice == nil or choice.fillType == nil or choice.fillType == restFillType or choice.need.fits ~= true then
|
||||
if choice == nil or choice.fillType == nil or choice.fillType == restFillType then
|
||||
return nil
|
||||
end
|
||||
-- Et fuldt læs der passer er det bedste; men er vognen større end staldens lager, passer det aldrig
|
||||
-- (Fastrac med stor vogn ved en kostald) — så er det nok at varen mangler en tydelig del.
|
||||
local need = choice.need
|
||||
local missesEnough = need.capacity ~= nil and need.capacity > 0 and need.freeSpace ~= nil
|
||||
and need.freeSpace >= need.capacity * ADLoadSwap.MIN_MISSING_FRACTION
|
||||
if need.fits ~= true and not missesEnough then
|
||||
return nil
|
||||
end
|
||||
return choice
|
||||
|
||||
Reference in New Issue
Block a user