fix(markarbejde): kultivering/pløjning måles på jorden — er ≥95 % af marken klargjort/pløjet, går trinnet videre uden at sende maskinen ud igen (også efter genindlæsning; F17 blev kultiveret 3 gange) (v1.50.3.0)
This commit is contained in:
@@ -34,6 +34,11 @@ ADFieldJobs.ACTIVE_PHASES = {fetching = true, driving = true, starting = true, w
|
||||
ADFieldJobs.REGROW_RATIO = 0.1
|
||||
|
||||
-- Trin efter høsten der ødelægger/ignorerer en stående afgrøde.
|
||||
-- Klargøring der kan måles på jorden: trin -> info-felt (andel af marken). Kultivering er gjort når jorden er
|
||||
-- klargjort (kultiveret/pløjet/såbed/stubbearbejdet); pløjning først når den er pløjet.
|
||||
ADFieldJobs.GROUND_PREP_STAGES = {cultivating = "prepared", plowing = "plowed"}
|
||||
ADFieldJobs.PREPARED_DONE_RATIO = 0.95
|
||||
|
||||
ADFieldJobs.PREP_STAGES = {strawCollecting = true, baling = true, baleCollecting = true, mulching = true, liming = true,
|
||||
plowing = true, cultivating = true, sowing = true, rolling = true}
|
||||
|
||||
@@ -190,6 +195,12 @@ function ADFieldJobs.decide(field, info, assignments, now, env)
|
||||
if active == 0 then
|
||||
-- afgrøden er væk (sluppet undervejs, genindlæst, eller færdig): videre
|
||||
if isCropStage and cropGone(field.stage, info) then return {action = "advance"} end
|
||||
-- klargøringen er allerede gjort (målt på jorden): videre — også efter genindlæsning, hvor
|
||||
-- opgaven ikke er husket (in-game 28/9: F17 blev kultiveret 3 gange)
|
||||
local groundKey = ADFieldJobs.GROUND_PREP_STAGES[field.stage]
|
||||
if groundKey ~= nil and info ~= nil and type(info[groundKey]) == "number" and info[groundKey] >= ADFieldJobs.PREPARED_DONE_RATIO then
|
||||
return {action = "advance"}
|
||||
end
|
||||
if finished > 0 then
|
||||
local maxPasses = ADFieldJobs.MAX_PASSES * ADFieldModel.maxRigs(field.stage, field.plan)
|
||||
if not isCropStage or finished >= maxPasses then return {action = "advance"} end
|
||||
|
||||
Reference in New Issue
Block a user