Several unique units are given when they are requested by the startunits setting.
"The function that gives these units is crole_to_unit_type() in server/gamehand.c: if it fails grant a buildable unit of the role to the player, it just takes the first ruleset's one resorting to get_role_unit() in common/unittype.c, and that function (used elsewhere, don't change) does not care about uniqueness."
get_role_unit() couldn't care about uniqueness even if it wanted - it has no unit list to check the uniqueness within. As for crole_to_unit_type() users, it seems to me that all of them would want the uniqueness check when they give pplayer, or would not care.
Split from https://www.hostedredmine.com/issues/870631 reported by Alexandro Ignatiev.
Several unique units are given when they are requested by the startunits setting.
"The function that gives these units is crole_to_unit_type() in server/gamehand.c: if it fails grant a buildable unit of the role to the player, it just takes the first ruleset's one resorting to get_role_unit() in common/unittype.c, and that function (used elsewhere, don't change) does not care about uniqueness."
get_role_unit() couldn't care about uniqueness even if it wanted - it has no unit list to check the uniqueness within. As for crole_to_unit_type() users, it seems to me that all of them would want the uniqueness check when they give pplayer, or would not care.