fix(markarbejde): høst er først færdig når under 5 % af hele marken står (standingRatio); klargøring med mere stående afgrøde spoles tilbage — en halvt høstet mark kunne gå til kultivering (v1.42.3.0)

This commit is contained in:
2026-09-27 16:47:57 +02:00
parent 5ceb7da87d
commit 3ec4aaa179
3 changed files with 22 additions and 3 deletions
+9 -2
View File
@@ -39,10 +39,16 @@ ADFieldJobs.PREP_STAGES = {strawCollecting = true, baling = true, baleCollecting
-- ---- ren beslutning ----
-- Er afgrøden taget (trin med afgrøde)? Slåning: under 50 % står. Høst: marken er bar eller under 50 %.
-- Er afgrøden taget (trin med afgrøde)? Slåning: under 50 % står. Høst: marken er bar, eller under 5 % af HELE
-- marken står (rester i hjørnerne). readyRatio regner kun med den afgrøde der er tilbage, så en halvt høstet mark
-- lignede "væk" (in-game 27/9 F111 gik til kultivering med halvdelen stående).
ADFieldJobs.HARVEST_DONE_RATIO = 0.05
local function cropGone(stage, info)
if info == nil then return false end
if stage == "harvesting" and info.kind == "bare" then return true end
if stage == "harvesting" and type(info.standingRatio) == "number" then
return info.standingRatio < ADFieldJobs.HARVEST_DONE_RATIO
end
return (info.readyRatio or 0) < ADFieldModel.CUT_RATIO
end
@@ -129,8 +135,9 @@ function ADFieldJobs.decide(field, info, assignments, now, env)
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)
local standing = info ~= nil and type(info.standingRatio) == "number" and info.standingRatio >= ADFieldJobs.HARVEST_DONE_RATIO
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
and (standing or (info.readyRatio or 0) >= ADFieldModel.READY_RATIO) then
return {action = "rewind"}
end
if not ADFieldModel.isWorking(field) then