feat(pulje): etape 3 — marksilo-flowet låner også ledig solo-traktor + puljevogn: henter vognen, kører Hent og aflever, sætter vognen af og kører hjem; høstreserven tæller puljevogne (v1.50.0.0)
This commit is contained in:
@@ -153,6 +153,25 @@ function ADPool.pairFor(role, fieldX, fieldZ, implements, tractors, blocked, acc
|
||||
return nil, "tooWeak", {weakest ~= nil and weakest.neededHp or 0, weakest ~= nil and weakest.name or "?"}
|
||||
end
|
||||
|
||||
-- Alle frie puljeredskaber med rollen, hver parret med den nærmeste endnu ubrugte traktor med nok hk
|
||||
-- (marksilo-flowet planlægger over mange vogne på én gang).
|
||||
function ADPool.pairAll(role, implements, tractors, blocked)
|
||||
blocked = blocked or {}
|
||||
local used, result = {}, {}
|
||||
for _, implement in ipairs(implements or {}) do
|
||||
if hasRole(implement, role) and not blocked[implement.id] then
|
||||
local tractor = nearest(tractors or {}, implement.x, implement.z, function(t)
|
||||
return not used[t.id] and not blocked[t.id] and not t.offNetwork and ADPool.powerOk(t.hp, implement.neededHp)
|
||||
end)
|
||||
if tractor ~= nil then
|
||||
used[tractor.id] = true
|
||||
table.insert(result, {implement = implement, tractor = tractor})
|
||||
end
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
-- Ventende marker prøver igen på fælles taktslag (ikke hver sin 30 s fra eget forsøg): så udløber de i samme
|
||||
-- tick, og køens rækkefølge (længst ventende først) afgør hvem der får den næste ledige traktor.
|
||||
function ADPool.alignedRetry(nowMs, periodMs)
|
||||
|
||||
Reference in New Issue
Block a user