@@ -90,10 +90,10 @@ def rotate_group_around(group: DictWrapper, pivot: tuple[float, float], degrees_
9090 for unit in group .units :
9191 distance = distance_to_point (pivot [0 ], pivot [1 ], unit .x , unit .y )
9292 heading = heading_between_points (pivot [0 ], pivot [1 ], unit .x , unit .y )
93- new_heading = Heading .from_degrees (heading + degrees_change ).degrees
93+ new_heading = Heading .from_degrees (heading + degrees_change ).radians
9494
9595 unit .x , unit .y = point_from_heading (pivot [0 ], pivot [1 ], new_heading , distance )
96- unit .heading = Heading .from_degrees (unit .heading + degrees_change ).degrees
96+ unit .heading = Heading .from_degrees (unit .heading + degrees_change ).radians
9797
9898
9999def relocate_carrier (_ : dict , reference : dict , ** kwargs ):
@@ -115,13 +115,16 @@ def relocate_carrier(_: dict, reference: dict, **kwargs):
115115 )
116116 group_position_before_change = (route .points [0 ].x , route .points [0 ].y )
117117
118- if len (route .points ) < 4 :
119- logger .error (f"Carrier group { reference ['name' ]} missing waypoint" )
120- return
121- # TODO
118+ while len (route .points ) < 4 :
119+ route .points .append (route .points [- 1 ].clone ())
122120
123- route .points [0 ].x = reference ['x' ] = carrier_start_pos [0 ]
124- route .points [0 ].y = reference ['y' ] = carrier_start_pos [1 ]
121+ # update the groups position
122+ reference ['x' ] = carrier_start_pos [0 ]
123+ reference ['y' ] = carrier_start_pos [1 ]
124+
125+ # change the waypoints
126+ route .points [0 ].x = carrier_start_pos [0 ]
127+ route .points [0 ].y = carrier_start_pos [1 ]
125128 route .points [0 ].speed = cruise .speed .meters_per_second
126129
127130 route .points [1 ].x = carrier_end_pos [0 ]
0 commit comments