fix(marker): vinhøstere genkendes via spec_vineCutter (v1.60.17.0)
This commit is contained in:
@@ -169,12 +169,43 @@ function ADCpBridge.getSpecs(vehicle)
|
||||
return specs
|
||||
end
|
||||
|
||||
-- Afgrøder høsteren kan tage (alle skærebord/optagere i kæden). nil = ikke en høster.
|
||||
-- Vinhøster (fx Grégoire GL86): afgrøden vælges i konfigurationen og står i spec_vineCutter, ikke i spec_cutter
|
||||
-- (in-game 29/9: F22 hvide druer "none can do it" — moddet så aldrig vinhøstere som høstere).
|
||||
function ADCpBridge.vineFruitSet(spec)
|
||||
local fruits = {}
|
||||
if spec == nil then return fruits end
|
||||
for _, key in ipairs({"fruitTypeIndex", "fruitType"}) do
|
||||
if type(spec[key]) == "number" then fruits[spec[key]] = true end
|
||||
end
|
||||
if type(spec.fruitTypes) == "table" then
|
||||
for key, value in pairs(spec.fruitTypes) do
|
||||
if type(value) == "number" then fruits[value] = true
|
||||
elseif value == true and type(key) == "number" then fruits[key] = true end
|
||||
end
|
||||
end
|
||||
return fruits
|
||||
end
|
||||
|
||||
local vineLogged = setmetatable({}, {__mode = "k"})
|
||||
|
||||
-- Afgrøder høsteren kan tage (alle skærebord/optagere/vinhøstere i kæden). nil = ikke en høster.
|
||||
function ADCpBridge.getHarvestFruits(vehicle)
|
||||
if vehicle.spec_combine == nil then return nil end
|
||||
local fruits = {}
|
||||
for _, object in ipairs(collect(vehicle)) do
|
||||
for fruit in pairs(ADCpBridge.harvestFruitSet(object.spec_cutter)) do fruits[fruit] = true end
|
||||
if object.spec_vineCutter ~= nil then
|
||||
local vine = ADCpBridge.vineFruitSet(object.spec_vineCutter)
|
||||
for fruit in pairs(vine) do fruits[fruit] = true end
|
||||
if next(vine) == nil and not vineLogged[object] then
|
||||
-- ukendt feltnavn i denne spilversion: vis nøglerne, så reglen kan rettes
|
||||
vineLogged[object] = true
|
||||
local keys = {}
|
||||
for key, value in pairs(object.spec_vineCutter) do table.insert(keys, tostring(key) .. "=" .. type(value)) end
|
||||
table.sort(keys)
|
||||
Logging.info("ADSmartPickup: vinhøster uden afgrøde fundet — spec_vineCutter: %s", table.concat(keys, ", "))
|
||||
end
|
||||
end
|
||||
end
|
||||
return fruits
|
||||
end
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<modDesc descVersion="107">
|
||||
<author>masterdraco</author>
|
||||
<version>1.60.16.0</version>
|
||||
<version>1.60.17.0</version>
|
||||
<title>
|
||||
<en>AD Smart Pickup</en>
|
||||
</title>
|
||||
|
||||
Reference in New Issue
Block a user