fix: ventende traktorer genoptages efter genindlæsning (AD's mål = Wait-punkt, ventetilstand tabt) (v1.12.9.0)

This commit is contained in:
2026-09-23 11:51:48 +02:00
parent 196c2cd847
commit 448af2bbea
4 changed files with 80 additions and 1 deletions
+30
View File
@@ -1067,6 +1067,36 @@ manager:getNextPickup(chatty, false); manager:getNextPickup(chatty, false)
check("L6 gentaget valg logges én gang", #logLines, 1)
check("L6 loggen viser eget lager", logLines[1]:find("eget lager", 1, true) ~= nil, true)
-- W15: efter genindlæsning er ventetilstanden væk, men AD's mål peger stadig på Wait-punktet og
-- traktoren står der med rest-læs -> ventningen genoptages (hjem = run'ets mål) og den kører hjem
-- når der er plads
buildWaitWorld()
local orphan, orphanTask = makeUnloadingVehicle("Genindlæst", 515, 5090, 20000)
orphan.uniqueId = "vehicleOrphan"
orphan.spec_motorized = {}
orphan.ad.stateModule.secondMarkerId = 40 -- AD's gemte mål = Wait 1
orphanTask.destinationID = 40
orphan.ad.taskModule = {getActiveTask = function() return orphanTask end}
testVehicles = {orphan}
ADRunsController.store = ADRuns.newStore()
local orphanRun = ADRunsController.createRun("Cow Feed")
ADRunsController.updateRun(orphanRun.id, {targetWayPointId = 30})
ADRunsController.assignVehicle(orphanRun.id, orphan)
check("W15 ingen ventning før", ADUnloadWait.getWaitFor(orphan), nil)
ADUnloadWait.adoptOrphans(FS25_AutoDrive)
local adopted = ADUnloadWait.getWaitFor(orphan)
check("W15 ventning genoptaget", adopted ~= nil and adopted.markerName, "Wait 1")
check("W15 Wait-punktet reserveret", ADWaitPool.getOwner(40), orphan)
check("W15 hjem-mål husket", ADUnloadWait.getPendingTargetRestore(orphan), 30)
check("W15 logget", logLines[#logLines]:find("genoptager", 1, true) ~= nil, true)
ADUnloadWait.adoptOrphans(FS25_AutoDrive)
check("W15 ikke dobbelt", ADWaitPool.getOwner(40), orphan)
waitBarnLevels[STRAW] = 0 -- plads til hele resten
UnloadTask.update(orphanTask, 16)
check("W15 kører hjem", orphanTask.destinationID, 30)
check("W15 AD's mål gendannet", orphan.ad.stateModule.secondMarkerId, 30)
testVehicles = {}
-- X: udkørsel koblet på getNextPickup-wrap'en og Wait-logikken
resetWorld()
addMarker(1, "Suger Load", "Pickup points", 0, 0); table.insert(stations, makeStation(101, 0, 15, {[WHEAT] = 1000}))