@@ -204,7 +204,7 @@ function AIDriveStrategyUnloadCombine:init(task, job)
204204 self .debugChannel = CpDebug .DBG_UNLOAD_COMBINE
205205 --- @type ImplementController[]
206206 self .controllers = {}
207- self .combineOffset = 0
207+ self .followingCourseOffset = 0
208208 self .distanceToCombine = math.huge
209209 self .distanceToFront = 0
210210 self .combineToUnloadReversing = 0
690690function AIDriveStrategyUnloadCombine :unloadMovingChopper ()
691691
692692 -- recalculate offset, just in case
693- self .combineOffset = self :getPipeOffset (self .combineToUnload )
694- self .followCourse :setOffset (- self .combineOffset , 0 )
693+ self .followingCourseOffset = self :getFollowingCourseOffset (self .combineToUnload )
694+ self .followCourse :setOffset (self .followingCourseOffset , 0 )
695695
696696 if self :changeToUnloadWhenTrailerFull () then
697697 return
@@ -1094,6 +1094,13 @@ function AIDriveStrategyUnloadCombine:getPipeOffset(combine)
10941094 end
10951095end
10961096
1097+ --- @return number offset X for the course to follow the combine , this is the pipe offset and the combine courser offset
1098+ function AIDriveStrategyUnloadCombine :getFollowingCourseOffset (combine )
1099+ local pipeOffset = self :getPipeOffset ()
1100+ local courseOffset = combine :getCpDriveStrategy ():getFieldworkCourse ():getOffset ()
1101+ return - pipeOffset + courseOffset
1102+ end
1103+
10971104function AIDriveStrategyUnloadCombine :getAutoAimPipeOffsetX ()
10981105 return self .autoAimPipeOffsetX and self .autoAimPipeOffsetX :get () or 0
10991106end
@@ -1402,8 +1409,8 @@ end
14021409function AIDriveStrategyUnloadCombine :startCourseFollowingCombine ()
14031410 local startIx
14041411 self .followCourse , startIx = self :setupFollowCourse ()
1405- self .combineOffset = self :getPipeOffset (self .combineToUnload )
1406- self .followCourse :setOffset (- self .combineOffset , 0 )
1412+ self .followingCourseOffset = self :getFollowingCourseOffset (self .combineToUnload )
1413+ self .followCourse :setOffset (self .followingCourseOffset , 0 )
14071414 self .reverseForTurnCourse = nil
14081415 self :debug (' Will follow combine\' s course at waypoint %d, side offset %.1f' , startIx , self .followCourse .offsetX )
14091416 self :startCourse (self .followCourse , startIx )
@@ -1988,8 +1995,8 @@ end
19881995function AIDriveStrategyUnloadCombine :unloadMovingCombine ()
19891996
19901997 -- allow on the fly offset changes
1991- self .combineOffset = self :getPipeOffset (self .combineToUnload )
1992- self .followCourse :setOffset (- self .combineOffset , 0 )
1998+ self .followingCourseOffset = self :getFollowingCourseOffset (self .combineToUnload )
1999+ self .followCourse :setOffset (self .followingCourseOffset , 0 )
19932000
19942001 if self :changeToUnloadWhenTrailerFull () then
19952002 return
@@ -2046,8 +2053,8 @@ function AIDriveStrategyUnloadCombine:unloadMovingCombine()
20462053 self .followCourse :getCurrentWaypointIx (),
20472054 self .followCourse :getCurrentWaypointIx () - 10 ,
20482055 true )
2049- self .followCourse = Course .createStraightForwardCourse (self .vehicle , 20 , - self .combineOffset )
2050- self .followCourse :setOffset (- self .combineOffset , 0 )
2056+ self .followCourse = Course .createStraightForwardCourse (self .vehicle , 20 , self .followingCourseOffset )
2057+ self .followCourse :setOffset (self .followingCourseOffset , 0 )
20512058 self :startCourse (self .followCourse , 1 )
20522059 elseif not self :isBehindAndAlignedToCombine () and not self :isInFrontAndAlignedToMovingCombine () then
20532060 -- call these again just to log the reason
@@ -2344,7 +2351,7 @@ function AIDriveStrategyUnloadCombine:startMakingRoomForCombineTurningOnHeadland
23442351 self .ppc :setNormalLookaheadDistance ()
23452352 if self .reverseForTurnCourse then
23462353 -- if we have a follow course from before the turn, then use that
2347- self .reverseForTurnCourse :setOffset (- self .combineOffset , 0 )
2354+ self .reverseForTurnCourse :setOffset (self .followingCourseOffset , 0 )
23482355 self :startCourse (self .reverseForTurnCourse , 1 )
23492356 else
23502357 local reverseCourse = Course .createStraightReverseCourse (self .vehicle ,
0 commit comments