Я, должно быть, непонятно изъясняюсь... Связь "Рыцарь -> спецюнит-рыцарь -> Кавалерист -> Сипай -> Казак" как раз "при чём". Если ты посмотришь механизм апгрейда, заданный в редакторе, то увидишь, что именно эта связь обеспечивает универсальный апгрейд, охватывающий и стандартных, и уникальных юнитов.
А как, по-твоему, можно еще задать, чтобы рыцарь апгрейдился и в кавалериста, и в казака, и в сипая? Ведь в редакторе можно указать только одного юнита, в которого он будет апгрейдиться. Допустим, задано у тебя, что рыцарь превращается в кавалериста, а кавалерист - ни в кого. Тогда казак из рыцаря у тебя никак не получится.