src/ship_cmd.cpp
changeset 7384 cf8880d026f8
parent 7179 3e123c2b7c93
child 7439 0c0e2945c890
equal deleted inserted replaced
7383:23dcf2c27536 7384:cf8880d026f8
   278 		return;
   278 		return;
   279 	}
   279 	}
   280 
   280 
   281 	if (order->type  == v->current_order.type &&
   281 	if (order->type  == v->current_order.type &&
   282 			order->flags == v->current_order.flags &&
   282 			order->flags == v->current_order.flags &&
   283 			order->dest  == v->current_order.dest)
   283 			order->dest  == v->current_order.dest &&
       
   284 			(order->type != OT_GOTO_STATION || GetStation(order->dest)->dock_tile != 0))
   284 		return;
   285 		return;
   285 
   286 
   286 	v->current_order = *order;
   287 	v->current_order = *order;
   287 
   288 
   288 	if (order->type == OT_GOTO_STATION) {
   289 	if (order->type == OT_GOTO_STATION) {
   292 			v->last_station_visited = INVALID_STATION;
   293 			v->last_station_visited = INVALID_STATION;
   293 
   294 
   294 		st = GetStation(order->dest);
   295 		st = GetStation(order->dest);
   295 		if (st->dock_tile != 0) {
   296 		if (st->dock_tile != 0) {
   296 			v->dest_tile = TILE_ADD(st->dock_tile, ToTileIndexDiff(GetDockOffset(st->dock_tile)));
   297 			v->dest_tile = TILE_ADD(st->dock_tile, ToTileIndexDiff(GetDockOffset(st->dock_tile)));
       
   298 		} else {
       
   299 			v->cur_order_index++;
   297 		}
   300 		}
   298 	} else if (order->type == OT_GOTO_DEPOT) {
   301 	} else if (order->type == OT_GOTO_DEPOT) {
   299 		v->dest_tile = GetDepot(order->dest)->xy;
   302 		v->dest_tile = GetDepot(order->dest)->xy;
   300 	} else {
   303 	} else {
   301 		v->dest_tile = 0;
   304 		v->dest_tile = 0;