fix: Wait-markører aldrig mål i forsynings-runs; kilde-advarsel forklarer hvad opslaget ser ved markøren (v1.12.20.0)

This commit is contained in:
2026-09-23 18:00:42 +02:00
parent cc0a9f4157
commit 034286f69e
6 changed files with 60 additions and 4 deletions
+27
View File
@@ -156,6 +156,33 @@ function ADSources.identify(adEnv, wayPointId, farmId)
return nil
end
-- Til advarslen "kilde-markør X er ikke …": hvad opslaget faktisk ser ved markøren.
function ADSources.explainMarker(adEnv, wayPointId, farmId)
local wayPoint = adEnv.ADGraphManager:getWayPointById(wayPointId)
if wayPoint == nil then
return "markøren har intet waypoint (slettet?)"
end
local station = ADSmartPickup.getLoadStationAtWayPointId(adEnv, wayPointId, farmId)
if station == nil then
local factory = findPlaceableNear(wayPoint, farmId, isProductionPoint)
local storage = findPlaceableNear(wayPoint, farmId, isObjectStorage)
if factory == nil and storage == nil then
return "ingen læssestation ved markøren, og ingen fabrik/objektlager inden for 40 m"
end
return string.format("ingen læssestation ved markøren; nærmeste bygning: %s", getPlaceableName(factory or storage, "?"))
end
local placeable = station.owningPlaceable
if placeable == nil then
return "læssestation ved markøren uden bygning (owningPlaceable = nil)"
end
local kind = "ukendt bygningstype"
if getProductionPoint(placeable) ~= nil then kind = "fabrik"
elseif placeable.spec_silo ~= nil then kind = "silo"
elseif placeable.getHusbandryFillLevel ~= nil then kind = "stald"
elseif placeable.spec_objectStorage ~= nil then kind = "objektlager" end
return string.format("læssestation ved markøren hører til '%s' (%s)", getPlaceableName(placeable, "?"), kind)
end
local function isPalletVehicle(vehicle)
return vehicle ~= nil and (vehicle.spec_pallet ~= nil or vehicle.isPallet == true)
end