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
|
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).
|
-- Må høsteren vælges til marken? Det monterede skærebord/optager skal kunne tage afgrøden. Undtagelse: en manuel
|
||||||
-- Ellers skal det monterede skærebord kunne tage afgrøden.
|
-- 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)
|
function ADManualTransport.acceptsHarvester(candidate, fruit)
|
||||||
if fruit == nil then return false end
|
if fruit == nil then return false end
|
||||||
if candidate.manual then return true end
|
local fruits = candidate.fruits or {}
|
||||||
return candidate.fruits ~= nil and candidate.fruits[fruit] == true
|
if candidate.manual and next(fruits) == nil then return true end
|
||||||
|
return fruits[fruit] == true
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Klar til overtagelse? s = {atField, fruits = {[fruit] = true}, fruit, controlled, forced}.
|
-- Klar til overtagelse? s = {atField, fruits = {[fruit] = true}, fruit, controlled, forced}.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
<modDesc descVersion="107">
|
<modDesc descVersion="107">
|
||||||
<author>masterdraco</author>
|
<author>masterdraco</author>
|
||||||
<version>1.38.2.0</version>
|
<version>1.38.3.0</version>
|
||||||
<title>
|
<title>
|
||||||
<en>AD Smart Pickup</en>
|
<en>AD Smart Pickup</en>
|
||||||
</title>
|
</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).
|
-- 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")
|
dofile("FS25_ADSmartPickup/adManualTransport.lua")
|
||||||
local M = ADManualTransport
|
local M = ADManualTransport
|
||||||
|
local WHEAT, BARLEY = 1, 2
|
||||||
local failures = 0
|
local failures = 0
|
||||||
local function check(name, actual, expected)
|
local function check(name, actual, expected)
|
||||||
if actual == expected then print("OK " .. name) else
|
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)))
|
print(string.format("FAIL %s: forventede %s, fik %s", name, tostring(expected), tostring(actual)))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local WHEAT, BARLEY = 1, 2
|
|
||||||
|
|
||||||
-- valg af høster
|
-- valg af høster
|
||||||
check("manuel høster uden skærebord kan vælges", M.acceptsHarvester({manual = true, fruits = {}}, WHEAT), true)
|
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 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("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)
|
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
|
-- klar til overtagelse
|
||||||
local header = {[WHEAT] = true}
|
local header = {[WHEAT] = true}
|
||||||
|
|||||||
Reference in New Issue
Block a user