fix(manuel transport): manuel høster springer kun skærebord-tjekket over når intet er monteret — F111 (hvede) valgte roeoptageren (v1.38.3.0)
This commit is contained in:
@@ -7,12 +7,14 @@ ADManualTransport = {}
|
||||
|
||||
ADManualTransport.REMIND_MS = 300000 -- påmindelse hvert 5. minut, mens moden venter på spilleren
|
||||
|
||||
-- Må høsteren vælges til marken? Manuel: ja — skærebordet monteres først på marken (tjekkes ved overtagelse).
|
||||
-- Ellers skal det monterede skærebord kunne tage afgrøden.
|
||||
-- Må høsteren vælges til marken? Det monterede skærebord/optager skal kunne tage afgrøden. Undtagelse: en manuel
|
||||
-- høster UDEN skærebord monteret (det monteres først på marken — tjekkes ved overtagelse). En roeoptager har sin
|
||||
-- optager fast på og kan aldrig tage hvede (in-game 27/9: F111 valgte roeoptageren).
|
||||
function ADManualTransport.acceptsHarvester(candidate, fruit)
|
||||
if fruit == nil then return false end
|
||||
if candidate.manual then return true end
|
||||
return candidate.fruits ~= nil and candidate.fruits[fruit] == true
|
||||
local fruits = candidate.fruits or {}
|
||||
if candidate.manual and next(fruits) == nil then return true end
|
||||
return fruits[fruit] == true
|
||||
end
|
||||
|
||||
-- Klar til overtagelse? s = {atField, fruits = {[fruit] = true}, fruit, controlled, forced}.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<modDesc descVersion="107">
|
||||
<author>masterdraco</author>
|
||||
<version>1.38.2.0</version>
|
||||
<version>1.38.3.0</version>
|
||||
<title>
|
||||
<en>AD Smart Pickup</en>
|
||||
</title>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
-- Manuel transport af brede høstere (in-game 27/9: mejetærskere med skærebord er for brede til vejene).
|
||||
dofile("FS25_ADSmartPickup/adManualTransport.lua")
|
||||
local M = ADManualTransport
|
||||
local WHEAT, BARLEY = 1, 2
|
||||
local failures = 0
|
||||
local function check(name, actual, expected)
|
||||
if actual == expected then print("OK " .. name) else
|
||||
@@ -9,13 +10,15 @@ local function check(name, actual, expected)
|
||||
print(string.format("FAIL %s: forventede %s, fik %s", name, tostring(expected), tostring(actual)))
|
||||
end
|
||||
end
|
||||
local WHEAT, BARLEY = 1, 2
|
||||
|
||||
-- valg af høster
|
||||
check("manuel høster uden skærebord kan vælges", M.acceptsHarvester({manual = true, fruits = {}}, WHEAT), true)
|
||||
check("automatisk høster uden skærebord kan ikke", M.acceptsHarvester({fruits = {}}, WHEAT), false)
|
||||
check("automatisk høster med passende skærebord", M.acceptsHarvester({fruits = {[WHEAT] = true}}, WHEAT), true)
|
||||
check("ukendt afgrøde -> ingen", M.acceptsHarvester({manual = true}, nil), false)
|
||||
-- in-game 27/9: F111 (hvede) valgte roeoptageren, fordi manuelle høstere slap for skærebord-tjekket
|
||||
check("manuel roeoptager (fast optager) kan ikke høste hvede", M.acceptsHarvester({manual = true, fruits = {[BARLEY] = true}}, WHEAT), false)
|
||||
check("manuel mejetærsker med passende skærebord monteret", M.acceptsHarvester({manual = true, fruits = {[WHEAT] = true}}, WHEAT), true)
|
||||
|
||||
-- klar til overtagelse
|
||||
local header = {[WHEAT] = true}
|
||||
|
||||
Reference in New Issue
Block a user