feat(markarbejde): høsten er færdig men høsteren har korn i tanken -> CP genstartes og venter ved kursets ende, tømmevogn sendes ud, marken går først videre når tanken er tom (én gang pr. mark) (v1.43.0.0)
This commit is contained in:
@@ -116,6 +116,13 @@ function ADFieldJobs.startTimedOut(elapsed, generating)
|
||||
return elapsed > (generating and ADFieldJobs.COURSE_GENERATE_MS or ADFieldJobs.START_MS)
|
||||
end
|
||||
|
||||
-- Høsten er færdig, men høsteren har korn i tanken: tøm den på marken før marken går videre (én gang pr. mark).
|
||||
-- s = {fill, near, busy, controlled, tried}
|
||||
ADFieldJobs.emptyAttempts = {}
|
||||
function ADFieldJobs.shouldEmptyHarvester(s)
|
||||
return (s.fill or 0) > 0 and s.near == true and not s.busy and not s.controlled and not s.tried
|
||||
end
|
||||
|
||||
-- Beslutning for én mark. assignments = sæt på marken ({phase, stage, helper}); kun sæt på det aktuelle
|
||||
-- trin tæller (en aflæsningsvogn på vej hjem fra høsten forstyrrer ikke kultiveringen).
|
||||
-- env = {raining = bool}: vejrfølsomme trin (høst/slå/vend/riv/hø) sendes ikke ud i regn.
|
||||
@@ -379,6 +386,12 @@ local function stepField(adEnv, info, env)
|
||||
ADFieldJobs.log(info.id, "pleje: %s", decision.stage)
|
||||
ADFieldJobs.save()
|
||||
elseif decision.action == "advance" then
|
||||
-- høsteren har stadig korn i tanken: CP genstartes og venter ved kursets ende, tømmevognene kommer
|
||||
-- (marken bliver på høst til tanken er tom) — in-game 27/9 F15
|
||||
if field.stage == "harvesting" and ADFieldWork.tryEmptyHarvester ~= nil then
|
||||
local okEmpty, emptying = pcall(ADFieldWork.tryEmptyHarvester, adEnv, field, info)
|
||||
if okEmpty and emptying then return end
|
||||
end
|
||||
local nextField = ADFieldModel.advance(field, info.needs)
|
||||
ADFieldJobs.setField(nextField)
|
||||
ADFieldJobs.forgetFinished(info.id)
|
||||
|
||||
Reference in New Issue
Block a user