fix(markarbejde): utoppede kartofler (forberedelige stadier) tæller som høstklare; klargøring på en mark med uhøstet afgrøde spoles tilbage til klar (F16) (v1.34.2.0)
This commit is contained in:
@@ -31,6 +31,10 @@ ADFieldJobs.ACTIVE_PHASES = {driving = true, starting = true, waitingCourse = tr
|
||||
-- Andel græs i mellemhøjde (høstbart, men halv ydelse) der får en afbrudt slåning til at vente.
|
||||
ADFieldJobs.REGROW_RATIO = 0.1
|
||||
|
||||
-- Trin efter høsten der ødelægger/ignorerer en stående afgrøde.
|
||||
ADFieldJobs.PREP_STAGES = {strawCollecting = true, baling = true, baleCollecting = true, mulching = true, liming = true,
|
||||
plowing = true, cultivating = true, sowing = true, rolling = true}
|
||||
|
||||
-- ---- ren beslutning ----
|
||||
|
||||
-- Er afgrøden taget (trin med afgrøde)? Slåning: under 50 % står. Høst: marken er bar eller under 50 %.
|
||||
@@ -65,6 +69,12 @@ function ADFieldJobs.decide(field, info, assignments, now, env)
|
||||
return {action = "start"}
|
||||
end
|
||||
end
|
||||
-- klargøring på en mark hvor afgrøden står uhøstet: tilbage til klar (in-game 27/9 F16: kartofler
|
||||
-- blev regnet som høstet, og marken stod til kultivering med afgrøden i jorden)
|
||||
if ADFieldJobs.PREP_STAGES[field.stage] and info ~= nil and info.kind == "harvest" and info.phase == "ready"
|
||||
and (info.readyRatio or 0) >= ADFieldModel.READY_RATIO then
|
||||
return {action = "rewind"}
|
||||
end
|
||||
if not ADFieldModel.isWorking(field) then
|
||||
local care = ADFieldModel.careNeed(field, info)
|
||||
if care == nil then return {action = "none"} end
|
||||
@@ -256,6 +266,11 @@ local function stepField(adEnv, info, env)
|
||||
ADFieldJobs.setField(started)
|
||||
ADFieldJobs.log(info.id, "starter (%s: %s)", tostring(info.kind), started.stage)
|
||||
ADFieldJobs.save()
|
||||
elseif decision.action == "rewind" then
|
||||
ADFieldJobs.setField(ADFieldModel.with(field, {stage = "ready", retryAt = 0, reason = false}))
|
||||
ADFieldWork.windDownHelpers(adEnv, info.id, field.stage)
|
||||
ADFieldJobs.log(info.id, "%s -> ready: afgrøden står stadig uhøstet (%.0f %% klar)", field.stage, (info.readyRatio or 0) * 100)
|
||||
ADFieldJobs.save()
|
||||
elseif decision.action == "care" then
|
||||
ADFieldJobs.setField(ADFieldModel.startCare(field, decision.stage))
|
||||
ADFieldJobs.log(info.id, "pleje: %s", decision.stage)
|
||||
|
||||
Reference in New Issue
Block a user