update unit_morph with new rank handling