fix: under Wait peger AD's mål på Wait-punktet (AD tippede ellers i småportioner og holdt vognen); behov/bytte måles mod hjem-målet; mål gendannes ved hjemkørsel (v1.11.13.0)

This commit is contained in:
2026-09-23 03:10:52 +02:00
parent 827010ca99
commit 33f69cc6c8
5 changed files with 32 additions and 14 deletions
+3 -3
View File
@@ -13,12 +13,12 @@ ADLoadSwap.CHECK_INTERVAL_MS = 5000
local warnedNoSilo = setmetatable({}, {__mode = "k"})
-- Er en anden vare i listen så tom i målet, at et FULDT læs passer, og findes den i en silo?
function ADLoadSwap.findMissingIngredient(adEnv, vehicle, restFillType)
function ADLoadSwap.findMissingIngredient(adEnv, vehicle, restFillType, homeWayPointId)
local ingredients = ADSmartPickup.getIngredientsFor(adEnv, vehicle)
if ingredients == nil or #ingredients < 2 then
return nil
end
local choice = ADSmartPickup.findSupplyPickup(adEnv, vehicle, ingredients)
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
return nil
end
@@ -99,7 +99,7 @@ function ADLoadSwap.tryFromWait(adEnv, task, wait, dt, redirect, release, isReac
wait.swapTimerMs = 0
local vehicle = task.vehicle
-- Tager målet slet ikke varen (forkert last), skal den af uanset hvad der ellers mangler.
local missing = ADLoadSwap.findMissingIngredient(adEnv, vehicle, wait.fillType)
local missing = ADLoadSwap.findMissingIngredient(adEnv, vehicle, wait.fillType, wait.homeDestinationID)
if missing == nil and not wait.isRejected then
return false
end