feat(kæde): marker kan markeres fri til kæden; målafgrødens kilde huskes
This commit is contained in:
@@ -146,7 +146,7 @@ end
|
|||||||
|
|
||||||
local PLAN_VALUES = {
|
local PLAN_VALUES = {
|
||||||
targetFruit = true, sow = true, rake = true, mulch = true, lime = true, roll = true,
|
targetFruit = true, sow = true, rake = true, mulch = true, lime = true, roll = true,
|
||||||
fertilize = true, weed = true, straw = true, soil = true, rigs = true, unloaders = true,
|
fertilize = true, weed = true, straw = true, chainFree = true, soil = true, rigs = true, unloaders = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
function ADFieldGuide.choose(guide, id, value)
|
function ADFieldGuide.choose(guide, id, value)
|
||||||
@@ -206,6 +206,7 @@ local function rowsCrop(guide)
|
|||||||
if target(guide.draft) == "" and info(guide).kind ~= "mowable" then
|
if target(guide.draft) == "" and info(guide).kind ~= "mowable" then
|
||||||
table.insert(rows, toggle("sow", L("spu_guide_crop_sowAgain"), plan.sow))
|
table.insert(rows, toggle("sow", L("spu_guide_crop_sowAgain"), plan.sow))
|
||||||
end
|
end
|
||||||
|
table.insert(rows, toggle("chainFree", L("spu_field_chainFree"), plan.chainFree))
|
||||||
return rows
|
return rows
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -442,6 +443,8 @@ end
|
|||||||
function ADFieldGuide.result(guide, start)
|
function ADFieldGuide.result(guide, start)
|
||||||
local draft = guide.draft
|
local draft = guide.draft
|
||||||
local plan = ADGuide.deepCopy(draft.plan)
|
local plan = ADGuide.deepCopy(draft.plan)
|
||||||
|
-- kilden ejes af setTarget; kladdens gamle værdi må ikke overskrive den
|
||||||
|
plan.targetSource = nil
|
||||||
local t = plan.targetFruit or ""
|
local t = plan.targetFruit or ""
|
||||||
if t ~= "" then
|
if t ~= "" then
|
||||||
plan.mode = "auto"
|
plan.mode = "auto"
|
||||||
|
|||||||
@@ -309,8 +309,8 @@ function ADFieldJobs.forceReady(id)
|
|||||||
ADFieldJobs.setField(ADFieldModel.forceReady(ADFieldJobs.getField(id)))
|
ADFieldJobs.setField(ADFieldModel.forceReady(ADFieldJobs.getField(id)))
|
||||||
end
|
end
|
||||||
|
|
||||||
function ADFieldJobs.setTarget(id, fruitName)
|
function ADFieldJobs.setTarget(id, fruitName, source)
|
||||||
ADFieldJobs.setField(ADFieldModel.setTarget(ADFieldJobs.getField(id), fruitName))
|
ADFieldJobs.setField(ADFieldModel.setTarget(ADFieldJobs.getField(id), fruitName, source))
|
||||||
ADFieldJobs.log(id, "mål-afgrøde: %s", fruitName ~= "" and fruitName or "ingen")
|
ADFieldJobs.log(id, "mål-afgrøde: %s", fruitName ~= "" and fruitName or "ingen")
|
||||||
ADFieldJobs.save()
|
ADFieldJobs.save()
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -43,6 +43,8 @@ local DEFAULT_PLAN = {
|
|||||||
mode = "manual", product = "auto", rake = false, rigs = 1, unloaders = 1,
|
mode = "manual", product = "auto", rake = false, rigs = 1, unloaders = 1,
|
||||||
mulch = false, lime = true, soil = "auto", sow = false, sowFruit = "", roll = false,
|
mulch = false, lime = true, soil = "auto", sow = false, sowFruit = "", roll = false,
|
||||||
fertilize = true, weed = true, targetFruit = "", prepAfterMow = false, straw = "chop",
|
fertilize = true, weed = true, targetFruit = "", prepAfterMow = false, straw = "chop",
|
||||||
|
-- kæde: marken er frigivet til produktionskæden; hvem der valgte målafgrøden ("user"|"chain"|"")
|
||||||
|
chainFree = false, targetSource = "",
|
||||||
}
|
}
|
||||||
local STRAW_VALUES = {chop = true, collect = true, bale = true}
|
local STRAW_VALUES = {chop = true, collect = true, bale = true}
|
||||||
-- halm-trin efter høst (mejetærskeren lægger skår når halmen skal bruges)
|
-- halm-trin efter høst (mejetærskeren lægger skår når halmen skal bruges)
|
||||||
@@ -158,9 +160,11 @@ end
|
|||||||
|
|
||||||
-- Vælg mål-afgrøde fra menuen ("" = ingen). Med mål kører marken automatisk; en færdig/klar mark sættes
|
-- Vælg mål-afgrøde fra menuen ("" = ingen). Med mål kører marken automatisk; en færdig/klar mark sættes
|
||||||
-- til venter, så den kan starte forfra. Uden mål: tilbage til manuel.
|
-- til venter, så den kan starte forfra. Uden mål: tilbage til manuel.
|
||||||
function ADFieldModel.setTarget(field, fruitName)
|
function ADFieldModel.setTarget(field, fruitName, source)
|
||||||
local copy = copyField(field)
|
local copy = copyField(field)
|
||||||
copy.plan.targetFruit = fruitName or ""
|
copy.plan.targetFruit = fruitName or ""
|
||||||
|
-- kilden huskes kun mens der er et mål; standard er at spilleren valgte det
|
||||||
|
copy.plan.targetSource = copy.plan.targetFruit ~= "" and (source or "user") or ""
|
||||||
copy.held = nil
|
copy.held = nil
|
||||||
copy.plan.mode = copy.plan.targetFruit ~= "" and "auto" or "manual"
|
copy.plan.mode = copy.plan.targetFruit ~= "" and "auto" or "manual"
|
||||||
if not ADFieldModel.isWorking(field) and field.stage == "done" then
|
if not ADFieldModel.isWorking(field) and field.stage == "done" then
|
||||||
@@ -463,6 +467,7 @@ function ADFieldModel.toRecord(field)
|
|||||||
soil = plan.soil, sow = flag(plan.sow), sowFruit = plan.sowFruit or "", roll = flag(plan.roll),
|
soil = plan.soil, sow = flag(plan.sow), sowFruit = plan.sowFruit or "", roll = flag(plan.roll),
|
||||||
fertilize = flag(plan.fertilize), weed = flag(plan.weed),
|
fertilize = flag(plan.fertilize), weed = flag(plan.weed),
|
||||||
targetFruit = plan.targetFruit or "", prepAfterMow = flag(plan.prepAfterMow), straw = plan.straw or "chop",
|
targetFruit = plan.targetFruit or "", prepAfterMow = flag(plan.prepAfterMow), straw = plan.straw or "chop",
|
||||||
|
chainFree = flag(plan.chainFree), targetSource = plan.targetSource or "",
|
||||||
kind = field.kind or "", lastFruit = field.lastFruit or "", care = table.concat(care, " "),
|
kind = field.kind or "", lastFruit = field.lastFruit or "", care = table.concat(care, " "),
|
||||||
mowWidth = field.mowWidth or 0,
|
mowWidth = field.mowWidth or 0,
|
||||||
mowVehicle = field.mowVehicleId or "",
|
mowVehicle = field.mowVehicleId or "",
|
||||||
@@ -503,6 +508,9 @@ function ADFieldModel.fromRecord(record)
|
|||||||
plan.weed = readFlag(record.weed, true)
|
plan.weed = readFlag(record.weed, true)
|
||||||
plan.targetFruit = record.targetFruit or ""
|
plan.targetFruit = record.targetFruit or ""
|
||||||
plan.prepAfterMow = readFlag(record.prepAfterMow, false)
|
plan.prepAfterMow = readFlag(record.prepAfterMow, false)
|
||||||
|
plan.chainFree = readFlag(record.chainFree, false)
|
||||||
|
-- gamle saves: et eksisterende mål er valgt af spilleren
|
||||||
|
plan.targetSource = record.targetSource or (plan.targetFruit ~= "" and "user" or "")
|
||||||
plan.straw = STRAW_VALUES[record.straw] and record.straw or "chop"
|
plan.straw = STRAW_VALUES[record.straw] and record.straw or "chop"
|
||||||
field.kind = readText(record.kind)
|
field.kind = readText(record.kind)
|
||||||
field.lastFruit = readText(record.lastFruit)
|
field.lastFruit = readText(record.lastFruit)
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ ADFieldStorage.FIELD_TYPES = {
|
|||||||
rigs = "Int", unloaders = "Int", mulch = "Int", lime = "Int", soil = "String", sow = "Int",
|
rigs = "Int", unloaders = "Int", mulch = "Int", lime = "Int", soil = "String", sow = "Int",
|
||||||
sowFruit = "String", roll = "Int", fertilize = "Int", weed = "Int",
|
sowFruit = "String", roll = "Int", fertilize = "Int", weed = "Int",
|
||||||
kind = "String", lastFruit = "String", care = "String", targetFruit = "String", prepAfterMow = "Int", straw = "String",
|
kind = "String", lastFruit = "String", care = "String", targetFruit = "String", prepAfterMow = "Int", straw = "String",
|
||||||
|
chainFree = "Int", targetSource = "String",
|
||||||
mowWidth = "Float", mowVehicle = "String", rakeVehicle = "String", harvestVehicle = "String", windrowOffset = "String",
|
mowWidth = "Float", mowVehicle = "String", rakeVehicle = "String", harvestVehicle = "String", windrowOffset = "String",
|
||||||
dedicated = "String",
|
dedicated = "String",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -167,6 +167,7 @@
|
|||||||
<text name="spu_field_careNeed" text="trænger til %s"/>
|
<text name="spu_field_careNeed" text="trænger til %s"/>
|
||||||
<text name="spu_field_fertilize" text="Gød op til max (når afgrøden vokser)"/>
|
<text name="spu_field_fertilize" text="Gød op til max (når afgrøden vokser)"/>
|
||||||
<text name="spu_field_lime" text="Kalk når jorden trænger"/>
|
<text name="spu_field_lime" text="Kalk når jorden trænger"/>
|
||||||
|
<text name="spu_field_chainFree" text="Fri til kæden (moden må skifte afgrøde)"/>
|
||||||
<text name="spu_field_mulch" text="Stubbehakning efter høst"/>
|
<text name="spu_field_mulch" text="Stubbehakning efter høst"/>
|
||||||
<text name="spu_field_need_fert" text="gødning"/>
|
<text name="spu_field_need_fert" text="gødning"/>
|
||||||
<text name="spu_field_need_lime" text="kalk"/>
|
<text name="spu_field_need_lime" text="kalk"/>
|
||||||
|
|||||||
@@ -167,6 +167,7 @@
|
|||||||
<text name="spu_field_careNeed" text="needs %s"/>
|
<text name="spu_field_careNeed" text="needs %s"/>
|
||||||
<text name="spu_field_fertilize" text="Fertilize to max (while the crop grows)"/>
|
<text name="spu_field_fertilize" text="Fertilize to max (while the crop grows)"/>
|
||||||
<text name="spu_field_lime" text="Lime when the soil needs it"/>
|
<text name="spu_field_lime" text="Lime when the soil needs it"/>
|
||||||
|
<text name="spu_field_chainFree" text="Free for chains (mod may change the crop)"/>
|
||||||
<text name="spu_field_mulch" text="Mulch stubble after harvest"/>
|
<text name="spu_field_mulch" text="Mulch stubble after harvest"/>
|
||||||
<text name="spu_field_need_fert" text="fertilizer"/>
|
<text name="spu_field_need_fert" text="fertilizer"/>
|
||||||
<text name="spu_field_need_lime" text="lime"/>
|
<text name="spu_field_need_lime" text="lime"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user