In ground battles, unit's rank is represented by a single number, rankInt. For friendly units, this rank starts with 0 for rookies, and goes up to 5 for commander. However, for the enemies, this number does not represent a unit's military rank, but is instead the unit's race member index (limited to 7), which usually has the opposite order. So this number has two different meanings, depending on which faction the unit belongs to.
This creates a problem with formulae which contain rank. Some mods have items where damage scales with rank. If you put such an item in the hands of a common enemy soldier, the item will suddenly do very high damage, because the race member index of such a soldier has a high rankInt number.
So, I think that for better consistency, the number used for rank in formulae should always come only from unit's military rank:
STR_LIVE_SOLDIER = STR_LIVE_TERRORIST = STR_ROOKIE = 0
STR_LIVE_NAVIGATOR = STR_SQUADDIE = 1
STR_LIVE_MEDIC = STR_SERGEANT = 2
STR_LIVE_ENGINEER = STR_CAPTAIN = 3
STR_LIVE_LEADER = STR_COLONEL = 4
STR_LIVE_COMMANDER = STR_COMMANDER = 5