def move_organ(self, new_location: int, cost: float, shortest_path: shortest_path_structure) -> None:
    "\n        This function allows an organ's attributes to be altered to represent it's\n        transportation across the network. This is intended to be used with\n        Dijkstra.shortest_path (this will be the source of the cost parameter)\n\n        :param int new_location: node id representing the destination location\n        :param cost: weight/cost associated with then most efficient path\n        :param list shortest_path: transit path taken when moving organ\n        "
    if (self.viability < cost):
        print('ERROR: organ no longer viable!')
        return
    (path, weight) = shortest_path
    self.path = path
    self.current_location = new_location
    self.viability -= cost
This function allows an organ's attributes to be altered to represent it's
transportation across the network. This is intended to be used with
Dijkstra.shortest_path (this will be the source of the cost parameter)

:param int new_location: node id representing the destination location
:param cost: weight/cost associated with then most efficient path
:param list shortest_path: transit path taken when moving organ
def move_organ(self, new_location: int, cost: float, shortest_path: shortest_path_structure) -> None:
    "\n        This function allows an organ's attributes to be altered to represent it's\n        transportation across the network. This is intended to be used with\n        Dijkstra.shortest_path (this will be the source of the cost parameter)\n\n        :param int new_location: node id representing the destination location\n        :param cost: weight/cost associated with then most efficient path\n        :param list shortest_path: transit path taken when moving organ\n        "
    if (self.viability < cost):
        print('ERROR: organ no longer viable!')
        return
    (path, weight) = shortest_path
    self.path = path
    self.current_location = new_location
    self.viability -= cost