this is the point which is happening, as initially shouldMove == false, therefor the position is set back to the original here. Later `unit->getCenter()` is used in the PreMoveMessage