@@ -505,7 +505,9 @@ function AIDriveStrategyFieldWorkCourse:returnToStartAfterDone()
505505 if not self .pathfinder or not self .pathfinder :isActive () then
506506 self .pathfindingStartedAt = g_currentMission .time
507507 self :debug (' Return to first waypoint' )
508- local context = PathfinderContext (self .vehicle ):allowReverse (self :getAllowReversePathfinding ())
508+ local context = PathfinderContext (self .vehicle )
509+ :allowReverse (self :getAllowReversePathfinding ())
510+ :ignoreFruit (not self .settings .avoidFruit :getValue ())
509511 local result
510512 self .pathfinder , result = PathfinderUtil .startPathfindingFromVehicleToWaypoint (
511513 self .fieldWorkCourse , 1 , 0 , 0 , context )
@@ -545,7 +547,9 @@ function AIDriveStrategyFieldWorkCourse:startPathfindingToNextWaypoint(ix)
545547 self .turnNodes , self :getWorkWidth (), fm , bm , self :getTurnEndSideOffset (false ), self :getTurnEndForwardOffset ())
546548 local _ , steeringLength = AIUtil .getSteeringParameters (self .vehicle )
547549 local targetNode , zOffset = self .turnContext :getTurnEndNodeAndOffsets (steeringLength )
548- local context = PathfinderContext (self .vehicle ):allowReverse (self :getAllowReversePathfinding ())
550+ local context = PathfinderContext (self .vehicle )
551+ :allowReverse (self :getAllowReversePathfinding ())
552+ :ignoreFruit (not self .settings .avoidFruit :getValue ())
549553 self .waypointToContinueOnFailedPathfinding = ix + 1
550554 self .pathfinderController :registerListeners (self , self .onPathfindingDoneToNextWaypoint ,
551555 self .onPathfindingFailedToNextWaypoint )
@@ -609,7 +613,7 @@ function AIDriveStrategyFieldWorkCourse:startConnectingPath(ix)
609613 local _ , steeringLength = AIUtil .getSteeringParameters (self .vehicle )
610614 local targetNode , zOffset = self .turnContext :getTurnEndNodeAndOffsets (steeringLength )
611615 local context = PathfinderContext (self .vehicle ):allowReverse (self :getAllowReversePathfinding ())
612- context :preferredPath (connectingPath ):mustBeAccurate (true )
616+ context :preferredPath (connectingPath ):mustBeAccurate (true ): ignoreFruit ( not self . settings . avoidFruit : getValue ())
613617 if # connectingPath < 2 then
614618 self :debug (' Connecting path has only %d waypoint, use an alignment course instead' , # connectingPath )
615619 self .workStarterCourse = self :createAlignmentCourse (self .fieldWorkCourse , targetWaypointIx )
0 commit comments