Before a ship starts moving, its waypoint needs be known (in form of a X/Y pair, or, actually, a dX/dY displacement). Intercept resolution attempts to ensure that for intercepting ships.
If a wraparound universe is being used, ships move the shortest possible path to reach their waypoint (i.e. "100 ly to the east", not "1900 ly to the west"). After moving across a map seam, they are moved into the map again: if a ship moves 50 ly east of the right seam (outside the map), it will end up 50 ly east of the left seam (inside the map).
Speed Limit: Damage may force a ship to slow down. Note that the maximum speed is Warp 9, even if the formula yields a higher value.
Max_speed = 9 ...if ship has Hardened Engines 15 - Trunc(Damage/10) ...if ship owner is Lizards 10 - Trunc(Damage/10) ...otherwise
Basics: First, we compute the maximum distance permitted by our warp factor. This is the permitted movement distance for our ship. Both values may change during movement.
Max_dist = Warp^2 ...for normal engines Warp^2 * 2 ...for gravitonic engines Permitted_dist = Max_dist ...if ship has fuel 1 ...if ship has no fuel, and AllowNoFuelMovement is on 0 ...if ship has no fuel, and AllowNoFuelMovement is off
PHost uses a time-based reasoning to move ships. Normally, a ship has one time unit to move. It doesn't need to use that unit completely. A ship moving towards a 32 ly waypoint at Warp 8 will usually reach that waypoint after one-half time unit. Mine hits can cause the ship to stop or change speed after a particular time. If a towed ship breaks free after its tower hit a mine, for example, it can use the remaining time not used by its tower to reach its own waypoint.
The distance a ship is allowed to move is computed using the identity
Movement_distance = Max_dist * Movement_time